Setting up FreeBSD on a Raspberry Pi 5
You will need
- a Raspberry Pi 5
- a microSD card
- a USB stick formatted FAT32 with at least 2080kbytes free space
- an ethernet to USB adapter
Steps to follow
Download a FreeBSD image for Raspberry Pi. Go to FreeBSD download page. Click on the link to "RPI (3/4)" (don't worry about it not being for the Pi 5). (20250207: use FreeBSD-14.2-RELEASE-arm64-aarch64-RPI.img.xz)
Uncompress the image file with xz -d.
Copy the image to the microSD card (see Writing an Image File to USB). Plug the microSD card into the Raspberry Pi.
Download the rpi5-uefi boot files from rpi5-uefi downloads for pre-D0 RPi5s (just .zip) vs. rpi5-uefi downloads for D0 RPi5's (.zip and .fd)
- Pre-D0 RPi5's: Unzip the RPi5_UEFI_Release_X.Y.zip file
- D0 RPi5's: Unzip the the "RPI5-D0v1" RPI5_D0.zip and replace its RPI_EFI.fd with the "test" RPI_EFI.fd download.
- Copy the unzipped(/updated) contents to the root of the USB stick. Plug the USB stick into the Raspberry Pi.
- For using the "test" RPI_EFI.fd: The config.txt should be adjusted to have device_tree_address=0x3e0000 and device_tree_end=0x400000
- Connect an ethernet cable to one of the USB ports with the USB to ethernet cable and been in stable use since.
- Turn on the Raspberry Pi.
- EDK2 configuration (if desired) is accessed via use of the escape key during the . . . display. The "test" RPI_EFI.fd has lots of output first and some mixed in with the "."s .
For the D0 RPi5 EDK2 draft to use a serial console on FreeBSD: Device Manager > Console Preference Selection > Preferred console: <Serial> . Then do the save and then escape out until you can select Reset.
Known To Work
Raspberry Pi 5 Model B Rev 1.0 8Gbytes RAM I (PaulFloyd) have been using it for development work since February 2024, using FreeBSD 14.1 and then 14.2. Primarily this has been using ssh to connect from my amd64 FreeBSD workstation.
Known Limitations
- Fan runs at full speed.
- No wifi. (FreeBSD stage issue. Linux supports such SDIO use based on the ACPI boot.)
- Ethernet only via USB, uses up one USB port. (EDK2 draft stage issue.)
- Network occasionally fails to start.
- Boot loader rpi5-uefi for pre-D0 (Rev1.0?) RPi5's is known to not work with RPi5 16GB and other D0 RPi5's.
- Boot loader rpi5-uefi for D0 (Rev1.1?) RPi5's is known to not work with RPi5 pre-D0 RPi5's.
The D0 RPi5 related notes were added by MarkMillard without testing the above "steps to follow".
- Also, those D0 RPi5 notes are from memory of a configuration setup months earlier that has been in stable use since.
Future Development
Unfortunately, since Feb 4, 2025 the worproject/rpi5-uefi GitHub repo has been marked as archived and read-only. Presumably that means that there will be no further development done there, and thus no more bug fixes or enhancements.