Re: Attempting to install on RPi4B w/ UEFI, having some problems

Robert Clausecker <[email protected]>
Newsgroups gmane.os.freebsd.devel.arm
Message-ID <[email protected]>
Hi Mark,

On Thu, Sep 10, 2020 at 04:25:34PM -0700, Mark Millard wrote:
> 
> 
> 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.)

Ah, good to know that that works.  I was afraid the UEFI code
required an MBR scheme as the documentation indicated such.

> 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).

The Wiki page (arm/Raspberry Pi) does say explicitly:

> RPI4-UEFI, allows us to triple-boot FreeBSD on the RPi4 from either
> Device Tree or ACPI or ACPI&Device-tree(both). 

But it appears that loading the DTB from the UEFI boot loader is not
supported at all.  In fact, when I configure UEFI to generate a DTB
only (ACPI off), the kernel hangs during boot.

> > * 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.

Thanks, will use a USB ethernet dongle as a stop gap solution.

> > * 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.

No SD card involved in my set up either.
 
> 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.

Sure.  I though that perhaps I had missed some patch or something.  If
it's just not in the code yet, that's fine.  I'll wait for support to
arrive.

> ===
> Mark Millard
> marklmi at yahoo.com
> ( dsl-only.net went
> away in early 2018-Mar)

Yours,
Robert Clausecker

-- 
()  ascii ribbon campaign - for an 8-bit clean world 
/\  - against html email  - against proprietary attachments
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-arm
To unsubscribe, send any mail to "[email protected]"
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.