08-10-2022, 12:07 PM
(08-09-2022, 07:20 PM)wdt Wrote: OK, I'll try to describe how the boot worksThanks for helping to fill the gaps in my PBP boot knowledge, wdt.
Please note: ALL? (nearly) images contain the 1st 16M, ie a mbr and a uboot package (2 or 3 files, in right place)
The boot rom searches SPI, emmc, SD for signature of idbloader
It is assumed that if there is an idbloader that there will be a uboot @8M on same media
Then uboot takes control, alters search order (& adds to it, ex, usb)
uboot is looking, in partitions for boot.scr, extlinux/extlinux.conf or aarch64.efi
The first one of those it finds, then it loads it and follows the config within
So... the path to kernel and initrd and dtb must be correct for a succesfull boot
Also note... uboot doesn't know if it is a 1 or 2 partition setup (and knows nothing about mount setup)
so it looks for boot/boot.scr AND boot.scr (it considers where it finds the config file to be /)
Of course, after initrd all this changes, but uboot has done its job by then and exited
I hope this was useful
-----more--
I think the idea of armbianENV.txt is that it is included (referenced) in boot.scr and doesn't need compiling,
but I don't know much about armbian........
----more explaination---
if there is a uboot on emmc, that is the one that will be used,
any uboot on SD will be IGNORED
when you install armbian to emmc, the uboot on emmc will be overwritten by uboot in image
this is the same as uboot on SD
armbians uboot does NOT work, you have proved this, I don't know why
uboot ONLY searches for the config files, all paths to kernel, initrd, dtb are in config file
when uboot loads the config file, then it knows the path to load kernel etc
I have not attempted to flash the Armbian image to either my eMMC or my NVMe, because my eMMC contains PCM720 U-boot that I used to boot my daily driver Manjaro system on NVMe (NVMe isn't useful for U-boot, because NVMe is not in the PBP's ROM boot order). I have copied Armbian files to the eMMC though, which I've often done to try different version of an operating Manjaro from and to eMMC., NVMe, or SD.
I think the problem with Armbian running from anything but the SD card is a build problem. I found other reports of this failure on the Armbian forum (tried to mount to root filesystem by UUID and failed):
https://forum.armbian.com/search/?q=UUID...st&quick=1
and my post with a link to a failure screenshot here:
https://forum.armbian.com/topic/22360-ro...ent=145200