Re: Troubles booting Pi2 from USB using bootcode.bin method

From: Mark Millard via freebsd-arm <freebsd-arm_at_freebsd.org>
Date: Thu, 28 Oct 2021 22:21:55 UTC

On 2021-Oct-28, at 12:16, bob prohaska <fbsd@www.zefox.net> wrote:

> To make a clean start on this thread I've turned on the UART
> for bootcode.bin per Mark's instructions and done a few boot
> attempts with the USB2 and USB3 mechanical disks, singly and
> in unison.
> 
> The bootlogs are in
> http://www.zefox.net/~fbsd/rpi2/bootproblems/
> 
> An immediate curiosity is that on the first try, booting
> with the USB3 device alone worked. I didn't record that
> output, unfortunately.

Hmm. Too bad.

> The second attempt failed, as expected,
> and is recorded in bootlog-fail. The third attempt booted both
> USB2 and USB3 disks together, recorded in bootlog.success.

The two logs do not have the same set of dtdebug messages
for loading bcm2709-rpi-2-b.dtb . This is long before
u-boot.bin is loaded and so is during the RPi* firmware
time frame not u_Boot or FreeBSD;s loader or FreeBSD's kernel
or FreeBSD's world.

From this I infer that there are two different msdosfs's
wtith differing content on the 2 drives and when both
drives are in place .

You have not reported on the following for either drive's
msdosfs :

# strings ???/start.elf | grep "VC_BUILD_"

Another thing of interest would be something like (both
msdosfs mounts):

# diff -rq ... ...

in order to see what files have distinctions on the
two media. A diff of the two config.txt files would be
relevant (no -q involvement).


> I'm trying to build u-boot-rpi2 and will try to update the USB3
> disk with it once complete. 
> 
> The actual boot sequence using bootcode.bin is still a bit hazy:
> Is it microSD/dos -> USB/dos ->USB/freebsd ? 
> 

Based on the log file for success the ordering is

bootcode.bin from the microsd card
config.txt (also re-read multiple times later, not listed)
start.elf
fixup.dat
bcm2709-rpi-2-b.dtb
overlays/mmc.dtbo
cmdline.txt (if it exists)
u-boot.bin
efi/boot/bootarm.efi
efi/freebsd/loader.env
/boot/defaults/loader.conf
/boot/device.hints
/boot/loader.conf
/boot/loader.conf.local
/boot/boot/kernel
/boot/kernel/fi.lemon.ko
/boot/kernel/umodem.ko
FreeBSD world


However the failing one has the following involved
(I omit various lines):

. . .
Loading 'bcm2709-rpi-2-b.dtb' to 0x100 size 0x6879
Unknown dtparam 'pwr_led_gpio' - ignored
dterror: no symbols found
dtdebug: /__overrides__ node not found
Unknown dtparam 'uart0_clkrate' - ignored
dtdebug: Opened overlay file 'overlays/mmc.dtbo'
brfs: File read: /mfs/sd/overlays/mmc.dtbo
dterror: not a valid FDT - err -9
. . .

That seqeunce makes no mention of: "using platform 'bcm2835'"
and the like. An example is: "found override pwr_led_gpio".

Again, all this looks like tehre are two msdosfs involved and
the two are not the same by content.


===
Mark Millard
marklmi at yahoo.com
( dsl-only.net went
away in early 2018-Mar)