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

Mark Millard via freebsd-arm <[email protected]>
Newsgroups gmane.os.freebsd.devel.arm,gmane.os.freebsd.devel.ports
Message-ID <[email protected]>

On 2021-Oct-28, at 12:16, bob prohaska <[email protected]> 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)
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.