Attempting to install on RPi4B w/ UEFI, having some problems
Mark Millard
marklmi at yahoo.com
Thu Sep 10 23:25:44 UTC 2020
On 2020-Sep-10, at 13:11, Robert Clausecker <fuz at fuz.su> wrote:
> Greetings!
>
> I'm trying to install FreeBSD on a Raspberry Pi 4B w/ UEFI.
>
> I've done the following:
>
> * update the RPi4 firmware to support USb boot
>
> * format a USB drive as follows
>
> $ gpart show
> => 63 468862065 da0 MBR (224G)
> 63 32768 1 efi (16M)
> 32831 468829297 2 freebsd (224G)
>
> => 0 468829297 da0s2 BSD (224G)
> 0 16777216 2 freebsd-swap (8.0G)
> 16777216 452052081 1 freebsd-zfs (216G)
FYI: I use GPT partitioning. (No claim that you need to.)
Note: I'm running head -r363590 with various patches still.
This could mean some of my claims are outdated on the
FreeBSD side of ACPI based booting.
> * make a dos file system for the efi partition and copy the uefi files (most
> recent version) in there
>
> * make a ZFS pool and file systems as appropriate for a boot environment
I've not used ZFS in many years so I've no comments related to zfs.
> * build CURRENT from source with D25201 manually applied (the other patches
> have apparently already been merged) and install it into the pool, apply
> basic configuration. The fstab says:
>
> /dev/da0s1 /boot/efi msdos rw 0 0
> /dev/da0s2b none swap sw 0 0
>
> loader.conf says:
>
> cryptodev_load="YES"
> zfs_load="YES"
>
> * copy loader.efi to /boot/efi/efi/boot/bootaa64.efi
>
> * boot into uefi config menu, set console to serial, choose boot device,
> set up ACPI+DTB mode, disable memory limit
To my knowledge FreeBSD makes no claim to be trying to
support ACPI+DTB. I use ACPI for UEFI based booting (no DTB).
> * kernel boots fine into login shell but reports no DTB found.
I'm not surprised.
> Some things don't seem to work correctly:
>
> * if I plug the USB drive into a USB 3.0 port, everything works fine until
> root is mounted. At that point, every further disk access fails with IO
> errors:
>
> (da0:umass-sim0:0:0:0): READ(10). CDB: 28 00 01 80 a0 c1 00 00 07 00
> (da0:umass-sim0:0:0:0): CAM status: CCB request completed with an error
> (da0:umass-sim0:0:0:0): Retrying command, 3 more tries remain
>
> This can be worked around using
>
> * a genet ethernet device does not seem to exist and consequentially,
> no network connection can be established.
FreeBSD does not yet support the built-in Ethernet via ACPI booting.
I use a USB3 Ethernet device instead.
> * pciconf -l yields no PCI devices and dmesg suggests no pci bus was
> detected (grepping for pci yields no results)
The ACPI exposure of the XHCI does not present it as a PCIe device.
ACPI does not present the PCIe at all. (Or that is my understanding.)
I boot via a USB3 SSD, no microsd card involved.
FreeBSD does not yet support the microsd card slot via ACPI based
booting. I use a USB based reader/writer if I want to use a
microsd card for something.
> * if I select DTB-only mode in the UEFI configuration, the kernel hangs
> during boot. In any case it complains about not having received a DTB.
The only mode of using the UEFI/ACPI software is ACPI mode, no DTB at
all. FreeBSD has a port for u-boot/DTB based but it and UEFI/DTB do no
match.
> What can I do to fix these problems? Is there anything I missed?
>
You are trying in-development software that is incomplete and has known
problems. The UEFI/ACPI and u-boot alternatives have differing tradeoffs,
including in what devices are supported.
===
Mark Millard
marklmi at yahoo.com
( dsl-only.net went
away in early 2018-Mar)
More information about the freebsd-arm
mailing list