News: 1733418251

  ARM Give a man a fire and he's warm for a day, but set fire to him and he's warm for the rest of his life (Terry Pratchett, Jingo)

FreeBSD 14.2 wants to woo Docker fans, but still struggles with Wi-Fi

(2024/12/05)


FreeBSD 14.2, the latest point release of the most widely used of the BSDs, brings some new features to tempt Docker fans.

FreeBSD 14.2-RELEASE [1]appeared on Tuesday . This is the latest minor release of version 14, which means it's time to start thinking about upgrading from 14.1. That [2]appeared last June and it's due to reach the end of its life three months after 14.2 – so the clock is ticking. FreeBSD 14.0 reached its official [3]end of life at the start of October, and isn't getting updates any more.

This version is dedicated to the [4]late Michael J Karels , a long-time contributor to the BSD project [5]since 2.9BSD on the PDP-11 . He was the system architect of 4.3BSD, one of the most influential Unix releases of all time, and also of BSD/OS, the commercial system that was the first BSD for x86 PCs.

[6]

The FreeBSD console, old-style as a lot of BSD folks seem to prefer – click to enlarge

Version 14.2 includes [7]OpenZFS 2.2.6 , as well as [8]OpenSSL 3.0.15 , which both came out three months ago. The full [9]14.2 release notes list all the changed and updated components, and the [10]README has some useful starting points. During installation, an interesting [11]new feature is the ability to automatically download and install any necessary firmware, such as for network adapters.

Along with being available in multiple versions and formats for four [12]primary architectures in nine variants, this version has significantly improved container support. Not because it now supports containers – FreeBSD has done that, in the form of [13]Jails , for 24 years now. It first appeared in version 4 back in 2000, four years before Solaris got Zones.

[14]

The difference is that FreeBSD now can handle containers in ways that are compliant with [15]OCI specifications . The [16]Open Containers Initiative is a Linux Foundation-backed inter-company alliance that's standardizing how containers are packaged, delivered, deployed, and managed. These are the methods that are most familiar to people in the vast industry around containers on Linux.

[17]

[18]

[19]Podman is an all-FOSS, daemonless container management system that's compatible with Docker, and the x86-64 and Arm64 editions of FreeBSD 14.2 now contain a [20]Podman-compatible toolkit for handling OCI containers on FreeBSD. As that site says:

Mad props to SamuelKarp@ and dfr@ who made all of this work, from building [21]https://github.com/samuelkarp/runj the first container-friendly port for FreeBSD, to porting the entire podman suite and getting necessary kernel changes to support it. Mad Mad Props!

For clarity, no, this does not mean that you can take a Linux container and run it directly on FreeBSD. Nor does it mean that you can directly run FreeBSD in a container on top of Linux. In case you need a quick refresher why not, The Reg FOSS desk explained how containers work in part three of our [22]brief history of virtualization way back before Docker was a glint in some VC's eye. It is possible to run containers from one OS on top of a different OS, but it involves some shenanigans with virtual machines. This, for instance, is why and how so many people use [23]Alpine Linux and don't even know . Instances of Alpine in VMs are how Docker Desktop runs Linux containers on Windows and macOS.

[24]

Old school X11 on shiny new FreeBSD: a window manager and a bunch of xterms. Who needs more? – click to enlarge

For now, the OCI support is all about running FreeBSD containers on top of FreeBSD itself. FreeBSD does include a Linux emulator, called the [25]Linuxulator , and as well as running some individual Linux binaries on it, you can also run the userland of an existing distro on the Linuxulator, a setup called a [26]Linux Jail . As an example, Stefano Marinelli – [27]about whom we've written before – has documented [28]running Alpine in a jail .

FreeBSD's OCI support is still quite new, and for now, you do still have to run it as root – even though rootless operation is one of Podman's selling points on Linux. This will probably change in time, and there is the interesting theoretical prospect of running Linux containers directly on FreeBSD.

But for now, these are still the same existing, time-tested FreeBSD-on-FreeBSD containers. The difference is that rather than using FreeBSD's own unique commands to manage your jails, you can use Docker-compatible syntax, Docker-compatible container file formats, standard JSON config files, and so on.

[29]FLTK hits 1.4, arrives speaking Wayland and with better HiDPI support

[30]Apple macOS 15 Sequoia is officially UNIX. If anyone cares...

[31]Version 7.6 – the 'OpenBSD of Theseus' – released

[32]Switching customers from Linux to BSD because boring is good

On one hand, this will make life easier for experienced Docker-herders who might be migrating to FreeBSD, but on the other, it will ease integration with existing tooling that knows how to manage standard tooling such as Podman, [33]Buildah for generating OCI container images, and [34]Skopeo for working with remote container registries, which can retrieve images from repos, copy from one repo to another, inspect images, and so on. Notably, at [35]this year's EuroBSDCon , we discovered that managing FreeBSD boxes often [36]uses Ansible .

Soon, managing containers on FreeBSD servers using existing tooling aimed mainly at Linux should become much easier.

[37]

We upgraded our FreeBSD testbed machine (a Lenovo ThinkPad T420) to the new release. This old laptop had a bumpy ride going from FreeBSD 13.3 to 14. Although it only has the CPU's built-in Intel HD 3000 GPU, upgrading FreeBSD removed part of the Intel DRM driver and the Slim display manager, so X11 stopped working. We managed to fix that a while ago, but before trying 14.2, we had to upgrade the machine from 14.0 to 14.1: freebsd-update -r 14.1 upgrade

freebsd-update install

Then we rebooted, ran freebsd-update install a second time, then rebooted again. The upgrade went perfectly smoothly and everything worked fine. We then repeated the process for 14.2: freebsd-update -r 14.2 upgrade

freebsd-update install

That didn't go so well, and although the machine still works, the console doesn't: the screen goes blank when the kernel initializes the GPU. It's possible to log in blind and type startx to launch Xfce 4.18, but we had to SSH into the box to find that it was still running. (Apparently, it's a [38]known issue with drm-kmod , which does not excuse it in our book.) The claims we've heard from many enthusiastic FreeBSD evangelists that upgrades are so safe that they're almost boring don't apply if you're running a laptop with a GUI, sadly.

[39]

If you prefer a few more mod cons, there are a choice of desktops available, installable via the optional 'desktop-installer' tool – click to enlarge

A couple of months ago we wrote that the [40]FreeBSD Foundation had won some funding to improve the desktop experience. We hope it spends the money wisely because it's badly needed. We also noted that although Wi-Fi is working fine, it's only able to see and connect to our 2.4 GHz home network. 5 GHz support is still missing. An attempt to install a fresh copy onto our testbed Thinkpad W520, into a partition alongside Windows 10 and two Linux distros, failed completely, on the other hand. In a multi-boot setup, even the latest version does not play well with others, it seems.

We had more success installing it in a VirtualBox VM. A tip that we learned at the EuroBSDCon is that although VirtualBox still says that UEFI support is for "special OSes only," it's important for FreeBSD. Apparently, it has some known problems booting from ZFS on BIOS systems on disks partitioned with MBR. Picking UEFI and allowing the OS to choose its own partitioning scheme worked perfectly, and gave us a running system with no problems on a GPT-partitioned 16 GB virtual drive.

FreeBSD 14.2 has some useful new features that should help it to integrate better with existing enterprise infrastructure, while laying the groundwork for some exciting possibilities in future. But despite its improved firmware handling, don't expect miracles in this point release. It's still not an easy OS to install compared to contemporary Linux systems, and for now, Wi-Fi support remains disappointing. ®

Get our [41]Tech Resources



[1] https://www.freebsd.org/releases/14.2R/announce/

[2] https://www.freebsd.org/releases/14.1R/announce/

[3] https://bsdsec.net/articles/freebsd-14-0-end-of-life

[4] https://freebsdfoundation.org/mike_karels/

[5] https://www.ugu.com/sui/ugu/showclassic?I=info.Mike_Karels&F=11uemijss&G=Y

[6] https://regmedia.co.uk/2024/12/05/freebsd_14-2_console.png

[7] https://github.com/openzfs/zfs/releases/tag/zfs-2.2.6

[8] https://github.com/openssl/openssl/releases/tag/openssl-3.0.15

[9] https://www.freebsd.org/releases/14.2R/relnotes/

[10] https://www.freebsd.org/releases/14.2R/readme/

[11] https://cgit.freebsd.org/src/commit/?id=03c07bdc8b31

[12] https://www.freebsd.org/platforms/#_supported_platforms

[13] https://freebsdfoundation.org/freebsd-project/resources/introduction-to-freebsd-jails/

[14] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/oses&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=2&c=2Z1IwkTK4FuHbq-6fef7jKAAAANQ&t=ct%3Dns%26unitnum%3D2%26raptor%3Dcondor%26pos%3Dtop%26test%3D0

[15] https://opencontainers.org/about/overview/

[16] https://opencontainers.org/

[17] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/oses&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=4&c=44Z1IwkTK4FuHbq-6fef7jKAAAANQ&t=ct%3Dns%26unitnum%3D4%26raptor%3Dfalcon%26pos%3Dmid%26test%3D0

[18] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/oses&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=3&c=33Z1IwkTK4FuHbq-6fef7jKAAAANQ&t=ct%3Dns%26unitnum%3D3%26raptor%3Deagle%26pos%3Dmid%26test%3D0

[19] https://podman.io/

[20] https://people.freebsd.org/~dch/posts/2024-12-04-freebsd-containers/

[21] https://github.com/samuelkarp/runj

[22] https://www.theregister.com/Print/2011/07/18/brief_history_of_virtualisation_part_3/

[23] https://www.theregister.com/2022/05/26/alpine_linux_316_released/

[24] https://regmedia.co.uk/2024/12/05/freebsd_14-2_x_with_twm.png

[25] https://wiki.freebsd.org/Linuxulator

[26] https://wiki.freebsd.org/LinuxJails

[27] https://www.theregister.com/2024/10/08/switching_from_linux_to_bsd/

[28] https://it-notes.dragas.net/2024/01/18/installing-alpine-linux-on-a-freebsd-jail/

[29] https://www.theregister.com/2024/11/26/fltk_14_released/

[30] https://www.theregister.com/2024/10/11/macos_15_is_unix/

[31] https://www.theregister.com/2024/10/10/version_76_openbsd_of_theseus/

[32] https://www.theregister.com/2024/10/08/switching_from_linux_to_bsd/

[33] https://buildah.io/

[34] https://github.com/containers/skopeo

[35] https://2024.eurobsdcon.org/

[36] https://docs.ansible.com/ansible/latest/os_guide/intro_bsd.html

[37] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/oses&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=4&c=44Z1IwkTK4FuHbq-6fef7jKAAAANQ&t=ct%3Dns%26unitnum%3D4%26raptor%3Dfalcon%26pos%3Dmid%26test%3D0

[38] https://www.freebsd.org/releases/14.2R/errata/

[39] https://regmedia.co.uk/2024/12/05/freebsd_14-2_xfce.jpg

[40] https://www.theregister.com/2024/10/01/freebsd_and_samba_funding/

[41] https://whitepapers.theregister.com/



'Upgrades are so safe they're almost boring'

BinkyTheMagicPaperclip

You have *got* to be kidding me. So far I've found FreeBSD upgrades to be somewhat of a pain, and FreeBSD has ongoing issues where you install a new package, it breaks something else, and then you have to do an update of everything, cross your fingers, and hope. At that point you wonder why you're not using Windows instead. Upgrades are also quite slow, even on reasonably recent hardware.

I persevere because I'd like FreeBSD to succeed, but given the increasing polarisation of operating systems you're still hit over the head repeatedly with the fact this is Not Linux or Not Windows. Last weekend it was even worse, a project to install new firmware on smart plugs is not only Linux specific, it's *Ubuntu* specific ('needs Network Manager and Docker, not tested on anything else'). Mint appeared to be close enough. Ubuntu didn't boot or possibly was grindingly slow (Mint was glacial to install) on the old Athlon system I tried, apparently the Windowsisation of Linux continues. Not using a particularly modern system? Prepare to experience pain.

On the other hand for the most part OpenBSD really is fire and forget. Run sysupgrade. Go to make a cup of tea. Come back. Done. Provided you're sticking to functionality in base it's pretty straightforward. (OK, technically I did run into an issue a few releases back with an old system with only IDE support and an unusual partition layout, but that's a rarely used system).

No surprise about Wi-fi. I gave up on that under OpenBSD and others, it's one area where it really needs the manufacturer writing the drivers. Stopped trying to create my own access point or failover to a 4G dongle, an moved to a standalone access point and 4G router (running Microtik's RouterOS in the latter case)

beta test, v:
To voluntarily entrust one's data, one's livelihood and one's
sanity to hardware or software intended to destroy all three.
In earlier days, virgins were often selected to beta test volcanos.