FreeBSD descendant MidnightBSD 4.0: Obsolete at release

MidnightBSD 4.0 has been released. The desktop system brings new features but lags significantly behind development.

listen Print view
Summer, night, sun, cats

(Image: Bess Hamiti, gemeinfrei)

4 min. read
By
  • Michael Plura
Contents

The developers around Lucas Holt have released MidnightBSD 4.0. MidnightBSD is a BSD originally derived from FreeBSD 6.1, which is focused on use as a desktop system. Initially, the developers envisioned a graphical desktop based on GNUstep, Window Maker, and GWorkspace, which made MidnightBSD quite special and visually appealing at the time. Since 2021, they have switched to the widespread Xfce desktop.

The kernel now supports the W^X memory mapping policy for user processes. This policy is not enabled by default but can be switched on by setting the sysctl variables kern.elf32.allow_wx and kern.elf64.allow_wx. Individual programs can be excluded from this policy by marking them accordingly with elfctl(1) using the wxneeded function.

The functionality of the automount daemon amd(8) is now handled by autofs(5). NFS client and server now support NFSv4.2, Extended Attributes, and NFS over TLS, with TLS requiring additional userland daemons to be rebuilt with a KTLS-capable OpenSSL. Furthermore, the NFS server now allows more than 16 groups with -maproot and -mapall, and with nfsv4_server_only=YES, a pure NFSv4 server can be operated without rpcbind(8). Drivers have been added for some modern Intel network cards.

The developers of MidnightBSD use their repositories and a corresponding package and port manager called mport(8). It has been updated to version 2.7.3 and now offers better error handling, nicer terminal colors, and new check/repair functions (mport verify).

Native FreeBSD uses pkg(8) as its binary package manager, which installs, updates, and removes pre-built packages from official repositories. The ports collection, on the other hand, allows building the same software from source code with custom options, after which pkg(8) can manage the resulting packages as usual. With Poudriere, this can be easily automated under native FreeBSD, while MidnightBSD, here too, treads a different and, in practice, unfortunately arduous path with Ravenports.

The GPL versions of grep(1) and the Device Tree Compiler dtc(1) have been replaced by BSD-licensed variants and can thus be installed automatically without license confirmation. The historical tool ctm(1) (CVS-through-Mail), used in ancient times to distribute and apply source code updates for BSD systems via email diffs, has been moved from the base system to mports.

At the latest, with the announcement that ZFS has been switched from the native (used in FreeBSD 12) to the OpenZFS variant, it becomes clear how far MidnightBSD is lagging behind current development:

  zfs version
   zfs-2.1.15-FreeBSD
   zfs-kmod-2.1.15-FreeBSD

The Midnight implementation of Intel Speed Shift was also implemented in Windows and Linux a decade ago, and FreeBSD itself has been using it since November 2018 (FreeBSD 12). Overall, MidnightBSD 4.0 is thus somewhere around the level of FreeBSD 13.5, which will reach its EoL in April next year. Installation is problematic in practice, and its own mport(8) package management together with Ravenports does not always run smoothly:

  mport upgrade
   Segmentation fault

With GhostBSD and NomadBSD, there are two current live systems based on FreeBSD that can also be easily installed permanently. Both will soon be updated to FreeBSD 15. Furthermore, MidnightBSD 4.0 is not a live system that can be tried out before installation, but an installer for a BSD with a graphical desktop. Native FreeBSD can also do this with the package desktop-installer(1) – and even more reliably and flexibly.

Videos by heise

In December 2005, Lucas Holt began developing what is probably the oldest FreeBSD distribution, which he named after his cat Midnight. Twenty years later, MidnightBSD unfortunately seems a bit like it's caught in a Sleeping Beauty slumber. A shame, because there is obviously a lot of work and some good ideas in the system. MidnightBSD 4.0 is now available for free on the project page.

(afl)

Don't miss any news – follow us on Facebook, LinkedIn or Mastodon.

This article was originally published in German. It was translated with technical assistance and editorially reviewed before publication.