Solved Installing FreebSD on Raspberry PI 4 B

I have looked at a number of pages that tell me how to dd the FreeBSD RPI image to a microSD card and boot that up with the Raspberry PI 4 B. That works perfectly well.

However, I am not looking to run a preinstalled microSD image but to actually install FreeBSD (to an attached SSD drive), which I consider to be a completely different thing. As far as I understand, FreeBSD-13.1-RELEASE-arm64-aarch64-memstick.img at download.freebsd.org should help me accomplish that. However, no amount of reading and duckduckgoing will make that image boot on my RPI 4 B. It will keep saying "no firmware found" for that image, no matter if I serve it from a microSD card or a USB thumb drive. And no, I have not copied the image to the medium but dded it there.

What is the obvious thing I am missing?
 
No. This and similar tutorials (I admit, this is the first video I have viewed but I have read the same tutorial in text format) are things that I am actively skipping. This does not talk about installing FreeBSD on a Raspberry Pi 4 B. It talks about booting it from a preinstalled image. I explicitly wish to not boot the preinstalled system image but to boot the installer, instead. This is not an installer.
 
To do what you want burn the aarch64 installer to a memstick and then flash u-boot to it.
sysutils/u-boot-rpi4
Thank you. Maybe I am a little simple but—how? What I did was install the u-boot-rpi4 package with pkg install u-boot-rpi4, then copied /usr/local/share/u-boot/u-boot-rpi4's metadata and u-boot.bin to the efi partition (the FAT partition) of the thumbdrive after dding the memstick image to the thumbdrive, and fair enough, I do get a picture of a submarine on my screen, with the text u-boot, but it isn't booting anything from that thumbdrive. The boot screen says that it finds 0 storage media (I have disconnected the SSD and left only the thumbdrive connected, and the u-boot.bin is definitely being loaded from it because there is the picture of the submarine).
 
Thank you. Maybe I am a little simple but—how? What I did was install the u-boot-rpi4 package with pkg install u-boot-rpi4, then copied /usr/local/share/u-boot/u-boot-rpi4's metadata and u-boot.bin to the efi partition (the FAT partition) of the thumbdrive after dding the memstick image to the thumbdrive, and fair enough, I do get a picture of a submarine on my screen, with the text u-boot, but it isn't booting anything from that thumbdrive. The boot screen says that it finds 0 storage media (I have disconnected the SSD and left only the thumbdrive connected, and the u-boot.bin is definitely being loaded from it because there is the picture of the submarine).
A solution to the no storage medium found problem is to change to a different thumbdrive. The cheapest, oldest drive I had at hand was not recognized as a workable thing. Changed that to a Kingston DataTraveler 3.0 helped.
 
What I have found is that not all boards support USB booting.

So you may need to copy just u-boot onto SD Card and have FreeBSD memstick installer drive inserted.
Then u-boot will catch the usb drive.

Same for the installation. You may still need u-boot on SD Card to start it up. Think of u-boot as your bios.
 
What I have found is that not all boards support USB booting.

So you may need to copy just u-boot onto SD Card and have FreeBSD memstick installer drive inserted.
Then u-boot will catch the usb drive.

Same for the installation. You may still need u-boot on SD Card to start it up. Think of u-boot as your bios.
Thank you. I do appreciate the effort. The board boots up from a USB thumb drive, and it boots and runs its Raspberry Pi OS from a USB-attached SSD. Without any microSD card.

What I would appreciate with the U-Boot part is knowing what exactly needs to be copied where exactly. The instructions that come with it are either hidden or less than minimalistic. U-Boot's documentation page tells me, among other things, how to build U-Boot, and it claims to tell me how to use it. What it doesn't tell me is what U-Boot is or how and what to copy where, so that I could do anything remotely resembling using it.

With the thumb drive changed to a more modern version, the installer probably starts loading. I would not know because I get the RGB palette on the screen and nothing I do gets me past that. With the thumb drive changed and files mixed up from the pre-installed image's root directory and the installer memstick and U-Boot, I get the installer booting so far that it has detected all da devices, and then it stops progressing.
 
You may have to use the u-boot command prompt and start digging.
You have 2 seconds to catch u-boot.
Once there you start interrogating devices.
I use sata info and nvme scan but I am sure there is some usb command to check your devices.

knowing what exactly needs to be copied where exactly.
Did you check the README in /usr/local/share/u-boot/u-boot-rpi4/ ?

It has the exact platform independent instructions.
 
You may have to use the u-boot command prompt and start digging.
You have 2 seconds to catch u-boot.
Once there you start interrogating devices.
I use sata info and nvme scan but I am sure there is some usb command to check your devices.


Did you check the README in /usr/local/share/u-boot/u-boot-rpi4/ ?

It has the exact platform independent instructions.
An exact, full, and exhaustive quote from said file (that is, the entire darned file, all its 124 bytes):
root@XXXX:/usr/local/share/u-boot/u-boot-rpi4 # cat README
Code:
U-Boot loader and related files for the RPi4


For general information about U-Boot see WWW: https://www.denx.de/wiki/U-Boot

No, at least in my case, it does not have ANY instructions whatsoever. It has a link to a web page, which tells me about the versions of U-Boot. The web page has a link to another web page, which assumes that I know 50% of U-Boot to begin with and still doesn't tell me anything useful.

And the directory itself has exactly three files: README, metadata, and u-boot.bin.
 
Well use the FreeBSD -RELEASE-RPI4 image as your learning guide.
Since you want something custom you need to study what works then replicate it.
 
create a custom image containing the fat part of the rpi4 image and the ufs part of the install image
that should work
 
create a custom image containing the fat part of the rpi4 image and the ufs part of the install image
that should work
I take it you mean the image called FreeBSD-13.1-RELEASE-arm64-aarch64-RPI.img.xz. There is no RPI4 image there. I will give it a try.
 
I take it you mean the image called FreeBSD-13.1-RELEASE-arm64-aarch64-RPI.img.xz. There is no RPI4 image there. I will give it a try.
Meant to copy the name of the uncompressed image. The xz is my mistake in copying the name.
 
create a custom image containing the fat part of the rpi4 image and the ufs part of the install image
that should work
Thank you. This got me the furthest so far. The mixed image gets me booting all the way to the part where the message is
Code:
genet0: link state changed up UP
. After that, it seemingly does nothing (I've been waiting for a few minutes) but does react if I plug in or remove a USB device and responds to keyboard, as well.
 
After that, it seemingly does nothing
Are you using serial UART connection or HDMI?
Have you checked your network for new connections? ssh is very useful.

When I am in debug mode I use serial UART connected to another box.
That way I can see all the output. From u-boot to loader. HDMI can be spotty.
That is also the best way to see what overlays are successfully loaded.
 
I think I will dd the image to the SSD and see if I can then grow the file system there. Or I might try with an RPI 3 B+. Or I might give up. Will post my experiences here once I have gotten a round tuit.
 
Are you using serial UART connection or HDMI?
HDMI.

Have you checked your network for new connections? ssh is very useful.
I sure have. You are very right. SSH is very useful.

When I am in debug mode I use serial UART connected to another box.
That way I can see all the output. From u-boot to loader. HDMI can be spotty.
That is also the best way to see what overlays are successfully loaded.
Good to know.
 
All my trying had the same problem as the OP. So maybe i missed something. I ended up just writing the image to a card.
I dded the image to an SSD and booted up with that. Sure, it's not installed by me but it loads and it automatically resized the UFS slice to the remaining disk size. Beats using a card and I reckon I can modify the environment sufficiently for my needs. I will mark this as solved, although it's not solved, so that it will not attract further attention.
 
The thing is all my trying did not worked. With external USB it would just not boot. Maybe I missed something. But it would be nice to know what & why ?
 
The thing is all my trying did not worked. With external USB it would just not boot. Maybe I missed something. But it would be nice to know what & why ?
I might have an idea or two if you told me which RPI and external disk you have, how you power them and how you connect the disk.
 
Back
Top