Date: Thu, 21 Sep 2023 02:26:30 -0700 From: Mark Millard <marklmi@yahoo.com> To: ykla <yklaxds@gmail.com> Cc: FreeBSD ARM List <freebsd-arm@freebsd.org>, Andrew Turner <andrew@freebsd.org> Subject: Re: How to Boot FreeBSD Using pftf/RPi4 UEFI Message-ID: <B611BF0F-05FD-48E1-85E9-F41B898B6AD7@yahoo.com> In-Reply-To: <A3A36C5F-1EFA-4F94-AD5C-374C01C3ED68@yahoo.com> References: <CA%2BPGaYCCNOXPy_b-N=OvcAoQnN1WyhiLLe-a0cj9g=-3r0QCDw@mail.gmail.com> <A3A36C5F-1EFA-4F94-AD5C-374C01C3ED68@yahoo.com>
next in thread | previous in thread | raw e-mail | index | archive | help
[Andrew T.: for main this lead to "panic: Assertion smccc_version !=3D 0 . . ." for today's new snapshot.] On Sep 21, 2023, at 01:11, Mark Millard <marklmi@yahoo.com> wrote: > On Sep 20, 2023, at 22:45, ykla <yklaxds@gmail.com> wrote: >=20 >> HI, >=20 > Hello. >=20 >> How to Boot FreeBSD Using pftf/RPi4 UEFI? >>=20 >> I downloaded FreeBSD-14.0-BETA2-arm64-aarch64-disc1.iso and Raspberry = Pi 4 UEFI Firmware v1.35 and wrote them to my device. However, when I = enable ACPI, my Raspberry Pi 4 automatically restarts after loading. If = I disable ACPI and use the device tree, the screen goes black after = loading for a while, and nothing is displayed. In both of these cases, = there is no output on the serial port. Does anyone know how to configure = the serial port for UEFI Firmware? I've used the serial port before with = the regular installation method and it worked for output, but with UEFI = Firmware, there is no output on the serial port. >=20 > As I remember, pftf/RPi4 defaults to graphical, not serial. > There is a place in the EDK2 UI to switch it to graphical. > This status can be saved, which actually updates a data area > inside its RPI_EFI.fd file so that future boots automatically > are serial based for the adjusted RPI_EFI.fd . >=20 > I've not tried pftf/RPi4 in some time. It was v1.34 > back then. >=20 > I've never tried running the installer ( *-disc1.iso ). > I've used older variants of what is now (MBR): >=20 > = http://ftp3.freebsd.org/pub/FreeBSD/snapshots/ISO-IMAGES/15.0/FreeBSD-15.0= -CURRENT-arm64-aarch64-RPI-20230921-febba4622b60-265435.img.xz >=20 > or (GPT, again: older variant last I tried): >=20 > = http://ftp3.freebsd.org/pub/FreeBSD/snapshots/ISO-IMAGES/15.0/FreeBSD-15.0= -CURRENT-arm64-aarch64-ROCK64-20230921-febba4622b60-265435.img.xz >=20 > and substituted or added the pftf/RPi4 materials inside the > msdosfs involved for the USB3 media that I used, leaving > the FreeBSD UEFI loader materials in place. >=20 > Use of the ROCK64 image means there is no RPi* firmware, > armstub8* , or boot.bin materials to replace: I just added > the pftf/RPi4 materials. (So: Simpler.) >=20 > May be I could experiment with more modern materials this > weekend. Actually, it should not take long to do a basic, preliminary test: # dd = if=3DFreeBSD-15.0-CURRENT-arm64-aarch64-ROCK64-20230921-febba4622b60-26543= 5.img of=3D/dev/da0 bs=3D1m conv=3Dfsync,sync status=3Dprogress 5210374144 bytes (5210 MB, 4969 MiB) transferred 21.005s, 248 MB/s 5120+0 records in 5120+0 records out 5368709120 bytes transferred in 21.736867 secs (246986330 bytes/sec) # gpart show -pl da0 =3D> 40 10485680 da0 GPT (224G) [CORRUPT] 40 32728 - free - (16M) 32768 102400 da0p1 efi (50M) 135168 10350464 da0p2 rootfs (4.9G) 10485632 88 - free - (44K) # mount -onoatime -tmsdosfs /dev/da0p1 /mnt # ls -Tlod /mnt/* drwxr-xr-x 1 root wheel - 4096 Sep 20 23:43:20 2023 /mnt/EFI drwxr-xr-x 1 root wheel - 4096 Sep 20 23:43:20 2023 /mnt/dtb # tar -xpf RPi4_UEFI_Firmware_v1.35.zip -C /mnt/ RPI_EFI.fd: Can't set user=3D1001/group=3D123 for RPI_EFI.fd: Invalid = argument bcm2711-rpi-4-b.dtb: Can't set user=3D1001/group=3D123 for = bcm2711-rpi-4-b.dtb: Invalid argument bcm2711-rpi-400.dtb: Can't set user=3D1001/group=3D123 for = bcm2711-rpi-400.dtb: Invalid argument bcm2711-rpi-cm4.dtb: Can't set user=3D1001/group=3D123 for = bcm2711-rpi-cm4.dtb: Invalid argument config.txt: Can't set user=3D1001/group=3D123 for config.txt: Invalid = argument fixup4.dat: Can't set user=3D1001/group=3D123 for fixup4.dat: Invalid = argument start4.elf: Can't set user=3D1001/group=3D123 for start4.elf: Invalid = argument overlays/: Can't set user=3D1001/group=3D123 for overlays: Invalid = argument overlays/upstream-pi4.dtbo: Can't set user=3D1001/group=3D123 for = overlays/upstream-pi4.dtbo: Invalid argument overlays/miniuart-bt.dtbo: Can't set user=3D1001/group=3D123 for = overlays/miniuart-bt.dtbo: Invalid argument Readme.md: Can't set user=3D1001/group=3D123 for Readme.md: Invalid = argument firmware/: Can't set user=3D1001/group=3D123 for firmware: Invalid = argument firmware/Readme.txt: Can't set user=3D1001/group=3D123 for = firmware/Readme.txt: Invalid argument firmware/brcm/: Can't set user=3D1001/group=3D123 for firmware/brcm: = Invalid argument firmware/brcm/brcmfmac43455-sdio.txt: Can't set user=3D1001/group=3D123 = for firmware/brcm/brcmfmac43455-sdio.txt: Invalid argument firmware/brcm/brcmfmac43455-sdio.clm_blob: Can't set user=3D1001/group=3D1= 23 for firmware/brcm/brcmfmac43455-sdio.clm_blob: Invalid argument firmware/brcm/brcmfmac43455-sdio.bin: Can't set user=3D1001/group=3D123 = for firmware/brcm/brcmfmac43455-sdio.bin: Invalid argument firmware/brcm/brcmfmac43455-sdio.Raspberry: Can't set = user=3D1001/group=3D123 for firmware/brcm/brcmfmac43455-sdio.Raspberry: = Invalid argument firmware/LICENCE.txt: Can't set user=3D1001/group=3D123 for = firmware/LICENCE.txt: Invalid argument tar: Error exit delayed from previous errors. # ls -Tlod /mnt/* drwxr-xr-x 1 root wheel - 4096 Sep 20 23:43:20 2023 /mnt/EFI -rwxr-xr-x 1 root wheel uarch 2031616 Jun 5 04:12:52 2023 = /mnt/RPI_EFI.fd -rwxr-xr-x 1 root wheel uarch 5051 Jun 5 04:04:18 2023 = /mnt/Readme.md -rwxr-xr-x 1 root wheel uarch 54388 Jun 5 04:12:58 2023 = /mnt/bcm2711-rpi-4-b.dtb -rwxr-xr-x 1 root wheel uarch 54477 Jun 5 04:13:00 2023 = /mnt/bcm2711-rpi-400.dtb -rwxr-xr-x 1 root wheel uarch 54997 Jun 5 04:12:58 2023 = /mnt/bcm2711-rpi-cm4.dtb -rwxr-xr-x 1 root wheel uarch 243 Jun 5 04:04:18 2023 = /mnt/config.txt drwxr-xr-x 1 root wheel - 4096 Sep 20 23:43:20 2023 /mnt/dtb drwxr-xr-x 1 root wheel - 4096 Jun 5 04:04:18 2023 = /mnt/firmware -rwxr-xr-x 1 root wheel uarch 5397 Jun 5 04:12:56 2023 = /mnt/fixup4.dat drwxr-xr-x 1 root wheel - 4096 Jun 5 04:13:00 2023 = /mnt/overlays -rwxr-xr-x 1 root wheel uarch 2253088 Jun 5 04:12:58 2023 = /mnt/start4.elf # umount /mnt I connected the USB3 media to the RPi4B here. Booting and using ESCAPE to enter the EDK2 UI worked fine on the serial console. (No HDMI cable present.) Select Device Manager Select Raspberry Pi Configuration Select Console Preference Selection Select Preferred console Serial Save then Escape out to the main page Select Reset Hit enter when prompted Loading kernel... /boot/kernel/kernel text=3D0x2a8 text=3D0x91a3f0 text=3D0x2a4d04 = data=3D0x159148 data=3D0x 0+0x37a000 0x8+0x157ad0+0x8+0x18198e Loading configured modules... /boot/kernel/umodem.ko text=3D0x2040 text=3D0x1350 data=3D0x6f8+0x4 = 0x8+0xeb8+0x8+0xb2 c loading required module 'ucom' /boot/kernel/ucom.ko text=3D0x2590 text=3D0x2e70 data=3D0x960+0x858 = 0x8+0x1278+0x8+0xb cf can't find '/etc/hostid' can't find '/boot/entropy' Hit [Enter] to boot immediately, or any other key for command prompt. Booting [/boot/kernel/kernel]... =20 No valid device tree blob found! WARNING! Trying to fire up the kernel, but no device tree blob found! ---<<BOOT>>--- GDB: no debug ports present KDB: debugger backends: ddb KDB: current backend: ddb Copyright (c) 1992-2023 The FreeBSD Project. Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 The Regents of the University of California. All rights = reserved. FreeBSD is a registered trademark of The FreeBSD Foundation. FreeBSD 15.0-CURRENT #0 main-n265435-febba4622b60: Thu Sep 21 05:44:48 = UTC 2023 = root@releng3.nyi.freebsd.org:/usr/obj/usr/src/arm64.aarch64/sys/GENERIC = arm64 FreeBSD clang version 16.0.6 (https://github.com/llvm/llvm-project.git = llvmorg-16.0.6-0-g7cbf1a259152) WARNING: WITNESS option enabled, expect reduced performance. VT: init without driver. module scmi already present! real memory =3D 3138154496 (2992 MB) avail memory =3D 3027505152 (2887 MB) panic: Assertion smccc_version !=3D 0 failed at = /usr/src/sys/dev/psci/smccc.c:81 cpuid =3D 0 time =3D 1 KDB: stack backtrace: db_trace_self() at db_trace_self db_trace_self_wrapper() at db_trace_self_wrapper+0x30 vpanic() at vpanic+0x19c panic() at panic+0x44 smccc_arch_features() at smccc_arch_features+0x80 install_cpu_errata() at install_cpu_errata+0x4c cpu_startup() at cpu_startup+0xac mi_startup() at mi_startup+0x1d8 virtdone() at virtdone+0x70 KDB: enter: panic [ thread pid 0 tid 0 ] Stopped at kdb_enter+0x44: undefined f901c27f db>=20 Note: This smccc_version check was added to main [so: 15] yesterday. But, upto the new smccc_version check, it seemed to be working just fine. =3D=3D=3D Mark Millard marklmi at yahoo.com
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?B611BF0F-05FD-48E1-85E9-F41B898B6AD7>