Is it possible to boot freebsd from usb using Raspberry Pi 4?

Hello,
I'm getting started with Raspberry Pi 4 and FreeBSD.
I'm trying to install freebsd on my Raspberry Pi 4 Rev1.2, I have the FreeBSD-14.0-STABLE-arm64-aarch64-RPI-20240111-38fe4bc08264-266264.img.xz written on a USB flash drive that I use to boot the raspberry
However, the system did not launch successfully, only a picture with color was displayed. I think it is necessary to replace the u-boot.bin file with a new one ,what else do I have to do besides that?
I don't have an SD card at the moment and where can I download ?

Best regards.

 
I suggest you start with a -RELEASE version, not -STABLE. -RELEASE versions can easily be upgraded/updated with freebsd-update(8). -STABLE and -CURRENT need to be updated and built from source.

And booting from a USB drive requires an updated u-boot loader if I recall correctly.
 
Hello,
I'm getting started with Raspberry Pi 4 and FreeBSD.
I'm trying to install freebsd on my Raspberry Pi 4 Rev1.2, I have the FreeBSD-14.0-STABLE-arm64-aarch64-RPI-20240111-38fe4bc08264-266264.img.xz written on a USB flash drive that I use to boot the raspberry
However, the system did not launch successfully, only a picture with color was displayed. I think it is necessary to replace the u-boot.bin file with a new one ,what else do I have to do besides that?
I don't have an SD card at the moment and where can I download ?

Best regards.

It probably shouldn't need to be pointed out, but it really sounds like you're trying to install FreeBSD to the very same USB stick where the installer already lives... I hope I'm mistaken in my assessment. But if not - get that SD card or a clean USB stick where the installation (not the installer) can live.
 
I've seen people say that only one of the HDMI ports is recognised as the console on some attempts to boot FreeBSD on the pi, the other one only and always showing the splash screen. So it could be worth just plugging in the monitor to the other port to check that your install media is working.
 
As a pre-built image it should work OTB, I did the same thing almost one year ago and it went fine with 13 (I didn't try 14 yet).
Like SirDice pointed out take the RELEASE one, no need to pick a snapshot or anything else unless you face a bug:

A quick reminder just in case, do not forget to decompress the image before copying it to your USB flash drive otherwise it won't work. xz -d FreeBSD-14.0-RELEASE-arm64-aarch64-RPI.img.xz
Once done and you've turned on your RPI, do not rush anything let the installation do its thing, it can be a very long task (depending on the speed of your USB device) because the filesystem has to filed the entire space. If I am telling you this it's because I interrupted the install thinking it was okay and of course the installation failed, so be patient.

It probably shouldn't need to be pointed out, but it really sounds like you're trying to install FreeBSD to the very same USB stick where the installer already lives... I hope I'm mistaken in my assessment. But if not - get that SD card or a clean USB stick where the installation (not the installer) can live.
It is a pre-built image, extra device is not needed.
 
As a pre-built image it should work OTB, I did the same thing almost one year ago and it went fine with 13 (I didn't try 14 yet).
Like SirDice pointed out take the RELEASE one, no need to pick a snapshot or anything else unless you face a bug:

A quick reminder just in case, do not forget to decompress the image before copying it to your USB flash drive otherwise it won't work. xz -d FreeBSD-14.0-RELEASE-arm64-aarch64-RPI.img.xz
Once done and you've turned on your RPI, do not rush anything let the installation do its thing, it can be a very long task (depending on the speed of your USB device) because the filesystem has to filed the entire space. If I am telling you this it's because I interrupted the install thinking it was okay and of course the installation failed, so be patient.


It is a pre-built image, extra device is not needed.

You can also use UEFI instead of the default bootloader. https://github.com/pftf/RPi4
It should allow you to just boot from a USB stick.
Although you may have some trouble with device trees.

I have flashed the new files and waited a long, long time at least 2+ hours。。。。。。。
 
I've seen people say that only one of the HDMI ports is recognised as the console on some attempts to boot FreeBSD on the pi, the other one only and always showing the splash screen. So it could be worth just plugging in the monitor to the other port to check that your install media is working.
Because of the converter, only this interface can be used now.
 
I suggest you start with a -RELEASE version, not -STABLE. -RELEASE versions can easily be upgraded/updated with freebsd-update(8). -STABLE and -CURRENT need to be updated and built from source.

And booting from a USB drive requires an updated u-boot loader if I recall correctly.
I have tried to use a new image file, but it failed. I don’t know if there is a way to directly download a new u-boot file
 
Once the https://FreeBSD.org/where is written to a USB Flash Drive. The ESP is the 260Mbyte EFI FAT32 msdosfs format partition that you can simply overwrite a new u-boot.bin image file. wget -c or curl -O with this USB Link
https://download.freebsd.org/releas...FreeBSD-14.0-RELEASE-arm64-aarch64-RPI.img.xz
xz --decompress --keep FreeBSD-14.0-RELEASE-arm64-aarch64-RPI.img.xz
dd if=FreeBSD-14.0-RELEASE-arm64-aarch64-RPI.img of=/dev/daX bs=1M conv=sync status=progress


mkdir -p /mnt/esp /mnt/rootfs
mount_msdosfs /dev/da1p1 /mnt/esp
mount /dev/da1p3 /mnt/rootfs

Have a look at the files cd /mnt/esp ; ls -lh or cd /mnt/rootfs ; ls -lh

I will be happy to help you out. I have been working the past year with using FreeBSD on the Raspberry Pi as my development workstation for aarch64, 8 gigs and 1 terrabyte or 500gb SSD gets you far down the road. A XFCE Desktop or MATE Desktop runs well. www.youtube.com/@robonuggie Has several good Raspberry Pi 400 running FreeBSD Desktop.
View: https://www.youtube.com/watch?v=KKVRLGvnd_8&pp=ygUScm9ib251Z2dpZSBSb2JvQlNE
RoboBSD Search 400 , FreeBSD, Raspberry Pi
View: https://www.youtube.com/watch?v=thxnemnprPg&t=811s&pp=ygUScm9ib251Z2dpZSBSb2JvQlNE


FreeBSD 14.0 aarch64 install on Raspberry Pi 400 keyboard model
I have procedure and shell scripts to setup and install FreeBSD to a USB SDD. I like the Ugreen USB 3.0 case to NVMe M.2 stick. USB to SATA to 2.5" inch SSD works well also.

Here is my blog, Where i help you go from No File, to create a bootable USB Flash drive stick.
raspi-config set EEPROM to value 0xF14 to boot from a USB flash drive without booting from a microSD card.
https://ghostbsd-arm64.blogspot.com/2023/12/how-to-install-ghostbsd-arm64-into-usb.html
Shell script file to perform the download, decompress, and dd write to /dev/da1. Read and edit in the values that match your system. Which /dev/da1 or /dev/da0 or /dev/da2 is your USB flash drive stick? http://ghostbsdarm64.hopto.org/packages/write_arm64_image_file_dd_to_da1.sh or the modified attached shell script file that supports and works for the FreeBSD-14.0-RELEASE file for Raspberry Pi 3B,4B,400
I glad to answer your FreeBSD on Raspberry Pi questions and would like some help testing of GhostBSD-Arm64 desktop image. My January 2024 version will support HDMI Audio sound on the desktop from the Raspberry Pi to play youtube videos and VLC player.

https://ghostbsd-arm64.blogspot.com/2023/12/zfs-boot-on-root-setup-for-usb-ssd.html ZFS boot on root setup for Raspberry Pi 4B,3B,400 .
 

Attachments

  • write_arm64_image_file_dd_to_da1_sh.txt
    2.5 KB · Views: 52
Once the https://FreeBSD.org/where is written to a USB Flash Drive. The ESP is the 260Mbyte EFI FAT32 msdosfs format partition that you can simply overwrite a new u-boot.bin image file. wget -c or curl -O with this USB Link
https://download.freebsd.org/releas...FreeBSD-14.0-RELEASE-arm64-aarch64-RPI.img.xz
xz --decompress --keep FreeBSD-14.0-RELEASE-arm64-aarch64-RPI.img.xz
dd if=FreeBSD-14.0-RELEASE-arm64-aarch64-RPI.img of=/dev/daX bs=1M conv=sync status=progress


mkdir -p /mnt/esp /mnt/rootfs
mount_msdosfs /dev/da1p1 /mnt/esp
mount /dev/da1p3 /mnt/rootfs

Have a look at the files cd /mnt/esp ; ls -lh or cd /mnt/rootfs ; ls -lh

I will be happy to help you out. I have been working the past year with using FreeBSD on the Raspberry Pi as my development workstation for aarch64, 8 gigs and 1 terrabyte or 500gb SSD gets you far down the road. A XFCE Desktop or MATE Desktop runs well. www.youtube.com/@robonuggie Has several good Raspberry Pi 400 running FreeBSD Desktop.
View: https://www.youtube.com/watch?v=KKVRLGvnd_8&pp=ygUScm9ib251Z2dpZSBSb2JvQlNE
RoboBSD Search
I have procedure and shell scripts to setup and install FreeBSD to a USB SDD. I like the Ugreen USB 3.0 case to NVMe M.2 stick. USB to SATA to 2.5" inch SSD works well also.

Here is my blog, Where i help you go from No File, to create a bootable USB Flash drive stick.
raspi-config set EEPROM to value 0xF14 to boot from a USB flash drive without booting from a microSD card.
https://ghostbsd-arm64.blogspot.com/2023/12/how-to-install-ghostbsd-arm64-into-usb.html
Shell script file to perform the download, decompress, and dd write to /dev/da1. Read and edit in the values that match your system. Which /dev/da1 or /dev/da0 or /dev/da2 is your USB flash drive stick? http://ghostbsdarm64.hopto.org/packages/write_arm64_image_file_dd_to_da1.sh
Thank you for your reply. I have found a solution to this problem
 
Back
Top