Linux Archive

Linux’s modprobe adds the ability to load a module from anywhere on the file-system

With today’s release of kmod 31, Linux’s modprobe utility for loading kernel modules can finally allow arbitrary paths to allow loading new kernel modules from anywhere on the file-system. Surprisingly it took until 2023 for allowing Linux’s modprobe to accept loading kernel modules from any arbitrary path. Rather than just specifying the module name and then looking up the module within the running kernel’s modules directory, modprobe can now allow passing a path to the module. Relative paths are also supported when prefixed with “./” for the path to the desired module. Finally.

Linux interop is maturing fast… Thanks to a games console

Two unusual companies, Valve Software and Igalia, are working together to improve the Linux-based OS of the Steam Deck handheld games console. The device runs a Linux distro called Steam OS 3.0, but this is a totally different distro from the original Steam OS it announced a decade ago. Steam OS 1 and 2 were based on Debian, but Steam OS 3 is based on Arch Linux, as Igalia developer Alberto García described in a talk entitled How SteamOS is contributing to the Linux ecosystem. Valve’s contributions to desktop Linux cannot be understated. Aside from Proton, the company also does a lot of work on graphics, as well as stuff like mentioned in the article. Without Valve, there would be no gaming on Linux – and it’s gaming that’s driving the recent surge in popularity of desktop Linux. Of course, it’s still small compared to Windows and macOS, but the growth is undeniable.

Making a micro Linux distro

In this article, we’ll talk about building up a tiny (micro) Linux “distribution” from scratch. This distribution really won’t do much, but it will be built from scratch. We will build the Linux kernel on our own, and write some software to package our micro-distro. Lastly, we are doing this example on the RISC-V architecture, specifically QEMU’s riscv64 virt machine. There’s very little in this article that is specific to this architecture, so you might as well do an almost identical exercise for other architectures like x86. We recently went through the RISC-V boot process with SBI and bare metal programming for RISC-V, so this is just a continuation up the software stack. This is great content, and a very fun exercise for an Autumn weekend.

Long-term support for Linux kernel to be cut as maintainence remains under strain

Here’s one major change coming down the road: long-term support (LTS) for Linux kernels is being reduced from six to two years. Why? Simple, Corbet explained: “There’s really no point to maintaining it for that long because people are not using them.” I agree. While I’m sure someone out there is still running 4.14 in a production Linux system, there can’t be many of them.  Another reason, and a far bigger problem than simply maintaining LTS, according to Corbet, is that Linux code maintainers are burning out. It’s not that developers are a problem. The last few Linux releases have involved an average of more than 2,000 programmers — including about 200 new developers coming on board — working on each release. However, the maintainers — the people who check the code to see if it fits and works properly — are another matter. The longer LTS support windows were put in place mostly for embedded devices, and as Ars Technica explains, it’s Android in particular that is affected by this change.

Introduction to immutable Linux systems

If you reach this page, you may be interested into this new category of Linux distributions labeled “immutable”. In this category, one can find by age (oldest → youngest) NixOS, Guix, Endless OS, Fedora Silverblue, OpenSUSE MicroOS, Vanilla OS and many new to come. I will give examples of immutability implementation, then detail my thoughts about immutability, and why I think this naming can be misleading. I spent a few months running all of those distributions on my main computers (NAS, Gaming, laptop, workstation) to be able to write this text. I haven’t given any of these a try just yet, but I feel like this is where the Linux desktop is going. I’m not sure if that’s a good or a bad thing – I need both more experience as well as read more informed opinions about it – but I do like the concept.

KSMBD declared stable – no longer “experimental” – in Linux 6.6

Back in 2021 Samsung engineers posted KSMBD as an in-kernel SMB3 server alternative to the likes of the user-space Samba server. KSMBD merged into Linux 5.15 as an experimental SMB server while after two years of fixes and other improvements has now dropped its “experimental” marking. The KSMBD in-kernel SMB3 server is now formally declared stable with Linux 6.6 in removing its experimental tag. Neat.

Linux from Scratch 12.0 released

The Linux From Scratch community is pleased to announce the release of LFS Version 12.0, LFS Version 12.0 (systemd), BLFS Version 12.0, and BLFS Version 12.0 (systemd). This release is a major update to both LFS and BLFS. The LFS release includes updates to binutils-2.41, gcc-13.2.0, and glibc-2.38. In total, 38 packages were updated since the last release. The Linux kernel has also been updated to version 6.4.12. One day, after I’m done with learning Nix and NixOS, I’ll perform a Linux from Scratch installation.

Nix Flake architecture in practice

Getting into Nix & Nix flakes can be a challenge. You may have have heard of Nix’s fame for reproducibility or Nix flake’s composability, but weren’t sure where or how to start. While some folks seem to settle for a devShell when it comes to Nix, going just a bit deeper, Nix can fulfill more project architecture requirements than merely delivering tooling. In this post we will follow journey of requirements from environment setup, to building, testing, & distributing a “Hello World” Vim plugin as the guide for learning the Nix flakes’s API. One day, when my kids moved out, I’ll dive into NixOS.

ReiserFS officially declared “obsolete”

As part of updates to the older file-system drivers for Linux 6.6, the ReiserFS file-system is no longer marked as “Supported” but is officially treated as “Obsolete” within the Linux kernel. The linux-fs merge for the Linux 6.6 cycle now treats ReiserFS as obsolete, the file-system long ago used by default on the likes of SUSE Linux. Last year with Linux 5.18 ReiserFS was deprecated and now with it being obsolete, it will likely be dropped from the mainline Linux kernel within the next two to three years. Last year openSUSE Tumbleweed also ended ReiserFS support as one of the few distributions supporting it as an option. The story of ReiserFS is a sad one – its creator, Hans Reiser, was charged with and convicted of the murder of his wife. The successor to ReiserFS, Reiser5, is still seeing sporadic development, but most likely won’t be mainlined any time soon.

Linux 6.6 to better protect against the illicit behavior of NVIDIA’s proprietary driver

The Linux 6.6 modules infrastructure is changing to better protect against the illicit behavior of NVIDIA’s proprietary kernel driver. Luis Chamberlain sent out the modules changes today for the Linux 6.6 merge window. Most notable with the modules update is a change that better builds up the defenses against NVIDIA’s proprietary kernel driver from using GPL-only symbols. Or in other words, bits that only true open-source drivers should be utilizing and not proprietary kernel drivers like NVIDIA’s default Linux driver in respecting the original kernel code author’s intent. Here’s a wild idea, NVIDIA: just release your driver code as open source.

Linux on the Commodore 64

“But does it run Linux?” can now be finally and affirmatively answered for the Commodore C64! There is a catch (rather: a couple) of course: It runs extremely slowly and it needs a RAM Expansion Unit (REU), as there is no chance to fit it all into just 64KiB. It even emulates virtual memory with an MMU. Insanity. A real C64 would take about a week (!) to boot Linux.

ZFSBootMenu: a bootloader for booting Linux on ZFS

ZFSBootMenu is a bootloader that provides a powerful and flexible discovery, manipulation and booting of Linux on ZFS. Originally inspired by the FreeBSD bootloader, ZFSBootMenu leverages the features of modern OpenZFS to allow users to choose among multiple “boot environments” (which may represent different versions of a Linux distribution, earlier snapshots of a common root, or entirely different distributions), manipulate snapshots in a pre-boot environment and, for the adventurous user, even bootstrap a system installation via zfs recv. In essence, ZFSBootMenu is a small, self-contained Linux system that knows how to find other Linux kernels and initramfs images within ZFS filesystems. When a suitable kernel and initramfs are identified (either through an automatic process or direct user selection), ZFSBootMenu launches that kernel using the kexec command. Interesting bootloader, for sure, but I am curious to know how many people use ZFS on Linux. Are there any distributions that use ZFS by default?

CIQ, Oracle and SUSE create Open Enterprise Linux Association

CIQ, Oracle and SUSE today announced their intent to form the Open Enterprise Linux Association (OpenELA), a collaborative trade association to encourage the development of distributions compatible with Red Hat Enterprise Linux (RHEL) by providing open and free Enterprise Linux (EL) source code. The formation of OpenELA arises from Red Hat’s recent changes to RHEL source code availability. In response, CIQ, Oracle and SUSE are collaborating to deliver source code, tools and systems through OpenELA for the community. Good initiative, except for the involvement of Oracle. I understand why they are part of this endeavour, but I see Oracle as entirely antithetical to open source and everything it stands for, so seeing them weasel their way into this debate pretending to be a good guy feels unpleasant.

Transform your Android device into a Linux desktop

Have you ever wanted to do more with your phone, like setting up a Webserver or a Node.js server and running a web app directly on your phone? Or doing some coding on the go? Yes, I have too. With Termux, you can run a full Linux Desktop on your Android device, and here’s how. Even without resorting to a full X desktop, Termux is oretty great. I’m not really a terminal user, so for me it’s just for the novelty of it all, but it certainly seems to work very well on my Galaxy S21.

The most prolific packager for Alpine Linux is stepping away

Alpine Linux remains one of the most popular lightweight Linux distributions built atop musl libc and Busybox. Alpine Linux has found significant use within containers and the embedded space while now sadly the most prolific maintainer of packages for the Linux distribution has decided to step down from her roles. Alice “psykose” who is easily responsible for the highest number of commits per author over the past year has decided to step down from maintaining her packages. This could be a massive hit to Alpine Linux. This distribution is definitely quite popular in its niche, and it always has way better package support than you’d expect from a small distribution like this. I wish Alice all the best, though, and hope for the project itself that the workload can be spread out among other maintainers.

A month on Chimera Linux

We talked about Chimera Linux before – it’s a unique coupling of the Linux kernel with a FreeBSD userland, musl, the package manager from Alpine Linux, and dinit. The project recently entered the alpha stage, and while not ready for everyday use, Wesley Moore still decided to try and give it a go. So far my experience has actually been better than I expected. Since I installed it I have not rebooted back into Arch. This isn’t the first time I’ve run a desktop musl system and I was prepared to encounter incompatible software more often than I did. Flatpak really helps fill the gaps there. As the alpha announcement suggested, I have run into the odd bug here and there but for the most part the system is remarkably polished and stable. I plan to keep using it as the primary OS on my laptop, including its Framework 13 AMD replacement that should arrive Q4 2023. That’s good news. Chimera is one of the more interesting operating system projects out there, and it’s headed by the same person who used to run the Void Linux for POWER hardware project, so there’s some real pedigree here.

‘The future of AlmaLinux is bright’

In case you missed it, Red Hat announced they will no longer be providing the means for downstream clones to continue to be 1:1 binary copies of Red Hat Enterprise Linux (RHEL). Very quickly, both Jack and I shared some initial thoughts, but we intentionally took our time deciding the next right step for AlmaLinux OS. After much discussion, the AlmaLinux OS Foundation board today has decided to drop the aim to be 1:1 with RHEL. AlmaLinux OS will instead aim to be Application Binary Interface (ABI) compatible. For a typical user, this will mean very little change in your use of AlmaLinux. Red Hat-compatible applications will still be able to run on AlmaLinux OS, and your installs of AlmaLinux will continue to receive timely security updates. The most remarkable potential impact of the change is that we will no longer be held to the line of “bug-for-bug compatibility” with Red Hat, and that means that we can now accept bug fixes outside of Red Hat’s release cycle. While that means some AlmaLinux OS users may encounter bugs that are not in Red Hat, we may also accept patches for bugs that have not yet been accepted upstream, or shipped downstream. I wonder just how much consumers care about the strict 1:1 with RHEL. With this change to AlmaLinux, we’re about to find out.

Desktop Linux breaks 7% marketshare

It’s been all over the news, so I can’t get around posting about it here: the year of the Linux desktop is finally here. According to the – admittedly, troublesome – figures from StatCounter, the market share of Linux on the desktop has reached 7.23%. Other publications do not count Chrome OS installations as part of the Linux share, but I think that’s nonsense – they’re both clearly Linux desktop operating systems, and should be added up. In the end, it doesn’t really matter, and I’ve mostly stopped reporting on market share figures ages ago, as all they do is invite pointless flamewars and vitriol. Linux on the desktop is doing just fine, and received a major boost thanks to Valve’s Proton. We all have our desktop platform of choice, and each of those choices is valid. Still, more than 7% on the desktop and like 90%+ on mobile is not bad for a project developed by a community.

Linux 6.4 released

As expected Linux 6.4 is out today as stable as an on-time release following a relatively quiet cycle the past two months. While the RC period of Linux 6.4 was relatively quiet and uneventful, that’s not to say there isn’t anything good with Linux 6.4… But in fact there’s a lot from beginning to upstream various Apple M2 support code in different drivers, AMD Guided Autonomous Mode added to their P-State driver, and a lot of other new hardware work. It’ll find its way to your distribution, or you can install or compile it yourself.

Linux on the 7th generation of consoles: Playstation 3 and Gentoo

Linux on the PS3 has a pretty interesting history. If you’re familiar with the History of the PS3 you probably know that when it was first released in 2006 Sony shipped it with support to run other operating systems through a feature called OtherOS. OtherOS allowed people to install operating systems like Linux or FreeBSD on a second partition on the PS3 hard drive. In 2010 Sony removed OtherOS support in firmware 3.21 because of “security concerns” AKA some people were starting to use it to look a bit too close into the PS3 internals and figure out how to pirate games. With custom firmware it’s possible to use OtherOS on modern firmwares so that’s what we’ll be doing here. This is the continuation of part 1 about the Xbox 360.