systemd on Slackware! Something, Something, Something, Dlackware

Dlackware is not your average “GNOME for Slackware” project but instead aims to take the slack out of Slackware. What you get in return is the latest in “enterprise” technology. Dlackware delivers a fully functional GNOME 3.22 desktop with PAM, Wayland and systemd.

While ignoring the immediate risk of being burned as a heretic, I could not withstand the urge to give this project a spin on my HP 250 Notebook.

systemd

After a good 10 hours of compiling, by way of the Dlackware build system, I could finally watch the systemd startup on my very own Slackware Linux system. What else is there to say, it just worked and nothing bad happened. It may have felt wrong but that’s about it. The systemd implementation seems sound and worked as expected from my previous experiences with systemd.

systemd on Slackware Linux 14.2
systemd on Slackware Linux 14.2

GNOME 3

It’s been years since I’ve tried GNOME but I was pleasantly impressed with how the desktop environment has evolved. It looks and feels very professional and I believe I could get used to GNOME again (if I had to). I still find some of the GNOME applications too simplistic compared to their KDE counterparts, but that’s really a matter of preferences.

GNOME 3.22 on Slackware Linux 14.2
GNOME 3.22 on Slackware Linux 14.2

I didn’t experiment with the “online accounts” integration as I prefer to keep my personal data to myself. Thankfully GNOME respects your privacy and doesn’t keep nagging about connecting to the cloud. To summarize, running GNOME 3.22 on Slackware has been great, no crashes or other issues worth mentioning.

Dlackware

I’m very impressed with what the developers behind this project has delivered. In addition to the technical merits, they have also provided an unlimited GNOME 3 experience to the Slackware community.

However, any mention of systemd in Slackware circles tend to get ugly fast so I’m not entirely convinced that the project will enjoy a substantial userbase. Personally, I did enjoy the experience even if I do belong in the greybeard camp. I’ll definitely keep an eye on the project in the future.

Links

An installation guide is available at github.
Announcement thread at LinuxQuestion.org.

Don’t blame me

Dlackware rebuilds and replaces system components. Just indiscriminately running “slackpkg upgrade-all” after installation will break your system.

# /etc/slackpkg/blacklist
# This is a blacklist file.
[0-9]+_dlack

A Privacy Policy update

I believe it does a better job of promoting the goals I have in regard to security and privacy for visitors of this website. I’m painfully aware that few people ever bother with reading a website’s privacy policy, but eventually…. wake up, Neo.

Read the updated Privacy Policy.

Gentoo kernel upgrade checklist

These steps are partly dependent on my personal Gentoo installation and should not be viewed as a general recipe. Please refer to the official Gentoo wiki on the topic instead.
I’m using genkernel to generate an initramfs and GRUB2 as my boot loader.

Before performing a kernel upgrade I would advise to make sure there is enough free space available on the system. I have lost count on the number of failed builds I’ve had due to running out of storage. This has usually been caused by leaving behind older builds under /usr/src/, which takes up a lot of space.

Do not delete anything belonging to your running kernel though, it might still be needed if the new kernel doesn’t work out. Refer to the Gentoo wiki for details on how to free up some needed space. I would suggest having at least 6GB of free disk space on the root partition before building the new kernel.

Preparations

Update the /usr/src/linux symlink to point to the new sources (alternatively use the eselect tool):

ln -sfn /usr/src/linux-4.4.26-gentoo /usr/src/linux

Kernel configuration

Enter the new sources directory and copy the running kernel configuration using zcat. The purpose of this is to build the new kernel using the existing configuration that is already optimized for my hardware. I’m also storing a copy of my running kernel configuration for good measure.

cd /usr/src/linux
zcat /proc/config.gz > .config
cp .config ~/kernel-config-`uname -r`

The next step is to configure the new kernel. As I’m upgrading from kernel version 4.4.21 to 4.4.26, there are few (if any) new kernel options. I’ll use olddefconfig which applies my old configuration and sets every new option to its default value. If you have better stamina, you’ll review every new kernel option and make well informed choices. I’ll save that for another day.

make olddefconfig

Kernel compilation and install

Compile the new kernel and install the modules. If you’re rebuilding a kernel you probably want to run “make clean” in advance.

make && make modules_install

Install the new kernel with the command:

make install

Create an initramfs

Make sure the boot partition has enough free space. Remove any old and unneeded compressed kernels (vmlinuz) and initramfs’s.
Create a new initial ram file system with Gentoo’s kernel building utility, genkernel:

genkernel --install initramfs

GRUB2

Update the boot loader. Run the grub-mkconfig program to discover the new kernel and generate menu entries.

grub-mkconfig -o /boot/grub/grub.cfg

Boot and enjoy the new kernel.