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 5b. 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
 
Last edited:
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.
 
That is funny kpederson said "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." This morning I looked up what is required to run OPNSense and it suggested old intel hardware. That reminded me a couple years ago I installed pfsense on an old SFF PC, it worked great, and I have a few of those laying around doing nothing. Must be getting dumb in my old age but still there is the advantage that the mini arm boards are compact and generally use less power. I'm kinda thinking I should have bought the OPi5+ rather than the OPi5B since looks like personalbsd got that working.
 
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.
I thought FreeBSD would have had it, but there's no generic or OrangePi listed for SD Card aarch 64 downloads at https://www.freebsd.org/where/#download-rel140.
This morning I looked up what is required to run OPNSense and it suggested old intel hardware. That reminded me a couple years ago I installed pfsense on an old SFF PC
OPi5B since looks like personalbsd got that working.
PersonalBSD might be considered actual FreeBSD; not sure. It fits close enough for describing FreeBSD use on arm for this thread.

You can share your experiences about any firewall/router BSD distribution or dedicated firewall/router BSD at Thread share-your-router-firewall-bsd-distribution-or-dedicated-bsd-box-experience-for-freebsd-users.93274/. Mentioned in that thread: any BSD which IPF can be used on, can be used the same way as one of those dedicated BSD firewall distributions. Your use about the image from Personal BSD on your OrangePi can be described there, if you got that firewall/router to work.

NetBSD can also be tried for using a firewall/router BSD on OrangePi, as they have generic images for ARM 32 and 64, and additional images for OrangePi boards. As for video DRM, NetBSD has video drivers which FreeBSD doesn't have. You can share about NetBSD use for various purposes aside from firewall/routing at Thread share-your-netbsd-experience-for-freebsd-users.89800.
 
My experience running FreeBSD on arm is it didn't on OrangePi5b *grin*. My aim is to get FreeBSD running on an arm board and have been trying to decide on which board to try, and also possibly try out some other FreeBSD based distros. At this point it is pretty clear that a nuc or old pc (free) will provide better performance for the price so using an arm board is choice borne out of interest in the tech not economics. One application is I've successfully connected 2 Microtik routers to openvpn running on generic FreeBSD and at work we have 3 offices where one of the vpn connections is not working right. I'm thinking to try the hub and spoke setup with a FreeBSD distro, so looking for a board where I could also do some testing, though I think I've decided to use an old SFF with a 4 port network card that I dug up.

From the PersonalBSD webpage it looks like FreeBSD tweaked to run on various arm boards. In short I was looking for an 8 core 16GB RAM arm board to run FreeBSD as a desktop as well as other os's since I can't seem to get FreeBSD or Windows running on the OrangePi5b (yet). I reviewed a few boards the BananaPi spp, RaspberryPi 5, OrangePi5 Plus, NanoPi r6s/c, NanoPC T6, and threw in a Ryzen 7 nuc just for comparison. The RaspberryPi5 and OrangePi5 Plus and the Nano boards all have the edk2 uefi which might be able to boot FreeBSD. There was a video comparing WOR on both the Raspberry Pi 5 and OrangePi5 Plus so I could run that as an alternate OS for DRM support. But after all things considered the OrangePi5 Plus had the best computer power according to passmark (and it was one that personalbsd said he got working) though quite a bit more expensive than the RP5 with 8GB RAM. A OrangePi5 Plus 16GB RAM 256GB eMMC kit plus a 500GB Cruical nvme is $266 compared to $280 for the ryzen 7 nuc on Amzn though for the final build I may choose a bigger nvme.
 
i played with various boards (opi 3b, rockpi-s, opi zero3, nano pi zero, even an android tv box (h616)). i only use them over serial console.
i hacked various kernel drivers (mostly adapted from linux source) and it was kind of cool
they mostly work except for video / wifi so you could use them for home automation, cheap printserver, etc
 
Back
Top