FreeBSD on Librem?

Anyone here ever give FreeBSD a try? I haven’t used it on my Purism laptop, but I’ve been playing with it on a new desktop I built, and it’s pretty awesome. Apparently it’s renown for it’s networking stack (Netflix uses it, for example), and even MacOS is based on FreeBSD (obviously with some secret sauce inbuilt).

Their development strategy is a bit different than the Linux GPL ecosystem, in that FreeBSD is developed as a singular item, a complete operating system, out of the box. In other words, they develop the kernel, system utilities, init system, networking stack, and key software components together, as a single package, rather than in “Linux” where all of these items have separate development organizations and get patched together in various “distributions” by different organization (Canonical, Redhat, etc). It typically makes for a more stable OS, particularly when talking about servers, because all of the component pieces are developed together as an integrated whole.

Another interesting aspect is the BSD license, which is super permissive, even more so that GPL. You have to credit the originators, but after that, it’s basically free game. Modify, distribute, even close the code and sell it. In comparison to GPL, you might think this incentivizes companies to “steal” the code and not give back to the community, but apparently upstream support is critical enough for companies like Mac, Netflix, Playstation even, that actually do give back to the community quite a lot.

At any rate, FreeBSD is a Unix-like system, with a similar feel to Linux,and some really cool features and philosophy of design, code, and license. As a final example, they invented and released the first sandbox containerization as security measure, back in 2000, called Jails (nowadays they also do hardware virtualization as well).

If I wasn’t so married to Qubes by now, I’d probably give it a whirl on my 15v4. Anyone else out there play with one of the BSDs?

I don’t have a Librem, but I have played with the BSD’s some.

I think you can get a FreeBSD or NetBSD qube going without too much hassle so that may be worth checking out for you.

The biggest thing I found is that while Linux has an acceptable amount of software choice for most people’s day to day use, the BSD’s have the software for some people’s day to day use.

I was personally most drawn to OpenBSD and it can be run as a desktop OS, but this is not something I recommend for most people as there is not enough software available for most people’s daily computing tasks, and even some of the software that is available isn’t quite the same.

This is just my experience with this and I do have a server running FreeBSD to test things on and my firewall is an OpenBSD firewall, but my combination Plex and NextCloud server running Debian; because, when I set it up, at least one of those couldn’t be easily made to work on *BSD.

1 Like

AFAIK Netflix also uses the Amazon infrastructure. do you happen to know for a fact what hardware those servers run on and how the whole thing is set-up ? i’d be interesting to know … for “sci3nc3” of course :mask:

I don’t know what their hardware is. I just know it’s one of the “selling” points in the FreeBSD community. Although I can say that I’m running a brand new Ryzen threadripper, nvidia GPU, totally new hardware, with no compatibility issues that I’ve come across so far. The nvidia firmware is basically a blob though.

I am trying to choose a hypervisor for my Librem Mini 2, and I have recently considered trying out FreeBSD.

dmesg shows this line:
DMI: Purism Librem Mini v2/Librem Mini v2, BIOS 4.12-Purism-4 12/11/2020

I am familiar with QEMU virtual systems, but if possible I would like the booted OS to be minimal so that I could maybe run 2 or 3 different OSs without hardware restarts.

I also want to try out either GUIX or other functionally specified OS configuration approaches.

Open to all input.

1 Like

Gnu Guix is very Good, Guix still Not yet been Infected by Fedora/Redhat Enterprise.

2 Likes

Qubes OS uses Xen as a type 1 hypervisor. Currently, I use it with Debian, Fedora, and Whonix.

Your SeaBIOS + Coreboot is outdated, so I highly suggest you update it using the instructions below first.

You can also choose PureBoot or one of its multiple variants, but that is up to you.

2 Likes

Hi Frankly,
Thanks for the tip, just updated my CoreBoot + SeaBIOS.

One thing that was unexpected, is that the screen in the boot process that allows me some time to press ESC and choose a system/drive to boot into now only shows very sporadically or it goes past so quickly that I can’t seem to catch it.

Any idea how to debug this and/or update the length of time to choose the OS to boot into?

I do eventually see the GRUB screen with the blue background, but pre-firmware update, I was getting the Purism logo with the “Press ESC to …blah…”

1 Like

No, I usually press/hold the Esc key within half a second of seeing the Purism logo using Coreboot.

1 Like

Updated my SEABIOS + Coreboot firmware - 2 times.

First time, it was a little unstable - worst of it was that the opportunity to choose which OS to boot flashed by - and I had to hit ESC about every 1 sec to catch this and choose.

Second time - just did this today…
I am now running this:
Purism Librem Mini v2/Librem Mini v2, BIOS 4.22.01-Purism-1 02/07/2024

Much much better - nice white on blue grub boot choice menu.

I highly recommend this firmware update.

I acquired it from here: librem_mini_v2/coreboot-librem_mini_v2-4.22.01-Purism-1.rom.gz · master · firmware / releases · GitLab

3 Likes

I have decided to get an M.2 NVMe SSD and setup to boot as an alternate OS instead of within a VM or HyperVisor.

I am planning to run run a bitcoin core node, and I hear that FreeBSD is simpler / more secure than Debian.

I will update here when I get FreeBSD up and running.

1 Like

Shopping around for an nvme m.2 ssd, it seems there are various “generations” and that one might have to match the gen of the ssd to a gen that the motherboard or m.2 slot supoirts.

Can anyone point me to a spec doc for my LMv2 or perhaps a way to discover the supported gen?

Full disclosure I have 2 nvme m.2 that work from a few years back - one internal and one in a startech usb3 enclosure…so I could just get another one of those, just wantto get best geb available.

1 Like

It supports up to PCIe 3.0 speeds.

Intel Core i710510U Processor 8M Cache up to 4.90 GHz Product Specifications

3 Likes

I should move the part about SSD to hardware/librem mini topic.

On the topic of hypervisor /multiple VMs…

I looked a little more in-depth at qubes, it seems more robust than I expected - watched the videos, good to see it is xen hypervisor at the bottom layer.

Yet, I am reluctant to choose it because of the fancy layer - the qubes layer that is doing the magic packaging by scenario and giving the appearance of containerised apps per window (or whatever that is).

Don’t want to engage in a this vs that debate on hypervisors - so please do not try to convince me (at least not on this thread)

I will return here after I have a hypervisor in place and start working on setting up freebsd.

1 Like

Just did my first attempt to run the FreeBSD installer via boot from USB.

I can get the boot device menu, and when I choose 3 (the usb drive) - I get the text-based spinner (the one that shows / then - then | then \ - does that thing have a name?)…for about 5 seconds, then the cursor goes down a line, and sits.

I tried to leave it for about 30 min, and no love.

Continuing to try different ports, etc.

If anyone has done a FreeBSD install from USB successfully on the Librem Mini v2 please let me know if you have had any success.

UPDATE:
Another thought, I currently use a 6x2 HDMI matrix to run 3 computers with video to 2 monitors.

I am wondering if there is something in that setup that FreeBSD is not able to handle when it comes to getting the display initialized.

I might try taking that out of the loop and just connecting an HDMI monitor directly to the HDMI port on the LMv2.

UPDATE 2:
Removed HDMI matrix from the system - put an HDMI cable directly from HDMI port on LMv2 to monitor - still nothing after the first few seconds of boot from usb screen (as described above).

1 Like