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