Share your ARM64/AARCH64 experience for FreeBSD

Mainly for setting up ARM 64-bit (ARM64/AARCH64) architecture systems which Single Board Computers (SBC's) or miniboards use. In my case, it's a Raspberry Pi 4.
rasp-hw.jpg

This case is under $10 and fits in a front shirt pocket. The MicroSD card didn't fit with the board into the hard case at first, so I had to cut the slot to be larger (on the underside, not shown in the image). The GPIO pins can be used for internal components as well, like cooling fans. This one uses USB-C, and a micro-HDMI cable for connections. It has wifi, Bluetooth and a wired ethernet port. There's a few more components, which you can see the specs for any particular model online. This is funny, because this is the first computer that I could almost put together at a fast food table, after buying it.

rasp-bootload.jpg

This system will let you download a bootstrap through an Internet connection, then you can install an Operating System to MicroSD or a flashdrive, from either the Internet or through one of those disks. That's handy when you don't have a flashcard reader or access to another computer to download an operating system.
rasp-os.jpg
The screen that lets you choose an OS from the Internet, or from an img on your MicroSD or USB drive.

The Linux distributions which were readily available were slow on the desktop, and intensive programs like Firefox or gaming applications crashed easily on this. This means it's a case use for BSD's.

This is the first part of the basic setup of a Raspberry Pi for others to see, and to continue to install FreeBSD. On mine, I may go with a desktop BSD like Fugu-ita dedicated on the MicroSD card. Then, I'll use the usbdrives to experiment with FreeBSD and other operating systems.

When looking for images to install to boards like this, look for ARM64, AARCH64 or Raspberry in the downloads. They're the same architecture with the exception that some are for more specialized boards within the ARM64 category.

At this point, share your experience with ARM64/AARCH64 SBC's (mini computers) including Raspberry Pi's on FreeBSD. I intend to do this later from this initial starting point. How do you use FreeBSD on your mini ARM64 computer?
 
How do you use FreeBSD on your mini ARM64 computer?
Look you can download this FreeBSD image, burn to a USB flash drive and put into your Raspberry Pi 4B,3B,or 400 Keyboard and boot that image.
It was asking what you do with FreeBSD on an SBC, not how to install it. That information is more detail on installing it, which is ok. Some install instructions for FreeBSD on an SBC, more details on Raspberry Pi 4, was already hinted above.

For further information, I looked up that Raspberry Pi 5 doesn't have the over Internet bootloader and install capabilities that Raspberry Pi 4 has, as described above. Not sure if this is true. I haven't seen an image for Raspberry Pi 5 from FreeBSD, and don't know if the ARM image for Raspberry Pi 4 would work on it. Information on these and other SBC boards would be good for discussion too.

GhostBSD examples can be at:
Thread those-of-you-who-have-used-ghostbsd-please-share-your-experience.83989. It's good to be aware that GhostBSD can be installed on an SBC though. There's something to learn about GhostBSD in comparison to FreeBSD in terms of available drivers and systems. For other specific BSD examples for comparison to FreeBSD: https://forums.freebsd.org/tags/share-bsd-experience/. A thread could be started for SBC (ARM and Risc) mini computers for all other BSD's in comparison to FreeBSD.

It's about what cool projects and other tasks people do with FreeBSD on an SBC, including Raspberry Pi. Which hatboards, GPIO projects, accessories. Also caveats.

One example of a caveat would be which power supplies are used for your SBC. For instance, Raspberry Pi 4 uses USB-C for power, and Raspberry Pi 3 may need a USB-B connection. However these connections need a higher output rating than typical USB connectors.

Edit: a post was moved to GhostBSD related thread, which is listed in this post.
 
Last edited:
Generally speaking, I love FreeBSD on ARM64. My only regret is not having more enterprise arm systems in my homelab, though I'm building a nice cluster at work. Here's a short list of my fbsd/arm focus, ranging from personal work on embedded systems engineering to ${megaCorpCDN} architect projects.

MakeModelQuantityPurpose
SolidRun / NXPHoneycomb LX2160a1SDN & TLS Traffic-Manager/Content-Director
SolidRun / NXP
Honeycomb LX2160a
1Poudriere building arm64 versions of FreeBSD, HardenedBSD, GhostBSD
Gigbyte / AmpereAltra EMAG 80-Core, 1TB RAM, ConnectX-5 100G6HCI nodes in a private cloud
NanoPiR4SE2dev/test
NanoPiR5S2dev/test/clustering
NanoPiR6S3dev/test/clustering
RPiCM4 / various carrier boards3dev/test/clustering
RPiCM4 / TuringPi 22
dev/test/clustering
 
I am currently using a quartz64 8g edition with edk2-uefi on acpi mode, it is used as a backup with zrepl running in a jail.
For the network I opted to an usb ethernet dongle, since I am no longer able to build the eqos driver on 14.0 (it was working on 13.1 if I recall, but unstable).
 
Generally speaking, I love FreeBSD on ARM64. My only regret is not having more enterprise arm systems in my homelab, though I'm building a nice cluster at work. Here's a short list of my fbsd/arm focus, ranging from personal work on embedded systems engineering to ${megaCorpCDN} architect projects.

MakeModelQuantityPurpose
SolidRun / NXPHoneycomb LX2160a1SDN & TLS Traffic-Manager/Content-Director
SolidRun / NXPHoneycomb LX2160a1Poudriere building arm64 versions of FreeBSD, HardenedBSD, GhostBSD
Gigbyte / AmpereAltra EMAG 80-Core, 1TB RAM, ConnectX-5 100G6HCI nodes in a private cloud
NanoPiR4SE2dev/test
NanoPiR5S2dev/test/clustering
NanoPiR6S3dev/test/clustering
RPiCM4 / various carrier boards3dev/test/clustering
RPiCM4 / TuringPi 22
dev/test/clustering
I have a couple OrangePi5b and have installed and tried Armbian,Debian,WOR, and Android so familiar with RKDevTool and installing those to eMMC and SDCard etc but FreeBSD my preferred OS is not supported on Orange Pi. So wanting to buy a NanoPi R6S and install FreeBSD for both desktop and router/firewall experimentation... is there a how to on how to get this up and running as there doesn't seem to be a u-boot port for this model or does the r4s port work or is there another method? Thanks
 
PersonalBSD.com supports OrangePi 5 plus I believe, Read SleepWalkers Telegram channel. https://t.me/PersonalBSD or his webpage https://personalbsd.org/download ?? https://personalbsd.org/ https://personalbsd.org/?p=1561 Orange Pi 5 plus runs FreeBSD. SleepWalker uses UEFI firmware and uboot . Some support for FriendlyElec NanoPi boards there too. Really interested in what you achieve, So do reply back here with your Results for others to follow your path to running FreeBSD.org on Orange Pi 5 plus SBC RK3588 SOC.
 
PersonalBSD.com supports OrangePi 5 plus I believe, Read SleepWalkers Telegram channel. https://t.me/PersonalBSD or his webpage https://personalbsd.org/download ?? https://personalbsd.org/ https://personalbsd.org/?p=1561 Orange Pi 5 plus runs FreeBSD. SleepWalker uses UEFI firmware and uboot . Some support for FriendlyElec NanoPi boards there too. Really interested in what you achieve, So do reply back here with your Results for others to follow your path to running FreeBSD.org on Orange Pi 5 plus SBC RK3588 SOC.
Yeah I installed the edk2 RK3588 uefi image to get Windows to run on the OrangePi (was trying to get DRM working on arm) and got Windows to boot but no drivers for networking, Android was clunky, so went back to Armbian which allows me to run winbox under armhf. Anyway I digress, I looked up the instructions to install UEFI boot for WOR and found a nanopi-r6s_UEFI_Release_v0.9.1.img at https://github.com/edk2-porting/edk2-rk3588/releases. I guess the best option is to buy the board and spend some time figuring it out. Does anyone have ideas where is the best place to start, the uefi image or u-boot?
 
Share your ARM64/AARCH64 experience for FreeBSD
I rarely get to play with ARM stuff. I have a collection of loads of ex-business surplus Intel hardware which is hard to justify not using for personal projects and home servers.

That said, I did make this aarch64 powered, err, "owl" for my wife a while back:

hootle.png

It's arms flap about and it makes hooting noises.

Inside, is a Raspberry Pi 3 (absolute overkill!), USB speaker, 2 servo motors, USB wifi dongle and a USB mobile phone charger. Mostly all off-the-shelf stuff.

It ran FreeBSD 13 (albeit a custom install rather than the slightly messy premade images) which ironically, compared to Raspbian was a little bit fiddly to get the servo motors working via a slightly hacky approach to PWM. There was a lot of jitter compared to the i.e Pi-GPIO C library using hardware timed servo pulses.

Perhaps the coolest part is that it was effectively a wifi access point. You can connect wirelessly to it and SSH in. Great for debugging.
 
how did you configure that?
Nothing too special. Just hostapd(8) and dhcpd(8).

The only thing was, obviously I had to use a usb wifi dongle rather than the Broadcom wifi chip inside the Pi. I recall the interface came up as run(4). Not all chips support Host AP mode; though I am sure we all have buckets of these things by now, just grab another one and try that ;)

There is a section in the handbook about setting this up.
 
  • Thanks
Reactions: mro
Back
Top