Raspberry PI 400: black screen with FreeBSD 14

FreeBSD 13 had issues to boot from the internal SD card. Solution was to update the u-boot.bin on the MSDOS partition.
I don't know if 14 fixed this yet.

See
 
  • Thanks
Reactions: mro
after 2 hours in the rabbit hole scavenging bits and pieces - no success.

A pity there's no concise writeup.
 
the problem is a black screen and no recipe but scattered bits and pieces.

No I haven't seen, that looks promising, I'll try.

Thanks!
 
doing this
# thanks https://forums.FreeBSD.org/threads/raspberry-pi-400-black-screen-with-freebsd-14.100057/post-726457
$ curl -LO https://download.freebsd.org/releases/arm64/aarch64/ISO-IMAGES/14.3/FreeBSD-14.3-RELEASE-arm64-aarch64-RPI.img.xz
$ unxz FreeBSD-14.3-RELEASE-arm64-aarch64-RPI.img.xz
# apply https://wiki.freebsd.org/arm/Raspberry%20Pi#Boot_Loader_Issues
# apply https://wiki.freebsd.org/arm/Raspberry%20Pi#Raspberry_Pi_4_with_4GB.2B-_RAM_Won.27t_Boot
$ doas dd if=FreeBSD-14.3-RELEASE-arm64-aarch64-RPI.img of=/dev/mmcsd0 bs=1m conv=sync


gets me (on a RPi 400) to the rainbow screen and then shuts down after ~30 seconds.

What else am I missing? Who has been using this image successfully?
 
Sorry, can't help, i am afraid. I stopped using FreeBSD on my Pies (400 and 5) long ago, it's just not worth it. No sound, no wifi, no hardware accelerated graphics, boot problems and so on.

If you need a better OS than Raspberry Pi OS, i suggest Void Linux. I use it and it runs great.
 
  • Thanks
Reactions: mro
I'd like a lean system with zfs and without systemd for a storage server (backups). Maybe alpine. Even NetBSD failed me.
 
One suggestion: you can create a md device from the uncompressed boot image, mount the msdos partition on your x86-64 FreeBSD machine and copy rpi-firmware (which gets installed in /usr/local/share/rpi-firmware so you can pkg install it on your x86-64 machine) in the right place. Something like:

doas zsh
mdconfig -t vnode -a -f FreeBSD-14.3-RELEASE-arm64-aarch64-RPI.img
mount -t msdosfs -r /dev/md0p1 /mnt


Now you can examine what is on dos partition of the install image (which will normally show up as /boot/efi). Presumably it has bcm2711-rpi-400.dtb. You can override what all it there with the following

pkg install -y rpi-firmware
cd /usr/local/share/rpi-firmware
cp -r . /mnt


I think you should copy config_rpi4.txt to config.txt but not 100% sure. Once done, you can do this:

umount /mnt
mdconfig -d -u 0
exit # to get out of "doas zsh" superuser shell


Now you can copy this img to an sdcard as before and try booting. I did something similar on a pi4 but that was a couple years ago and I don't recall exact steps. Now it is running 16.0-CURRENT (cross-compiled locally and installed from the pi itself).

[edit:] make sure you understand what config.txt does! Probably explained on some raspberrypi page.
 
  • Like
Reactions: mro
Back
Top