Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 18 Mar 2020 10:23:39 -0700
From:      bob prohaska <fbsd@www.zefox.net>
To:        Mark Millard <marklmi@yahoo.com>
Cc:        freebsd-arm@freebsd.org, bob prohaska <fbsd@www.zefox.net>
Subject:   Re: Upgrading u-boot on an rpi3
Message-ID:  <20200318172339.GB67865@www.zefox.net>
In-Reply-To: <4B4CF1DF-F3C0-4ED3-AAC0-4FC0A8182787@yahoo.com>
References:  <20200318054243.GA67865@www.zefox.net> <4B4CF1DF-F3C0-4ED3-AAC0-4FC0A8182787@yahoo.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Mar 17, 2020 at 11:42:09PM -0700, Mark Millard wrote:
> 
> 
> On 2020-Mar-17, at 22:42, bob prohaska <fbsd at www.zefox.net> wrote:
> 
> > Upgrading u-boot on an rpi3 running -current is turning out to be
> > more involved than expected. Updating /boot/msdos/u-boot.bin didn't
> > do the trick, getting stuck at the u-boot> prompt.
> > 
> > Backing out the change by putting the old u-boot.bin in place
> > restored the normal boot behavior, so I don't think the mischief
> > is owed to anything else I might have screwed up.
> > 
> > I noticed there was a metadata file in /usr/local/share/u-boot/u-boot-rpi3,
> > but copying that along with the new u-boot.bin to /boot/msdos
> > reproduced the previous failure.
> 
> The metadata file is involved in doing the build. Some
> look like:
> 
> METHOD=uboot-raw
> FILES="u-boot-sunxi-with-spl.bin"
> OFFSET=8
> BS=1k
> 
> (dd command information) and others like:

The reference to dd is rather confusing in this context. Has it 
something to do with cross compiling on to new bootable media?
If dd is required in self-hosting then I'm doing things very wrong.
 
> 
> METHOD=uboot-file
> FILES="u-boot.bin"
> 
> (copy file to msdosfs information). They are not
> for the ARM board to use during boot.
> 
> > This is a self-hosting machine, with ports at 528581,
> > kernel and world are at 351836. Sources are at 358976 
> > 
> > Could the self-hosting be the source of the trouble?
> > The "no mmc device at slot 0" looks rather odd, given
> > that the boot device is mmcsd0.
> 
> u-boot's identification of devices is not the same as
> FreeBSD's. "MMC Device 0" need not be "mmcsd0" at all.
> Slots do not have to be populated an mmc device.
> 
> > Here's an excerpt from the console:
> > 
> > Hit any key to stop autoboot:  0 
> > MMC Device 0 not found
> > no mmc device at slot 0
> > switch to partitions #0, OK
> > mmc1 is current device
> > Scanning mmc 1:1...
> > Found EFI removable media binary efi/boot/bootaa64.efi
> 
> Those last 2 lines above indicate that it found
> your microsd card media and its bootaa64.efi just
> fine.
> 
> How old is this file? 

Rather ancient:

-rwxr-xr-x  1 root  wheel  637000 Oct 10  2018 /boot/msdos/EFI/BOOT/bootaa64.efi

I have a newer version on a 12.x snapshot:
-rwxr-xr-x  1 root  wheel  609960 Nov  1 02:29 /mnt/EFI/BOOT/bootaa64.efi
Is it prudent to simply substitute the newer version for the older?


> Have you been updating
> it via copying /boot/loader.efi to it as > /boot/loader.efi is updated? 
Not following here. Loader.efi appears to be a file and seems to update 
during normal build/install cycles. It's unclear where bootaa64.efi comes 
from; there's only one copy in the filesystem after repeated OS update cycles. 

Thanks for reading! 

bob prohaska
> 
> I've had issues
> needing such updates when starting from old
> media [by content] that I made a large jump
> to modern content for.
>

> For reference, the RPi4 said "scanning mmc 0:1"
> and found its bootaa64.efi there. But it is
> a difference device so this would not be
> unusual.
> 
> > libfdt fdt_check_header(): FDT_ERR_BADMAGIC
> > Scanning disk mmc@7e300000.blk...
> > Found 3 disks
> > BootOrder not defined
> > EFI boot manager: Cannot load any image
> > 637000 bytes read in 63 ms (9.6 MiB/s)
> > libfdt fdt_check_header(): FDT_ERR_BADMAGIC
> > Consoles: EFI console  
> 
> The above looks normal compared to the RPi4 that
> I tested with.
> 
> The below is not like the RPi4 test.
> 
> > efipart_readwrite: rw=1, blk=0 size=1 status=2
> > efipart_readwrite: rw=1, blk=64 size=1 status=2
> > efipart_readwrite: rw=1, blk=1 size=1 status=2
> > efipart_readwrite: rw=1, blk=250085376 size=1 status=2
> > efipart_readwrite: rw=1, blk=0 size=1 status=2
> > efipart_readwrite: rw=1, blk=64 size=1 status=2
> > efipart_readwrite: rw=1, blk=1 size=1 status=2
> > efipart_readwrite: rw=1, blk=250085376 size=1 status=2
> 
> Back to normal below:
> 
> > FreeBSD/arm64 EFI loader, Revision 1.1
> > 
> >   Command line arguments: loader.efi
> >   EFI version: 2.80
> >   EFI Firmware: Das U-Boot (rev 8217.4096)
> >   Console: efi (0)
> >   Load Path: /efi\boot\bootaa64.efi
> >   Load Device: /VenHw(e61d73b9-a384-4acc-aeab-82e828f3628b)/SD(1)/SD(0)/HD(1,0x01,0,0x81f,0x18fa8)
> > Trying ESP: /VenHw(e61d73b9-a384-4acc-aeab-82e828f3628b)/SD(1)/SD(0)/HD(1,0x01,0,0x81f,0x18fa8)
> > Setting currdev to disk0p1:
> 
> Still normal above.
> 
> Not normal below:
> 
> > efipart_readwrite: rw=1, blk=0 size=1 status=2
> > efipart_readwrite: rw=1, blk=64 size=1 status=2
> > efipart_readwrite: rw=1, blk=1 size=1 status=2
> > efipart_readwrite: rw=1, blk=250085376 size=1 status=2
> > efipart_readwrite: rw=1, blk=0 size=1 status=2
> > efipart_readwrite: rw=1, blk=64 size=1 status=2
> > efipart_readwrite: rw=1, blk=1 size=1 status=2
> > efipart_readwrite: rw=1, blk=250085376 size=1 status=2
> 
> Back to normal below:
> 
> > Trying: /VenHw(e61d73b9-a384-4acc-aeab-82e828f3628b)/SD(1)/SD(0)/HD(2,0x01,0,0x197c7,0xee66839)
> > Setting currdev to disk0p2:
> 
> Not normal below:
> 
> > efipart_readwrite: rw=1, blk=0 size=1 status=2
> 
> 
> The only messages that look odd to me are the
> "efipart_readwrite:" ones.
> 
> 
> 
> For reference from the RPi4 context:
> 
> . . .
> Setting currdev to disk0p2:
> Loading /boot/defaults/loader.conf
> Loading /boot/device.hints
> Loading /boot/loader.conf
> Loading /boot/loader.conf.local
> Loading kernel...
> . . .
> 
> ===
> Mark Millard
> marklmi at yahoo.com
> ( dsl-only.net went
> away in early 2018-Mar)
> 
> 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20200318172339.GB67865>