Re: When will FreeBSD support RPI5?

From: Mark Millard <marklmi_at_yahoo.com>
Date: Thu, 11 Jan 2024 01:30:08 UTC
On Jan 10, 2024, at 07:45, Doug Rabson <dfr@rabson.org> wrote:

> I was able to boot FreeBSD-14.0 on an rpi5 using EDK2 from https://github.com/worproject/rpi5-uefi. I put the EDK2 firmware on an SD card and an aarch64 memstick image on a USB thumb drive and was able to boot all the way into the installer. PCI express is missing as well as ethernet but it's a really promising start.

Same sort of thing here . . .

I normally use USB3 media set up to boot nearly all the aarch64
systems that I have access to, including the RPi* ones. So I did
(da3 for the microsd card was already in present for this):

# fetch https://github.com/worproject/rpi5-uefi/releases/download/v0.2/RPi5_UEFI_Release_v0.2.zip
# mkdir RPi5_UEFI_materials
# cd RPi5_UEFI_materials/
# unzip ../RPi5_UEFI_Release_v0.2.zip
# gpart destroy -F da3
# gpart create -s gpt /dev/da3
# gpart add -t efi -a1m -lRPi5-edk2 /dev/da3
# newfs_msdos /dev/da3p1
# mount -onoatime -tmsdosfs /dev/da3p1 /mnt
# cp -aRx ./ /mnt/
# umount /mnt

I put the microsd card in the RPi5's slot, connected an
example boot media, connected the serial console cabling
and connected that to a system, connected a USB3 Ethernet
dongle and Ethernet connection to it, and tried to boot.

It worked just fine, logging in on the serial console
and over ssh. The other example USB3 media that I've
tried also work. These are main [so: 15] personal builds.

I've not done any testing, yet, for problems FreeBSD has
for RPi4B UEFI/ACPI (EDK2) based use to see if they
happen with FreeBSD snapshot builds for the RPi5.

(While I normally use FreeBSD's U-Boot type of context,
My builds do have patches to allow RPi4B EDK2 use to
avoid the problems that I know to test for.)

I do not normally use the video and I've not tested it,
but it is documented as having support.

FYI:

# mount -onoatime -tmsdosfs /dev/mmcsd0p1 /mnt

# ls -Tloa /mnt/
total 2148
drwxr-xr-x   1 root wheel -       32768 Dec 31 16:00:00 1979 .
drwxr-xr-x  49 root wheel uarch    1536 Jan  5 10:29:46 2024 ..
-rwxr-xr-x   1 root wheel uarch 2031616 Jan  5 10:29:34 2024 RPI_EFI.fd
-rwxr-xr-x   1 root wheel uarch   76038 Jan  5 10:21:50 2024 bcm2712-rpi-5-b.dtb
-rwxr-xr-x   1 root wheel uarch     388 Jan  5 10:18:24 2024 config.txt

# more /mnt/config.txt
armstub=RPI_EFI.fd
device_tree_address=0x1f0000
device_tree_end=0x210000

# Leave RP1 PCIe configured on hand-off.
pciex4_reset=0

# Force 32 bpp framebuffer allocation.
framebuffer_depth=32

# Disable compensation for displays with overscan.
disable_overscan=1

# Force maximum USB power regardless of the power supply.
usb_max_current_enable=1

# Force maximum CPU speed.
force_turbo=1



(No adjustments made.)

===
Mark Millard
marklmi at yahoo.com