On 2021-Feb-27, at 23:22, Mark Millard <marklmi at yahoo.com> wrote: > Jessica Clarke jrtc27 at freebsd.org wrote on > Sun Feb 28 01:25:47 UTC 2021 : > >> On 28 Feb 2021, at 01:22, Brandon Bergren <bdragon at FreeBSD.org> wrote: >>> >>> On Sat, Feb 27, 2021, at 7:10 PM, Brandon Bergren wrote: >>>> This is mistakenly detecting pseries powerpc64* as an EFI platform and >>>> causing install to error out. Please add back the uname checks so this >>>> code doesn't run on powerpc*. >>> >>> Specifically, the /boot/efi stuff in usr.sbin/bsdinstall/scripts/bootconfig >>> should not run on mips / 32 bit ARM / powerpc* systems. I believe /boot/efi >>> is always created so it can't be used to infer existence of EFI. >> >> 32-bit Arm can boot via EFI. Just mips* and powerpc*. > > > So far as I know, those 32-bit arm systems using sysutils/u-boot-* > ports that, in turn, are using boot.scr and ublr.bin are not using > EFI. Are there problems for any of the following contexts? > > /usr/ports/sysutils/u-boot-a13-olinuxino/pkg-descr: * A boot.scr (U-Boot > script) that loads ubldr.bin and execute it is included > /usr/ports/sysutils/u-boot-bananapi/pkg-descr: * A boot.scr (U-Boot script) > that loads ubldr.bin and execute it is included > /usr/ports/sysutils/u-boot-bananapim2/pkg-descr: * A boot.scr (U-Boot script) > that loads ubldr.bin and execute it is included > /usr/ports/sysutils/u-boot-beaglebone/pkg-descr: * A boot.scr (U-Boot scripts > ) that loads ubldr.bin and execute it is included > /usr/ports/sysutils/u-boot-chip/pkg-descr: * A boot.scr (U-Boot script) that > loads ubldr.bin and execute it is included > /usr/ports/sysutils/u-boot-cubieboard/pkg-descr: * A boot.scr (U-Boot script) > that loads ubldr.bin and execute it is included > /usr/ports/sysutils/u-boot-cubieboard2/pkg-descr: * A boot.scr (U-Boot > script) that loads ubldr.bin and execute it is included > /usr/ports/sysutils/u-boot-duovero/pkg-descr: * A boot.scr (U-Boot script) > that loads ubldr.bin and execute it is included > /usr/ports/sysutils/u-boot-nanopi-m1plus/pkg-descr: * A boot.scr (U-Boot > script) that loads ubldr.bin and execute it is included > /usr/ports/sysutils/u-boot-nanopi-neo-air/pkg-descr: * A boot.scr (U-Boot > script) that loads ubldr.bin and execute it is included > /usr/ports/sysutils/u-boot-nanopi-neo/pkg-descr: * A boot.scr (U-Boot script) > that loads ubldr.bin and execute it is included > /usr/ports/sysutils/u-boot-olimex-a20-som-evb/pkg-descr: * A boot.scr (U-Boot > script) that loads ubldr.bin and execute it is included > /usr/ports/sysutils/u-boot-olinuxino-lime/pkg-descr: * A boot.scr (U-Boot > script) that loads ubldr.bin and execute it is included > /usr/ports/sysutils/u-boot-olinuxino-lime2-emmc/pkg-descr: * A boot.scr > (U-Boot script) that loads ubldr.bin and execute it is included > /usr/ports/sysutils/u-boot-olinuxino-lime2/pkg-descr: * A boot.scr (U-Boot > script) that loads ubldr.bin and execute it is included > /usr/ports/sysutils/u-boot-orangepi-one/pkg-descr: * A boot.scr (U-Boot > script) that loads ubldr.bin and execute it is included > /usr/ports/sysutils/u-boot-orangepi-pc-plus/pkg-descr: * A boot.scr (U-Boot > script) that loads ubldr.bin and execute it is included > /usr/ports/sysutils/u-boot-orangepi-pc/pkg-descr: * A boot.scr (U-Boot > script) that loads ubldr.bin and execute it is included > /usr/ports/sysutils/u-boot-orangepi-plus-2e/pkg-descr: * A boot.scr (U-Boot > script) that loads ubldr.bin and execute it is included > /usr/ports/sysutils/u-boot-orangepi-zero/pkg-descr: * A boot.scr (U-Boot > script) that loads ubldr.bin and execute it is included > /usr/ports/sysutils/u-boot-pandaboard/pkg-descr: * A boot.scr (U-Boot scripts > ) that loads ubldr.bin and execute it is included > /usr/ports/sysutils/u-boot-pcduino3/pkg-descr: * A boot.scr (U-Boot script) > that loads ubldr.bin and execute it is included > /usr/ports/sysutils/u-boot-riotboard/pkg-descr: * A boot.scr (U-Boot script) > that loads ubldr.bin and execute it is included > /usr/ports/sysutils/u-boot-rpi-0-w/pkg-descr: * A boot.scr (U-Boot script) > that loads ubldr.bin and execute it is included > /usr/ports/sysutils/u-boot-sinovoip-bpi-m3/pkg-descr: * A boot.scr (U-Boot > script) that loads ubldr.bin and execute it is included
(I became curious and so looked around some more at the modern context.) I suppose a more direct note is that FreeBSD-13.0-BETA4-arm-armv7-GENERICSD.img put on a microsd card looks like: # gpart show -p /dev/mmcsd1 => 63 62333889 mmcsd1 MBR (30G) 63 2016 - free - (1.0M) 2079 102312 mmcsd1s1 fat32lba [active] (50M) 104391 6187041 mmcsd1s2 freebsd (3.0G) 6291432 56042520 - free - (27G) # ls -Tld /mnt/* drwxr-xr-x 1 root wheel 4096 Feb 26 01:06:32 2021 /mnt/EFI -rwxr-xr-x 1 root wheel 103488 Feb 25 21:59:06 2021 /mnt/MLO -rwxr-xr-x 1 root wheel 26533 Feb 1 03:42:56 2021 /mnt/bcm2709-rpi-2-b.dtb -rwxr-xr-x 1 root wheel 52456 Feb 1 03:42:56 2021 /mnt/bootcode.bin -rwxr-xr-x 1 root wheel 89 Feb 25 22:12:10 2021 /mnt/config.txt drwxr-xr-x 1 root wheel 8192 Feb 26 01:06:32 2021 /mnt/dtb -rwxr-xr-x 1 root wheel 7302 Feb 1 03:42:56 2021 /mnt/fixup.dat -rwxr-xr-x 1 root wheel 3179 Feb 1 03:42:56 2021 /mnt/fixup_cd.dat -rwxr-xr-x 1 root wheel 10291 Feb 1 03:42:56 2021 /mnt/fixup_db.dat -rwxr-xr-x 1 root wheel 10289 Feb 1 03:42:56 2021 /mnt/fixup_x.dat drwxr-xr-x 1 root wheel 4096 Feb 26 01:06:36 2021 /mnt/overlays -rwxr-xr-x 1 root wheel 2951392 Feb 1 03:42:56 2021 /mnt/start.elf -rwxr-xr-x 1 root wheel 791996 Feb 1 03:42:56 2021 /mnt/start_cd.elf -rwxr-xr-x 1 root wheel 4792808 Feb 1 03:42:56 2021 /mnt/start_db.elf -rwxr-xr-x 1 root wheel 3703208 Feb 1 03:42:56 2021 /mnt/start_x.elf -rwxr-xr-x 1 root wheel 467824 Feb 25 22:11:32 2021 /mnt/u-boot.bin -rwxr-xr-x 1 root wheel 716804 Feb 25 21:59:06 2021 /mnt/u-boot.img -r-xr-xr-x 1 root wheel 462412 Feb 26 01:00:54 2021 /mnt/ubldr.bin # find /mnt/EFI/ -print /mnt/EFI/ /mnt/EFI/BOOT /mnt/EFI/BOOT/bootarm.efi (Nothing for efi/boot/startup.nsh . Also a capitalization style difference vs. what I see on the OverDrive 1000 and MACCHIATOBin Double Shot that I have in use [ efi/boot/BOOTaa64.efi ].) So it looks like EFI/BOOT/bootarm.efi exists even when it is not used, when the context is based on a release or snapshot GENERICSD for armv7. (I've not identified an armv7 EFI/BOOT/bootarm.efi use but there may well be some for all I know.) The above also points out u-boot.bin and u-boot.img contexts, as well as the boot.scr / ubldr.bin ones. When one of these are used, EFI/BOOT/bootarm.efi is not used, even when present. As for aarch64 . . . Looking at FreeBSD-13.0-BETA4-arm64-aarch64-mini-memstick.img shows (when expanded to a microsd card): # gpart show -p /dev/mmcsd1 => 3 679832 mmcsd1 GPT (30G) [CORRUPT] 3 66584 mmcsd1p1 efi (33M) 66587 613248 mmcsd1p2 freebsd-ufs (299M) # find /mnt/ -print /mnt/ /mnt/EFI /mnt/EFI/BOOT /mnt/EFI/BOOT/bootaa64.efi (Again: capitalization and startup.nsh differences compared to what I see on the OverDrive 1000 and MACCHIATObin Double Shot.) RPI, PINE64, PINE64-LTS, ROCK64, and ROCKPRO64 have images for aarch64. Looking at RPI: # gpart show -p /dev/mmcsd1 => 63 62333889 mmcsd1 MBR (30G) 63 2016 - free - (1.0M) 2079 102312 mmcsd1s1 fat32lba [active] (50M) 104391 6187041 mmcsd1s2 freebsd (3.0G) 6291432 56042520 - free - (27G) So, not GPT. # find /mnt/ -print /mnt/ /mnt/EFI /mnt/EFI/BOOT /mnt/EFI/BOOT/bootaa64.efi /mnt/dtb . . . (dtb substructure omitted) . . . /mnt/README /mnt/u-boot.bin /mnt/armstub8.bin /mnt/armstub8-gic.bin /mnt/bootcode.bin /mnt/fixup_cd.dat /mnt/fixup_db.dat /mnt/fixup_x.dat /mnt/fixup.dat /mnt/LICENCE.broadcom /mnt/start_cd.elf /mnt/start_db.elf /mnt/start_x.elf /mnt/start.elf /mnt/fixup4.dat /mnt/fixup4cd.dat /mnt/fixup4db.dat /mnt/fixup4x.dat /mnt/start4.elf /mnt/start4cd.elf /mnt/start4db.elf /mnt/start4x.elf /mnt/bcm2710-rpi-2-b.dtb /mnt/bcm2710-rpi-3-b.dtb /mnt/bcm2710-rpi-3-b-plus.dtb /mnt/bcm2711-rpi-4-b.dtb /mnt/config.txt /mnt/overlays /mnt/overlays/mmc.dtbo /mnt/overlays/pwm.dtbo /mnt/overlays/disable-bt.dtbo # more /mnt/config.txt [all] arm_64bit=1 dtparam=audio=on,i2c_arm=on,spi=on dtoverlay=mmc dtoverlay=disable-bt device_tree_address=0x4000 kernel=u-boot.bin [pi4] hdmi_safe=1 armstub=armstub8-gic.bin So it has EFI/BOOT/bootaa64.efi but is a u-boot.bin context in operation: bootaa64.efi is unused unless changes are made. By contrast, ROCK64 does use GPT and has just: # find /mnt/ -print /mnt/ /mnt/EFI /mnt/EFI/BOOT /mnt/EFI/BOOT/bootaa64.efi /mnt/dtb . . . (dtb substructure omitted) . . . (spans more than ROCK64) and EFI/BOOT/bootaa64.efi is used. (I'll not look at the other 3 --or at riscv64 or the like.) === Mark Millard marklmi at yahoo.com ( dsl-only.net went away in early 2018-Mar) _______________________________________________ dev-commits-src-main@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/dev-commits-src-main To unsubscribe, send any mail to "dev-commits-src-main-unsubscr...@freebsd.org"