Configuring ELILO with a generic kernel on Slackware 14.2

Configuring and using a generic kernel on EFI-based platforms with ELILO is pretty much an identical exercise to using LILO with legacy systems. Slackware provides you with a mkinitrd generator script to assist in making an initrd image to boot your system.

As an example, on my system the generator script suggests the following mkinitrd command to build an initrd (initial ramdisk).

root@slackdom:~# /usr/share/mkinitrd/mkinitrd_command_generator.sh
# A suitable 'mkinitrd' command will be:
mkinitrd -c -k 4.4.15 -f ext4 -r /dev/sda6 -m xhci-pci:ohci-pci:ehci-pci:xhci-hcd:uhci-hcd:ehci-hcd:hid:usbhid:i2c-hid:hid_generic:hid-cherry:hid-logitech:hid-logitech-dj:hid-logitech-hidpp:hid-lenovo:hid-microsoft:hid_multitouch:jbd2:mbcache:ext4 -u -o /boot/initrd.gz

The rather excessive list of modules I got in return was a result of having a USB keyboard attached. I checked the script since it didn’t make any sense to me (based on the drivers I was using), and I noticed that the script will return a hard coded list of drivers if it detects an attached USB keyboard. Anyhow, since I didn’t need those drivers I simply used the following command to add support for the ext4 filsystem:

mkinitrd -c -k 4.4.15 -f ext4 -r /dev/sda6 -m jbd2:mbcache:ext4 -u -o /boot/initrd.gz

Please be aware that if you have an encrypted root partition you will have to add support for your USB keyboard. However, the ELILO menu still works without the drivers as it’s managed by the UEFI firmware at that point.

The next step is moving the initrd image and the generic kernel to the EFI partition. On my system the path is /boot/efi/EFI/Slackware/

cp /boot/initrd.gz /boot/efi/EFI/Slackware/
cp /boot/vmlinuz-generic-4.4.15 /boot/efi/EFI/Slackware/

Lastly, I’ll configure ELILO with the option to boot either the generic or the huge kernel. I’ll stick with the generic kernel as default.

# /boot/efi/EFI/Slackware/elilo.conf

default = generic
prompt
chooser = simple
delay = 100
timeout = 100

# huge kernel
image = vmlinuz
  root = /dev/sda6
  read-only
  append = "resume=/dev/sdb4"
  label = huge
  description = "Slackware 64 huge 4.4.15"

# generic kernel
image = vmlinuz-generic-4.4.15
  root = /dev/sda6
  read-only
  append = "resume=/dev/sdb4"
  initrd = initrd.gz
  label = generic
  description = "Slackware 64 generic-4.4.15"

See ELILO: EFI Linux Boot for config options.

ELILO - Slackware 14.2
Hit tab for the boot menu and select your preferred kernel.

Slackware 14.2 review – Last of the Unices

When I began writing this review there had been 921 days since the last stable Slackware release. The apparent dormant state of development raised a few questions about the health of the distribution, but as usual the rumors of Slackware’s decline was greatly exaggerated. The following review is based on the Slackware 14.2 release candidates. Slackware 14.2 x86_64 has been installed and reviewed on a Asus ROG G771JM.

What’s new with Slackware Linux 14.2

Slackware 14.2 delivers incremental updates with KDE 4.14.21, XFCE 4.12 and Fluxbox 1.3.7. The Linux Kernel is at version 4.4.14 and the X Server checks in at version 1.18.3. Still, the most predominant change with Slackware 14.2 has probably been the replacement of ConsoleKit (user and session tracking) and udev (device manager). ConsoleKit and udev were merged into the systemd software suite which unfortunately left Slackware behind with older and unmaintained versions.

Fight The Future
The POSIX is out there.

Thankfully new forks arrived to pick up the slack, and ConsoleKit2 and eudev were added as their replacements. If you were having sleepless nights filled with fear of Slackware abandoning its KISS policy then you can rest assured that it’s not happening anytime soon. Also making it first appearance in Slackware is PulseAudio which predictably didn’t get a warm embrace from the Slackware community.

Please refer to the official Slackware release announcement and release notes for more detailed information.

The 1990s called….

I’m old not obsolete – Arnold Schwarzenegger in Terminator Genisys

Is Slackware still usable?

A full Slackware installation provides you with a modern and ready to use operating system. And before you ask, that does include desktop environments. On the surface, Slackware looks and behaves just like any other comparable Linux distribution.

What about the lack of automatic dependency resolution.

It’s true that Slackware doesn’t offer automatic dependency resolution but it’s important to acknowledge that there is no unmet dependencies on a full Slackware install. As for installing additional software, you do need to find and install additional dependencies manually.  Slackbuilds.org which was recently endorsed by Patrick Volkerding provides build scripts for a variety of additional software currently not available from the official Slackware repository.

apt-get dependencies
Dependency resolution using apt-get

I believe the concept of manual dependency resolution might seem exhausting based on experiences with other distributions where installing software often starts a chain reaction of pulling additional packages.

As an example, on Debian based distributions installing packages with apt-get will by default install recommended packages as dependencies. If you want to install the command line tool youtube-dl, you’ll also get a video player, a toolkit for handling RTMP streams, ffmpeg and more multimedia codecs than you knew existed. This approach of installing everything and the kitchen sink has its merits but as far as youtube-dl is concerned, its only dependency is python.

Is Slackware ready for the masses?

I don’t see why not, the time and effort you invest to learn the basics of the system is paid back in full by giving you a stable and reliable platform for work or leisure. Obviously not everyone will appreciate the Slackware approach of putting the user in charge of the system, but I suspect many will if given the opportunity.

Installation

Slackware uses a ncurses based installer providing you with a simple text based installer. Perhaps the most difficult part of the installation for new users is the manual disk partitioning. If that is the case then you could always do the partitioning beforehand with Gparted or similar tools. I also recommend getting familiar with the install guide from the Slackware Documentation Project.

Package management

Pkgtool is a menu-driven package maintenance tool provided with the Slackware Linux distribution. It allows the user to install, remove, or view software packages through an interactive system. Pkgtool can also be used to re-run the menu-driven scripts normally executed at the end of a Slackware installation. Source: man pkgtool

Slackpkg - upgrade-all
Slackpkg on Slackware Linux

Slackpkg is a tool for those who want to easily install or upgrade packages via the network. With slackpkg, you can have a minimal installation of Slackware Linux and install/upgrade only those packages you need the most.
Source: man slackpkg

Usage

Slackware is a multiusage distribution, it’s not tailored made for the desktop or server usage, but lets the user configure the system according to her needs.

At the office

I’m using Slackware on my office workstation running a full LAMP stack for development and sysadmin tasks. The only downtime I’ve ever experienced has been caused by power failures, though colleges have threatened to take the machine down due to excessive uptime bragging (they’re all running Windows obviously).

On servers

I would definitely recommend Slackware for server tasks. Slackware is simple, secure and rock solid. Those are features I greatly appreciate from a server installation. As a side note, you’re reading this review on a Raspberry Pi 3 powered by Slackware ARM.

On the modern laptop

Slackware 14.2 was my first Linux installation on UEFI based hardware and despite some initial fud regarding secure boot (which I’ve turned off), it does coexist happily with my Windows 10 installation. There is definitely no reason to cling to legacy bios and mbr as UEFI is the far better alternative in my opinion.

As for hardware compatibility, everything is working great with the latest 4.4.14 kernel. I did have some serious issues with the nouveau driver (hard freezes) on earlier versions of the 4.x kernel but those seemed to have been fixed upstream.

Multimedia

Slackware supports most media formats out of the box with few exceptions. However, if you want to enjoy your dvd collection you will have to install some additional codecs.

Look and feel

There is no theming or other distro specific customization with Slackware Linux. Everything is as close to the vanilla sources as possible.

The Pros:

Stability:

With each release Slackware tries to stick with stable versions of all included software. This means that apart from bug and security fixes, you won’t get the latest version of any software without compiling and installing it yourself.

KISS (Keep it simple stupid):

When you dig below the surface you’ll find that Slackware is one of the few remaining Linux distributions that is still trying to offer a simple and configurable system. Editing plain text configuration files is still the way of Slack.

UNIX-like:

Write programs that do one thing and do it well, that is the Unix philosophy. Red Hat has deemed the ways of old as obsolete and outdated. Currently Slackware is one of few remaining distributions resisting the systemd assimilation.

No cloud integration:

The dark side clouds everything. With Slackware you don’t have to share your personal data with software giants in return for better personalized ads.

The cons:

Development model:

Slackware has a closed development model.

Lack of Kerberos and PAM:

I’ll leave it at that.

Public relations:

Those annual “is Slackware dead” threads could be avoided if a few updates came more frequently from Slackware HQ. Not everyone reads the Slackware-current changelog, and when the latest update on your commercial website was from 2013, well it’s not ideal me thinks.

Ending notes

Is Slackware still relevant in 2016?

Slackware offers an alternative to the widespread adaption of systemd that we have seen with most mainstream distributions. I’m all for supporting distributions that resist the weight and pressure Red Hat is throwing around with their aggressive push towards the systemd software suite. In 2016 we should be thankful that we still have a few alternatives preserving our freedom of choice, and that in my humble opinion makes Slackware Linux more relevant that ever.

Slackware links

Slackware Linux
Support Slackware
The Slackware Documentation Project
Old Timer Slackware Ragchew (David Cantrell)

Slackware ARM announces EOL for 14.1 and -current

Some unfortunate but understandable news emerged on the Slackware ARM website today as ARM maintainer Stuart Winter released the following announcement:

Slackware ARM 14.1 will become End of Life on 1st September 2016 and development of ARM -current will cease upon the release of Slackware 14.2.

I’m just tired of continually thinking for my full time job, then working on the ARM port in what little time I have available. I don’t have the time or mental space to continue making the port represent the hallmarks of Slackware…

Please read the full announcement posted on arm.slackware.com

From what I gather, the upcoming Slackware ARM 14.2 release will continue to receive security updates, but future development on Slackware ARM will cease. I believe its user base will agree that the Slackware ARM port has been a great addition to the Slackware family and has adhered to the quality associated with the Slackware brand. I would like to express my sincere thanks and respect to @drmozes for all his work and effort on the Slackware ARM port, I have enjoyed it immensely.

Slackware Linux
Give me slack or give me death.

Not that it matter much in this context, but my self hosting project that got started with running WordPress on a RPi2 and later on a RPi3 will also come to an end. I’ve considered moving it to another distribution but it will never be as much fun as running Slackware ARM -current.