Linux From Scratch (LFS), a project that provides you with step-by-step instructions for building your own custom Linux system, has released a new version of their book in two versions (without and with systemd): The Linux From Scratch community announces the release of LFS Version 9.0. Major changes include toolchain updates to glibc-2.30, and gcc-9.2.0. In total, 33 packages were updated since the last release. Changes to the text have also been made throughout the book. The Linux kernel has also been updated to version 5.2.8. You can read the book online, or download to read locally. In coordination with this release, a new version of LFS using the systemd package is also being released. This package implements the newer systemd style of system initialization and control and is consistent with LFS in most packages. You can read the systemd version of the book online at LFS-systemd, or download-systemd to read locally. The Beyond Linux From Scratch (BLFS) project, which extends the LFS project by providing “instructions for installing and configuring various packages on top of a base LFS system”, such as server and desktop software and libraries, also announced an accompanying release: The BLFS Team is proud to present version 9.0 of Beyond Linux From Scratch. This version includes approximately 1000 packages beyond the base Linux From Scratch Version 9.0 book. The book has 850 updates from the previous version plus many other text and formatting changes. The System V version of the book now has added Gnome as an additional desktop environment in addition to the previous KDE/plasma, xfce, and lxde environments. This is a coordinated release with BLFS-9.0-systemd. You can view the 9.0 version at online or download to read locally. You can view the 9.0 systemd version at online systemd or download-systemd to read locally. I’ve been wanting to set up an LFS system as a learning experience for almost two decades now. I really have to stop putting it off.
EasyOS is designed from scratch to support containers. Any app can run in a container, in fact an entire desktop can run in a container. Container management is by a simple GUI, no messing around on the commandline. The container mechanism is named Easy Containers, and is designed from scratch (Docker, LXC, etc are not used). Easy Containers are extremely efficient, with almost no overhead — the base size of each container is only several KB. This is just one of the details of EasyOS, an experimental Linux distribution that really does things differently.
Linux 5.3 has been released. This release includes support for AMD Navi GPUs; support for the umwait x86 instructions that let processes wait for short amounts of time without spinning loops; a ‘utilization clamping’ mechanism that is used to boost interactivity on power-asymmetric CPUs used in phones; a new pidfd_open(2) system call that completes the work done to let users deal with the PID reuse problem; 16 millions of new IPv4 addresses in the 0.0.0.0/8 range are made available; support for Zhaoxin x86 CPUs; support Intel Speed Select for easier power selection in Xeon servers; and support for the lightweight hypervisor ACRN, built for embedded IoT devices. As always, many other new drivers and improvements can be found in the changelog.
Version 8.6 of the popular Debian-derived Linux distribution Knoppix was released on Sunday, rebasing the distribution on Debian 10 (Buster)—released on July 9—with select packages from Debian’s testing and unstable branches to enable support for newer graphics hardware. Knoppix is among the first Linux distributions that can be run live from a DVD, and continues to enjoy a great deal of popularity among Linux enthusiasts. Knoppix 8.6 is notable for being the first publicly-released version of the distribution to abandon systemd, an init system built by Red Hat’s Lennart Poettering intended to replace sysvinit. While adoption of systemd was the subject of considerable controversy and criticism, it is the mainstream default, used by Knoppix’s upstream Debian, as well as other Debian forks such as Ubuntu and Mint; RHEL, CentOS, and Fedora; openSUSE and SLES, as well as Mageia, and by default in Arch. I stay far away from the systemd debate – mostly because I honestly have no clue – but I was actually kind of surprised Knoppix was still around. It’s one of the oldest Linux live CDs around, and somehow I find it comforting that it’s still seeing development.
Microsoft ♥ Linux – we say that a lot, and we mean it! Today we’re pleased to announce that Microsoft is supporting the addition of Microsoft’s exFAT technology to the Linux kernel. It’s important to us that the Linux community can make use of exFAT included in the Linux kernel with confidence. To this end, we will be making Microsoft’s technical specification for exFAT publicly available to facilitate development of conformant, interoperable implementations. We also support the eventual inclusion of a Linux kernel with exFAT support in a future revision of the Open Invention Network’s Linux System Definition, where, once accepted, the code will benefit from the defensive patent commitments of OIN’s 3040+ members and licensees. Microsoft has been using its exFAT patents to bat Linux companies over the head with for close to two decades, and it was an important pillar of Microsoft’s strategy of extracting patent licensing fees from all kinds of entities using Linux. Seeing this finally come to a complete and non-negotiable end is a sight to behold, but it does make me wonder – was it really all necessary? Was it worth it? It seems like to me it really wasn’t – in fact, it’s been a catastrophic failure. Linux is now the single most popular operating system in the world, shipping on more devices and hardware than any other. No amount of silly troll patents were going to stop that.
Today, we are very excited to announce a new open source project which enables interaction with traditional desktop environments, such as GNOME and KDE, in VR. Sponsored by Valve, xrdesktop makes window managers aware of VR and is able to use VR runtimes to render desktop windows in 3D space, with the ability of manipulating them with VR controllers and generating mouse and keyboard input from VR. At least the time Valve isn’t spending on making the Steam client not suck or, you know, games, is spent on something worthwhile – improving often neglected aspects of the Linux world.
Linux kernel headers are the unstable, constantly-changing, internal API of the kernel. This includes internal kernel structures (for example, task_struct) as well as helper macros and functions. Unlike the UAPI headers used to build userspace programs that are stable and backward-compatible, the internal kernel headers can change at any time and any release. While this allows the kernel unlimited flexibility to evolve and change, it presents some difficulties for code that needs to be loaded into the kernel at runtime and executed in kernel context. My solution to the problem is to embed the kernel headers within the kernel image itself and make it available through the sysfs virtual filesystem (usually mounted at /sys) as a compressed archive file (/sys/kernel/kheaders.tar.xz). This archive can be uncompressed as needed to a temporary directory. This simple change guarantees that the headers are always shipped with the running kernel. This change has been added to version 5.2 of the Linux kernel.
Unikernels have demonstrated enormous advantages over Linux in many important domains, causing some to propose that the days of Linux’s dominance may be coming to an end. On the contrary, we believe that unikernels’ advantages represent the next natural evolution for Linux, as it can adopt the best ideas from the unikernel approach and, along with its battle-tested codebase and large open source community, continue to dominate. In this paper, we posit that an up-streamable unikernel target is achievable from the Linux kernel, and, through an early Linux unikernel prototype, demonstrate that some simple changes can bring dramatic performance advantages. A scientific paper on the subject.
ZFS on Linux 0.8 (ZoL) brought tons of new features and performance improvements when it was released on May 23. They came after Delphix announced that it was migrating its own product to Linux back in March 2018. We’ll go over some of the most exciting May features (like ZFS native encryption) here today. For the full list—including both new features and performance improvements not covered here—you can visit the ZoL 0.8.0 release on Github. (Note that ZoL 0.8.1 was released last week, but since ZFS on Linux follows semantic versioning, it’s a bugfix release only.)
In an interesting video interview, Canonical founder Mark Shuttleworth shares his thoughts on desktop Linux. Some of his most prominent statements include: “I think the bigger challenge has been that we haven’t invented anything in the Linux that was like deeply, powerfully ahead of its time” and, “if in the free software community we only allow ourselves to talk about things that look like something that already exists, then we’re sort of defining ourselves as a series of forks and fragmentations.”
If you are reading this post you’re very much likely not a fan of systemd already. So we won’t preach on why systemd is bad, but today we’ll focus more on what are the alternatives out there. Our approach is obviously not for settling for less but for changing things for the better. We have started the world after systemd project some time ago and the search isn’t over. So what are the non-systemd distros out there? I’ll be honest and say that I completely missed the systemd controversy back when it happened, and while I’ve tried reading up on the criticism of systemd, I clearly lack the technical acumen to say anything meaningful about it either way. But hey, for those of you out there who don’t like systemd – this one’s for you.
Some of the true craftsmanship in the world we take for granted. One of these things is the common tools on Linux, like ps and ls. Even though the commands might be perceived as simple, there is more to it when looking under the hood. This is where ELF or the Executable and Linkable Format comes in. A file format that used a lot, yet truly understood by only a few. Let’s get this understanding with this introduction tutorial! Some light reading for the weekend.
At Google I/O, Google quietly announced that “all devices launched this year will be Linux-ready right out of the box.” A ZDNet article has more details. Earlier, you could run Debian, Ubuntu and Kali Linux on Chrome OS using the open-source Crouton program in a chroot container. Or, you could run Gallium OS, a third-party, Xubuntu Chromebook-specific Linux variant. But it wasn’t easy. Now? It’s as simple as simple can be. Just open the Chrome OS app switcher by pressing the Search/Launcher key and then type “Terminal”. This launches the Termina VM, which will start running a Debian 9.0 Stretch Linux container.
Linux 5.1 released has just been released. The main feature in this release is io_uring, a high-performance interface for asynchronous I/O. There are also improvements in fanotify to provide a scalable way of watching changes on large file systems, and it adds a method to allow safe delivery of signals in presence of PID reuse. Persistent memory can be used now as hot-plugabble RAM, Zstd compression levels have been made configurable in Btrfs, and there is a new cpuidle governor that makes better power management decisions than the menu governor. In addition, all 32 bit architectures have added the necessary syscalls to deal with the y2038 problem; and live patching has added support for creating cumulative patches. There are many other features and new drivers in the KernelNewbies changelog.
Had enough of Windows 10’s hassles? Unless you plan to install Windows 7, which is going to lose support from Microsoft on January 14, 2020, or have the cash to spare for an Apple device, there aren’t many other options for a computer operating system except some flavor of Linux. Although you can expect a learning curve when changing platforms, Windows users who are curious about the state of Linux for mainstream computing might come away surprisingly satisfied after finding a suitable distribution for their machine and spending time getting familiar with the new environment. Here are five-plus reasons why you could easily wind up preferring Linux instead of Windows as the default operating system on your desktop or laptop. Regardless of any preferences you think you might have, assuming you have the means to do so, it is always a good idea set some time apart every now and then and take a good look at the system you’re using, possible alternatives, and how difficult it would be to switch. This fosters the kind of thinking that prevents you from being locked into a platform or ecosystem too easily.
My software setup has been surprisingly constant over the last decade, after a few years of experimentation since I initially switched to Linux in 2006. It might be interesting to look back in another 10 years and see what changed. A quick overview of what’s running as I’m writing this post. A detailed overview of a terminal-oriented Linux software setup. There’s obviously countless setups like this, but this post is quite detailed and possibly contains some ideas for others.
Late last year, Linux OEM System76 unveiled the Thelio, its custom Linux-focused workstation. The computer is now shipping to consumers, meaning the first reviews are starting to roll in. Leonora Tindall wrote up her experience with System76’s latest workstation, concluding: System76’s new “open hardware” desktop, is a small, beautiful, and powerful desktop computer that hits every high point anyone could have expected, faltering only in the inherent limitations of its small size. It’s pretty, it’s tiny, it’s fast, it’s well cooled, and the software support is top-tier. Despite being somewhat noisy and lacking front I/O, it’s certainly a good machine for any Linux user who can swallow the 18% – 22% upcharge for assembly and custom engineering. It must be difficult to sell highly customisable Linux workstations like these, since virtually anyone using Linux is most likely more than capable and willing to build their own computer. Still, I commend the effort, and it can serve as a halo product for System76’s Linux laptops, which probably cover a wider net of possible consumers.
We are no longer in control of our home directories. My own home directory contains 25 ordinary files and 144 hidden files. The dotfiles contain data that doesn’t belong to me: it belongs to the programmers whose programs decided to hijack the primary location designed as a storage for my personal files. I can’t place those dotfiles anywhere else and they will appear again if I try to delete them. All I can do is sit here knowing that in the darkness, behind the scenes, they are there. Waiting in silence. Some of those programmers decided to additionally place some normal files and directories in the same place. Those are clearly visible every time I execute ls in my home directory. It is beyond me why my home directory ended up up containing a node_modules directory, package-lock.json, a yarn.lock file (I have never even consciously used yarn!), some 2 strange log files origination from some Java software clearly using an H2 database, and a Desktop directory. That last one has been created by Steam, which is quite unfortunate as I simply do not have a desktop or a desktop environment on my machine. I dread the day in which I will hear a loud knock on my door and one of those programmers will barge in informing me that he is going to store a piece of his furniture in the middle of my living room, If I don’t mind. The way Linux distributions handle the directory structuce in general is deeply broken and inconcistent – trying to cram a modern desktop operating system in a directory structure designed for punch card machines is lunacy – and this is yet another example of that. It’s not just developers being lazy; it’s also developers simply being unable to count on distributions making sane choices and following the FHS to begin with. UNIX-based operating systems are an outdated mess under the hood, and developers are trying to work around that mess by making an even bigger mess using hidden files and random directories all over the place. Of course, saying this is considered sacrilege, as an operating system designed for mainframes in the ’60s is clearly perfect, and never needs to change or alter or improve its underpinnings in any way, shape, or form.
While Ubuntu and Red Hat grabbed most of the Linux headlines last year, Linux Mint, once the darling of the tech press, had a relatively quiet year. Perhaps that’s understandable with IBM buying Red Hat and Canonical moving back to the GNOME desktop. For the most part Linux Mint and its developers seemed to keep their heads down, working away while others enjoyed the limelight. Still, the Linux Mint team did churn out version 19, which brought the distro up to the Ubuntu 18.04 base. While the new release may not have garnered mass attention, and probably isn’t anyone’s top pick for “the cloud,” Linux Mint nevertheless remains the distro I see most frequently in the real world. When I watch a Linux tutorial or screen cast on YouTube, odds are I’ll see the Linux Mint logo in the toolbar. When I see someone using Linux at the coffee shop, it usually turns out to be Linux Mint. When I ask fellow Linux users which distro they use, the main answers are Ubuntu… And Linux Mint. All of that is anecdotal, but it still points to a simple truth. For a distro, that has seen little press lately, Linux Mint manages to remain popular with users. Linux Mint is definitely my distribution of choice – they don’t try to change the world, and just want to develop a solid, fairly traditional desktop-oriented distribution, and they’re damn good at it. It’s on my laptop, and the fact I barely even realise I’m using Linux while using Mint tells you all you need to know.
It was just several years ago that the open-source ecosystem began supporting the x32 ABI, but already kernel developers are talking of potentially deprecating the support and for it to be ultimately removed.
The Linux x32 ABI as a reminder requires x86_64 processors and is engineered to support the modern x86_64 features but with using 32-bit pointers rather than 64-bit pointers. The x32 ABI allows for making use of the additional registers and other features of x86_64 but with just 32-bit pointers in order to provide faster performance when 64-bit pointers are unnecessary.
This headline confused me for a second, because at first I thought the Linux team was removing 32 bit support - which obviously made little sense to me. As the quoted blurb explains, that's not the case.