Re: FYI: FreeBSD-14.0-CURRENT-arm-armv7-GENERICSD-20220930-42dc8696df5-258315.img is broken for RPi2 v1.1 (so: armv7)g

From: Mark Millard <marklmi_at_yahoo.com>
Date: Tue, 11 Oct 2022 18:37:25 UTC
On 2022-Oct-11, at 10:15, bob prohaska <fbsd@www.zefox.net> wrote:

> On Tue, Oct 11, 2022 at 08:54:54AM -0700, Mark Millard wrote:
>> [I'd keep Warner out of our exchanges: too higih of a
>> volume. So I've dropped Warner from the reply.]
>> 
> 
> Ok, thanks.
> 
>> On 2022-Oct-11, at 08:39, bob prohaska <fbsd@www.zefox.net> wrote:
>> 
>>> 
>>> My Pi2B reporting 
>>> 
>>> FreeBSD www.zefox.com 14.0-CURRENT FreeBSD 14.0-CURRENT #12 main-2b766d5e5a: Mon Jul 11 01:38:59 PDT 2022     bob@www.zefox.com:/usr/obj/usr/src/arm.armv7/sys/GENERIC arm
>>> 
>>> is presently running buildworld on -current dated October 9th. If I'm 
>>> understanding this thread correctly, running installworld will result
>>> in an ubootable system. 
>>> 
>>> Should I refrain from running installworld for the time being?
>>> 
>> 
>> If you have a working EFI loader in the msdosfs, just do not
>> update it. installworld does not update the msdosfs.
>> 
> 
> I don't see a file by that name in /boot/msdos, but there is a
> /boot/msdos/EFI/BOOT/bootarm.efi

For the armv7, EFI/BOOT/bootarm.efi is the EFI loader,
a copy of a /boot/loader_lua.efi or /boot/loader.efi
( hard links or copies of each other in /boot/ ).

aarch64 has slightly different EFI/BOOT/boot*.efi
naming for its EFI loader.

> It's surprisingly old:
> root@www:/usr/src # ls -l /boot/msdos/EFI/BOOT/bootarm.efi
> -rwxr-xr-x  1 root  wheel  674864 Jul  2  2020 /boot/msdos/EFI/BOOT/bootarm.efi

EFI/BOOT/bootarm.efi is only updated when you go to the
trouble to update it. No standard procedure updates it.

It is fairly common that a EFI loader just works over a
long time but it can be important to update before
upgrading ZFS pools to have new features.

> Is that the EFI loader referred to? If so I think it's safe. 

Yes. For now, just do not update EFI/BOOT/bootarm.efi .

> Thanks for reading,
> 
> bob prohaska
> ps: Just for completeness, at the moment I have on microSD:

Actually the below is confusing. /boot/msdos
is supposed to be a mount point (empty directory)
at which the msdosfs can be mounted to make those
files show up there, despite being from a different
file system. (/boot/efi is similar and going forward
/boot/msdos will be a symbolic link to /boot/efi
as I understand. However, in the latest 14
snapshot it is messed up:

# ls -Tld /boot/msdos /boot/efi
drwxr-xr-x  1 root  wheel  16384 Jan  1 00:00:00 1980 /boot/efi
lrwxr-xr-x  1 root  wheel     51 Oct  7 10:36:20 2022 /boot/msdos -> /usr/obj/usr/src/arm.armv7/release/GENERIC/boot/efi

Without "df -m" and "gpart show -p" output I can
not tell what is what.

> root@www:/usr/src # find /mnt

What is mounted at /mnt ? Or is it not being used
as a mount point?

> /mnt
> /mnt/bootcode.bin [special usb-boot version]
> /mnt/timeout
> /mnt/unused
> /mnt/unused/EFI
> /mnt/unused/EFI/BOOT
> /mnt/unused/EFI/BOOT/bootarm.efi
> /mnt/unused/bcm2709-rpi-2-b.dtb
> /mnt/unused/bootcode.bin
> /mnt/unused/config.txt
> /mnt/unused/dtb
> /mnt/unused/dtb/allwinner
> /mnt/unused/dtb/overlays
> /mnt/unused/dtb/overlays/sun8i-a83t-sid.dtbo
> /mnt/unused/dtb/overlays/sun8i-h3-i2c0.dtbo
> /mnt/unused/dtb/overlays/spigen-rpi-b.dtbo
> /mnt/unused/dtb/overlays/spigen-rpi2.dtbo
> /mnt/unused/dtb/rockchip
> /mnt/unused/dtb/sun4i-a10-cubieboard.dtb
> /mnt/unused/dtb/sun4i-a10-olinuxino-lime.dtb
> /mnt/unused/dtb/sun6i-a31s-sinovoip-bpi-m2.dtb
> /mnt/unused/dtb/sun5i-a13-olinuxino.dtb
> /mnt/unused/dtb/sun5i-r8-chip.dtb
> /mnt/unused/dtb/sun7i-a20-bananapi.dtb
> /mnt/unused/dtb/sun7i-a20-cubieboard2.dtb
> /mnt/unused/dtb/sun7i-a20-lamobo-r1.dtb
> /mnt/unused/dtb/sun7i-a20-olimex-som-evb.dtb
> /mnt/unused/dtb/sun7i-a20-pcduino3.dtb
> /mnt/unused/dtb/sun8i-a83t-bananapi-m3.dtb
> /mnt/unused/dtb/sun8i-h2-plus-orangepi-r1.dtb
> /mnt/unused/dtb/sun8i-h2-plus-orangepi-zero.dtb
> /mnt/unused/dtb/sun8i-h3-nanopi-m1.dtb
> /mnt/unused/dtb/sun8i-h3-nanopi-m1-plus.dtb
> /mnt/unused/dtb/sun8i-h3-nanopi-neo.dtb
> /mnt/unused/dtb/sun8i-h3-orangepi-one.dtb
> /mnt/unused/dtb/sun8i-h3-orangepi-pc.dtb
> /mnt/unused/dtb/sun8i-h3-orangepi-plus2e.dtb
> /mnt/unused/dtb/cubieboard.dtb
> /mnt/unused/dtb/olinuxino-lime.dtb
> /mnt/unused/dtb/bananapim2.dtb
> /mnt/unused/dtb/bananapi.dtb
> /mnt/unused/dtb/cubieboard2.dtb
> /mnt/unused/dtb/olimex-a20-som-evb.dtb
> /mnt/unused/dtb/pcduino3.dtb
> /mnt/unused/dtb/sinovoip-bpi-m3.dtb
> /mnt/unused/dtb/sun8i-a83t-sinovoip-bpi-m3.dtb
> /mnt/unused/dtb/am335x-bone.dtb
> /mnt/unused/dtb/am335x-boneblack.dtb
> /mnt/unused/dtb/am335x-boneblack-wireless.dtb
> /mnt/unused/dtb/am335x-bonegreen.dtb
> /mnt/unused/dtb/am335x-bonegreen-wireless.dtb
> /mnt/unused/dtb/am335x-boneblue.dtb
> /mnt/unused/dtb/am335x-pocketbeagle.dtb
> /mnt/unused/dtb/ufw.dtb
> /mnt/unused/dtb/imx6dl-cubox-i.dtb
> /mnt/unused/dtb/imx6q-cubox-i.dtb
> /mnt/unused/dtb/imx6dl-hummingboard.dtb
> /mnt/unused/dtb/imx6q-hummingboard.dtb
> /mnt/unused/dtb/imx6dl-nitrogen6x.dtb
> /mnt/unused/dtb/imx6q-nitrogen6_max.dtb
> /mnt/unused/dtb/imx6q-nitrogen6x.dtb
> /mnt/unused/dtb/imx6qp-nitrogen6_max.dtb
> /mnt/unused/dtb/imx6sx-nitrogen6sx.dtb
> /mnt/unused/dtb/imx6dl-riotboard.dtb
> /mnt/unused/dtb/imx6dl-wandboard.dtb
> /mnt/unused/dtb/imx6dl-wandboard-revb1.dtb
> /mnt/unused/dtb/imx6q-wandboard.dtb
> /mnt/unused/dtb/imx6q-wandboard-revb1.dtb
> /mnt/unused/dtb/tegra124-jetson-tk1-fbsd.dtb
> /mnt/unused/dtb/omap4-duovero-parlor.dtb
> /mnt/unused/dtb/omap4-panda.dtb
> /mnt/unused/dtb/omap4-panda-es.dtb
> /mnt/unused/dtb/zedboard.dtb
> /mnt/unused/dtb/zybo.dtb
> /mnt/unused/fixup.dat
> /mnt/unused/fixup_cd.dat
> /mnt/unused/fixup_db.dat
> /mnt/unused/fixup_x.dat
> /mnt/unused/overlays
> /mnt/unused/overlays/mmc.dtbo
> /mnt/unused/start.elf
> /mnt/unused/start_cd.elf
> /mnt/unused/start_db.elf
> /mnt/unused/start_x.elf
> /mnt/unused/u-boot.bin
> /mnt/unused/ubldr.bin
> /mnt/unused/bootcode.bin-e [not sure where that came from, likely a typo]
> 
> and in /boot/msdos is
> root@www:/usr/src # find /boot/msdos

What is mounted at /boot/msdos ? Or is it not being used
as a mount point?

> /boot/msdos
> /boot/msdos/ubldr.bin
> /boot/msdos/EFI
> /boot/msdos/EFI/BOOT
> /boot/msdos/EFI/BOOT/bootarm.efi
> /boot/msdos/dtb
> /boot/msdos/dtb/allwinner
> /boot/msdos/dtb/overlays
> /boot/msdos/dtb/overlays/sun8i-a83t-sid.dtbo
> /boot/msdos/dtb/overlays/sun8i-h3-i2c0.dtbo
> /boot/msdos/dtb/overlays/spigen-rpi-b.dtbo
> /boot/msdos/dtb/overlays/spigen-rpi2.dtbo
> /boot/msdos/dtb/rockchip
> /boot/msdos/dtb/sun4i-a10-cubieboard.dtb
> /boot/msdos/dtb/sun4i-a10-olinuxino-lime.dtb
> /boot/msdos/dtb/sun6i-a31s-sinovoip-bpi-m2.dtb
> /boot/msdos/dtb/sun5i-a13-olinuxino.dtb
> /boot/msdos/dtb/sun5i-r8-chip.dtb
> /boot/msdos/dtb/sun7i-a20-bananapi.dtb
> /boot/msdos/dtb/sun7i-a20-cubieboard2.dtb
> /boot/msdos/dtb/sun7i-a20-lamobo-r1.dtb
> /boot/msdos/dtb/sun7i-a20-olimex-som-evb.dtb
> /boot/msdos/dtb/sun7i-a20-pcduino3.dtb
> /boot/msdos/dtb/sun8i-a83t-bananapi-m3.dtb
> /boot/msdos/dtb/sun8i-h2-plus-orangepi-r1.dtb
> /boot/msdos/dtb/sun8i-h2-plus-orangepi-zero.dtb
> /boot/msdos/dtb/sun8i-h3-nanopi-m1.dtb
> /boot/msdos/dtb/sun8i-h3-nanopi-m1-plus.dtb
> /boot/msdos/dtb/sun8i-h3-nanopi-neo.dtb
> /boot/msdos/dtb/sun8i-h3-orangepi-one.dtb
> /boot/msdos/dtb/sun8i-h3-orangepi-pc.dtb
> /boot/msdos/dtb/sun8i-h3-orangepi-plus2e.dtb
> /boot/msdos/dtb/cubieboard.dtb
> /boot/msdos/dtb/olinuxino-lime.dtb
> /boot/msdos/dtb/bananapim2.dtb
> /boot/msdos/dtb/bananapi.dtb
> /boot/msdos/dtb/cubieboard2.dtb
> /boot/msdos/dtb/olimex-a20-som-evb.dtb
> /boot/msdos/dtb/pcduino3.dtb
> /boot/msdos/dtb/sinovoip-bpi-m3.dtb
> /boot/msdos/dtb/sun8i-a83t-sinovoip-bpi-m3.dtb
> /boot/msdos/dtb/am335x-bone.dtb
> /boot/msdos/dtb/am335x-boneblack.dtb
> /boot/msdos/dtb/am335x-boneblack-wireless.dtb
> /boot/msdos/dtb/am335x-bonegreen.dtb
> /boot/msdos/dtb/am335x-bonegreen-wireless.dtb
> /boot/msdos/dtb/am335x-boneblue.dtb
> /boot/msdos/dtb/am335x-pocketbeagle.dtb
> /boot/msdos/dtb/ufw.dtb
> /boot/msdos/dtb/imx6dl-cubox-i.dtb
> /boot/msdos/dtb/imx6q-cubox-i.dtb
> /boot/msdos/dtb/imx6dl-hummingboard.dtb
> /boot/msdos/dtb/imx6q-hummingboard.dtb
> /boot/msdos/dtb/imx6dl-nitrogen6x.dtb
> /boot/msdos/dtb/imx6q-nitrogen6_max.dtb
> /boot/msdos/dtb/imx6q-nitrogen6x.dtb
> /boot/msdos/dtb/imx6qp-nitrogen6_max.dtb
> /boot/msdos/dtb/imx6sx-nitrogen6sx.dtb
> /boot/msdos/dtb/imx6dl-riotboard.dtb
> /boot/msdos/dtb/imx6dl-wandboard.dtb
> /boot/msdos/dtb/imx6dl-wandboard-revb1.dtb
> /boot/msdos/dtb/imx6q-wandboard.dtb
> /boot/msdos/dtb/imx6q-wandboard-revb1.dtb
> /boot/msdos/dtb/tegra124-jetson-tk1-fbsd.dtb
> /boot/msdos/dtb/omap4-duovero-parlor.dtb
> /boot/msdos/dtb/omap4-panda.dtb
> /boot/msdos/dtb/omap4-panda-es.dtb
> /boot/msdos/dtb/zedboard.dtb
> /boot/msdos/dtb/zybo.dtb
> /boot/msdos/u-boot.bin
> /boot/msdos/bootcode.bin
> /boot/msdos/config.txt
> /boot/msdos/fixup.dat
> /boot/msdos/fixup_cd.dat
> /boot/msdos/fixup_db.dat
> /boot/msdos/fixup_x.dat
> /boot/msdos/start.elf
> /boot/msdos/start_cd.elf
> /boot/msdos/start_db.elf
> /boot/msdos/start_x.elf
> /boot/msdos/bcm2709-rpi-2-b.dtb
> /boot/msdos/overlays
> /boot/msdos/overlays/mmc.dtbo
> /boot/msdos/timeout
> /boot/msdos/bootcode.bin-e
> /boot/msdos/System Volume Information
> /boot/msdos/System Volume Information/WPSettings.dat
> /boot/msdos/System Volume Information/IndexerVolumeGuid
> root@www:/usr/src # 



===
Mark Millard
marklmi at yahoo.com