Install OpenBSD 7.9 on Raspberry Pi 5: serial console not working
Sadeep <[email protected]> Sat, 1 Aug 2026 17:18:20 +0800
| Newsgroups | gmane.os.openbsd.misc |
|---|---|
| Message-ID | <am253MxO9EZhuKHs@wd> |
Hello,
This is not strictly about OpenBSD but appreciate any help I can get.
I'm trying to install OpenBSD 7.9 on a Raspberry Pi 5 with 4 GB RAM, and
using a 4 GB SD card. The problem is I can't get hold of the serial
console via GPIO 14 and 15 with `cu -l cuaU0 -s 115200`. cu connects,
but the line is silent.
Full details/config are below. My questions:
1. Am I using the right firmware?
2. Does RPi5 UART route to GPIO pins by default, or do I have to do
something for that to happen?
3. Did I make a mistake in the steps that follow?
What I did:
1. Flashed the install79.img (arm64) to the SD card:
# dd if=install76.img of=/dev/rsd3c bs=1M
2. Freed up space on the disc:
# rm /mnt/sdcard/bcm2710-*.dtb
# rm /mnt/sdcard/bcm2711-*.dtb
# rm /mnt/sdcard/u-boot.bin
# rm /mnt/sdcard/bcm2711-*.dtb
3. Copied RPi5_UEFI_Release_v0.3.zip from GitHub [1] to disc:
# mount_msdos /dev/sd3i /mnt/sdcard
# unzip /path/to/RPi5_UEFI_Release.zip -d /mnt/sdcard/
4. Added boot.conf and unmounted:
# sh -c 'cat << EOF > /mnt/sdcard/etc/boot.conf
set tty com0
stty com0 115200
EOF'
# umount /mnt/sdcard
5. Plugged in the RPi5, nothing on the serial line. I checked the
wiring, swapped TXD/RXD, changed baudrates 9600, 57600.
Nothing worked. Then, I appended the following to the config.txt of
UEFI firmware:
enable_uart=1
dtparam=uart0=on
Still nothing. So, I decided to install OpenBSD to the SD card in qemu:
# qemu-system-aarch64 \
-M virt \
-cpu cortex-a72 \
-m 2048 \
-smp 2 \
-bios /usr/local/share/qemu/edk2-aarch64-code.fd \
-drive file=/dev/rsd3c,format=raw,if=virtio \
-drive file=install79.img,format=raw,if=virtio \
-nographic
and followed through the installation successfully (swap partition 256
MB, the rest root). Then I copied the firmware file to the disc again.
After a bunch of different combinations of permutations, my SD card now:
# /dev/rsd3c:
type: SCSI
disk: SCSI disk
label: Block Device
duid: 91627ea6cea2372c
flags:
bytes/sector: 512
sectors/track: 63
tracks/cylinder: 255
sectors/cylinder: 16065
cylinders: 489
total sectors: 7864320
boundstart: 565248
boundend: 7864320
16 partitions:
# size offset fstype [fsize bsize cpg]
a: 6771872 1092448 4.2BSD 2048 16384 12960
b: 527172 565248 swap
c: 7864320 0 unused
i: 532480 32768 MSDOS
Directory structure in i (MSDOS partition):
|-- RPI_EFI.fd
|-- bcm2712-rpi-5-b.dtb
|-- config.txt
|-- efi
| |-- boot
| | |-- boot.conf
| | `-- bootaa64.efi
| `-- openbsd
| `-- bootaa64.efi
`-- startup.nsh
config.txt:
armstub=RPI_EFI.fd
device_tree_address=0x1f0000
device_tree_end=0x210000
framebuffer_depth=32
disable_overscan=1
usb_max_current_enable=1
force_turbo=1
enable_uart=1
dtparam=uart0=on
efi/boot/boot.conf:
set timeout 1
set tty com0
stty com0 115200
boot
startup.nsh:
fs0:
cd efi\boot
bootaa64.efi
Still can't get anything out of the serial port. Connection to cuaU0
opens, but the line is silent. Pi's LED light next to the power button
lights up green, steady, no blinking.
Tried connecting the Pi using an ethernet cable, but it doesn't show up
in the network (ethernet port's lights on the Pi are off too). So, I
guess it's stuck somewhere at the boot.
I don't have a fitting JST/HDMI cable. So, I'm hoping to get this
working with the GPIO pins.
--
Sadeep
[1] https://github.com/worproject/rpi5-uefi/releases