Alpine Linux 3.21: Lean, mean, and LoongArch-ready

A cool mountain breeze blowing in after the new LTS kernel

A fresh release of the minimalist and very lightweight Alpine Linux is here, with support for Chinese LoongArch64 CPUs.

As usual for Alpine Linux, 3.21 follows closely upon the release of a new LTS kernel version. Kernel 6.12 was declared the new LTS on December 5, and this version of Alpine was announced the same day (see the bootnote for more information).

Alpine 3.21 has a raft of other updates along with the kernel: updated development tools including .NET 9, and new desktops including KDE Plasma 6.2, LXQt 2.1, and GNOME 47 (although gnome-software has been held back due to issues in handling Alpine's apk packaging format).

In 2021, Alpine 3.15 dropped MIPS64 support, but since then it's been adding new CPU architectures instead. The version before this one, Alpine 3.20, added RISC-V back in May.

Now, it gains another: the quite MIPS-like Chinese Loongson, which is now available in ultra-small-form-factor mini PCs and is even running in space. Although China now has its own Shanghai Zhaoxin x86 processors – there's even a Lenovo ThinkPad based on them – it seems to us that this sort of investment bodes well for the Loongson architecture.

Welcome to Alpine! No flashy boot screens here – but prepare to be surprised how fast it gets to this point.

Welcome to Alpine! No flashy boot screens here, but prepare to be surprised how fast it gets to this point – click to enlarge

Alpine is not a completely GNU-free Linux distro – for instance, although it includes LLVM 19, parts of it are compiled with GCC 14.2.0 – but it comes quite close. While almost all other Linux distributions use the standard GNU standard C library, along with Void Linux, Alpine uses musl libc instead. (In case that makes you think DNS will be broken, the issues around musl and DNS were fixed in Alpine 3.18 a year and a half ago.) Even so, a lot of apps and tools assume that Linux == glibc.

Alpine also uses the Swiss Army knife of Busybox, providing not only the shell but also a good chunk of what you'd usually find under /usr. Speaking of that directory tree, the Alpine developers are preparing for the great /usr merge, and from now on the /usr file system will be mounted from the initramfs.

Check out the usage numbers for the default install. 168MB of disk, 63MB of RAM. That's small.

Check out the usage numbers for the default install. 168 MB of disk, 63 MB of RAM. That's small – click to enlarge

Quite a few common Linux tools are missing – and if they aren't FOSS, chances are that they won't work, because they're built against glibc. So no Google Chrome, Microsoft Edge, Opera, Skype, Slack, and so on. Flatpak is available, but Snap isn't (because it depends on systemd), nor is Appimage. The use of musl also means Electron apps don't work. That nixes several tools The Reg FOSS desk uses heavily, from the Ferdium fork of the Ferdi multi-protocol chat client to the excellent Panwriter distraction-free word processor.

It's hard to specify what gives a Unix-like OS its "feel," but it's definitely a real thing. For this vulture, the combination of a different libc, shell and core utilities, and the relatively restricted set of desktop apps means Alpine feels more like it's one of the BSDs than any other Linux. As such, if you're tired of the bloat of modern Linux, this is an excellent option to take a step away from it. In the best possible way, it feels like Linux used to decades ago: lean, mean, and devoid of flabby commercial apps. It's also a good first step toward moving to FreeBSD or one of the others. While you still have one foot in the world of Linux, a lot of familiar apps are missing or are very different, and you must learn to adapt.

Even with X.org and Openbox, it's under half a gig and under 100 megs of RAM.

Even with X.org and Openbox, it's under half a gig and under 100 megs of RAM – click to enlarge

It's pretty easy to get Alpine running in a VM. Just download the Extended image, boot it, and run setup-alpine. Once it's done, reboot into the new OS and run setup-desktop.

It gets a little trickier on real hardware, especially if you want to dual-boot Alpine. We suggest formatting a key with the essential Ventoy multi-boot creator, and, as well as the Alpine ISO, put the latest SystemRescue ISO file on there too. Use Gparted under SystemRescue to create your target partitions first. Then follow Alpine's instructions for setting up disks manually. (We've yet to see any machine that genuinely needs the separate /boot partition that the setup asks for.)

Boot the Alpine ISO, run through the preliminary steps of setup-alpine – setting the keyboard, finding mirrors, creating users, and so on – but Ctrl-C out when it asks where to install. Mount your target partition under /mnt/, then run setup-disk:

setup-disk -m sys /mnt

The Alpine wiki points to this guide to dual-booting with Windows 11, which may help anyone unfortunate enough to be lumbered with Microsoft's latest so-called trusted computing effort.

It's worth learning, even if you don't use it as a desktop. As an example, the Frood initramfs-based NAS is a fascinating demonstration of the sort of setup Alpine facilitates – without the complexities of NixOS and learning the Nix language. ®

Bootnote

Synchronizing release schedules with an upstream project has been done for decades. For instance, at first Ubuntu only offered GNOME, and its release cycles were timed to arrive right after new versions of GNOME. When Ubuntu 4.10 was released in 2004, it used kernel 2.6.8. As far as we know, long-term supported kernels didn't exist yet back then. Syncing with kernel releases makes more sense to us than desktop releases, especially since most distros support lots of different desktops. One problem is that the kernel release cycle isn't set in stone:

Longterm kernels are picked based on various factors – major new features, popular commercial distribution needs, device manufacturer demand, maintainer workload and availability, etc. You can roughly estimate when the new longterm version will become available based on how much time has elapsed since the last longterm version was chosen.

We suspect that the first LTS kernel was version 4.4, which the Linux Foundation's Civil Infrastructure Platform calls out on its kernel maintenance page:

The Linux kernel 4.4 was released on January 10th 2016. It was declared LTS (Long Term Support) by the stable team which means Greg Kroah-Hartman was supposed to maintain it for two years (Feb 2018).

More about

TIP US OFF

Send us news


Other stories you might like