Hi Quentin, hi List,

tl;dr my issue is solved.

On Tue, Jun 10, 2025 at 01:18:17PM +0200, Quentin Schulz wrote:
On 6/10/25 12:50 PM, Marc Haber wrote:
On Tue, Jun 10, 2025 at 12:36:23PM +0200, Quentin Schulz wrote:
On Theobroma boards (Rockchip-based), we force the environment to be
coming from the same storage medium as U-Boot proper, c.f.
board/theobroma-systems/common/common.c:arch_env_get_location()

This is the location of the U-Boot environment in raw, not in a
filesystem, so this won't apply to your use-case.

Sadly ;-)


But the logic to detect which boot medium was used is there, hence why I mentioned it :)

I looks like Debian's u-boot for Raspberry Pi actually finds boot.scr laying at the side of u-boot.bin, and the initial environment the script gets contains $devtype, $devnum, and $distro_bootpart which can be used to continue finding things. $disto_bootpart is a bit confusingly named, but since it's the only variable that always seems to contain the correct number according to the tests I did, this is about enough.

I had to explicitly code out reading of uboot.env though (that for some reason doesn't happen automatically), and while at it I added some code to also read uboot.env.asc which easier to generate and to edit.

I apologize for not finding this myself any earlier, I was led into an incorrect assumption about u-boot since the Raspberry Pi 4 is VERY picky regarding choice of SD cards with the Firmware from April 2024 that comes with current Debian. The Firmware that comes with current Raspberry Pi OS is from March 2025 and is actually much less picky regarding SD cards. I sorted out three SD cards and was about to give up on u-boot when I discovered the firmware issue in the debug output of the second stage bootloader (which needs to be explicitly enabled by uart_2ndstage=1 in config.txt).

Writing "kernel=uboot.bin" in my config.txt while the file actually was named u-boot.bin cost me an additional couple of hours. I then went to bed and spotted the missing hyphen first thing in the morning. Recommendation: Letting things rest for a while helps a lot!

As far as I have understood, if u-boot finds neither its environment
file or a boot.scr (that one comes from the environment as well, right?)
it just sits there doing nothing. It's that first step that I don't
understand.


Which first step are you talking about?

I was taling about finding the boot.scr script which now magically seems to work. I do not even need an SD card any more, everything can happen from the USB SSD. I reached my goal, can do everything with what's in Debian and thank you for your help!

Thank you very much, again, for providing u-boot, and for listening and giving answers that were able to point me in the right direction!

Cheers
Marc

--
-----------------------------------------------------------------------------
Marc Haber         | "I don't trust Computers. They | Mailadresse im Header
Leimen, Germany    |  lose things."    Winona Ryder | Fon: *49 6224 1600402
Nordisch by Nature |  How to make an American Quilt | Fax: *49 6224 1600421

Reply via email to