Setting up FreeBSD on a Raspberry Pi 5

You will need

Steps to follow

(This is analogous to the "USB stick" in these overall instructions --"USB stick" predates all my [MarkMillard] edits adding more notes about the "rpi5-uefi boot files". My personal context is not based on the PaulFloyd instructions that I added notes to.)

 # gpart show -p /dev/mmcsd0
 =>      63  62333889    mmcsd0  MBR  (30G)
         63      8129            - free -  (4M)
       8192  62325760  mmcsd0s1  fat32lba  (30G)

 # df -m /mnt
 Filesystem    1M-blocks Used Avail Capacity  Mounted on
 /dev/mmcsd0s1     30424    2 30421     0%    /mnt

 # find -s /mnt/ -print
 /mnt/
 /mnt/RPI_EFI.fd
 /mnt/bcm2712-d-rpi-5-b.dtb
 /mnt/bcm2712-rpi-5-b.dtb
 /mnt/bcm2712-rpi-500.dtb
 /mnt/bcm2712-rpi-cm5-cm4io.dtb
 /mnt/bcm2712-rpi-cm5-cm5io.dtb
 /mnt/bcm2712-rpi-cm5l-cm4io.dtb
 /mnt/bcm2712-rpi-cm5l-cm5io.dtb
 /mnt/bcm2712d0-rpi-5-b.dtb
 /mnt/config.txt
 /mnt/overlays
 /mnt/overlays/bcm2712d0.dtbo
 /mnt/timeout

The below shows an example config.txt that I use on a 16 GiByte "D0" RPi5:

# cat /mnt/config.txt
armstub=RPI_EFI.fd
#
# For NEW "D0" EDK2 ('Update UEFI space' and later, no release yet):
#device_tree_address=0x3e0000
#device_tree_end=0x400000
#
# For OLDER "D0" EDK2 (RPI5-D0v1 and test 2025-06-11 .. 2025-07-13):
device_tree_address=0x1f0000
device_tree_end=0x210000

# 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

# Local additions:
enable_uart=1
uart_2ndstage=1
dtdebug=1
disable_commandline_tags=1
#
[pi5]
over_voltage_delta=100000
arm_freq=2600
[all]
program_usb_boot_timeout=1

My /boot/loader.conf for use of the serial console includes the lines:

#boot_multicons="YES"
boot_serial="YES"
console="eficom,efi"

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

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.


CategoryHowTo

arm/Raspberry Pi 5 (last edited 2026-05-08T14:37:30+0000 by MarkMillard)