I realize that I have been kind of silent on the blog these past weeks. There are several reasons for that.
Primary reason was that I was training helpdesk teams in Asia – and no, unfortunately I did not get to travel there despite original suggestions… higher authorities deemed it better (read: cheaper) to use Microsoft Lync for the training sessions. Two weeks of looking at my computer screen while talking to electrons… that was pretty exhausting.
Also, I have been working on the next Plasma 5 batch aka my ‘ktown-testing‘ package set. Almost finished compiling, I will be waiting with my upload until the sources for Frameworks are officially released – should be tomorrow.
And finally, two years after speaking about it for the first time, I finally sat down and started working in earnest on my new “Project X”. Errr?
Riding the top of my TODO list for a long time, I have been meaning to create a Live version of Slackware. I know, there’s Porteus of course (they have an impressive ISO generator wizard by the way), and SLAX. Both are great Live distros based on Slackware. And there is SlackEX and Salix Live, and possibly some others too. Then why the urge to create yet another Live version of Slackware? Simply: because those others are Slackware-derived, and they have carved a niche of their own, but none of them are really Slackware. Also, I have been irritated by past distro reviews where the reviewer complained that Slackware did not have a Live version. Meaning, to give it a test run they would have to install the distro to an actual computer – which would lead to the usual moaning about the arcane installer and “Slackware not keeping up with time”.
So what were my goals?
- Provide a Live version of Slackware proper – i.e. show Slackware as it is, but without having to install it. No hiding of kernel messages scrolling across the screen at boot – no custom wallpapers, etcetera. Meant for education and demonstration purposes.
- Target should be slackware-current – the bleeding edge. Many people want to know what that looks like but are hesitant to install slackware-current for fear that it breaks stuff and causes productivity loss.
- Provide a way to generate a Live ISO with just Slackware packages as the source – fully scripted and deterministic.
- Still be able to customize its content – for instance provide stripped-down or minimalist versions of Slackware but also allow for the inclusion of 3rd party packages.
- Option to create a bootable USB stick running Slackware Live (which is different from ‘dd’-ing the hybrid ISO to a USB stick!)
- Keep It Simple Stupid!
Foremost, this was meant to be a learning experience. I had no idea how a Live CD/DVD worked. I knew it had to be different from how a regular installation to a USB stick would work. Booting from a CD or DVD implicates that whenever the OS wants to write to disk, some measures have to be taken so that write operations would still be possible. Writing to a read-only CD medium is impossible so writes have to be done to RAM somehow. Still learning! Without doubt, the work done by Porteus, Slackware-Live scripts, Salix and Slackel was an inspiration during my journey to discover how this stuff works, but I did not have a need for all their complexity. I tried to keep my scripts simple and barebones and stick to the goals of creating an education and demonstration tool.
So far, I have indeed been able to stick to my goals. But I am far from done, and I would consider the current state of things at most to be “Beta Quality”. Nevertheless I wanted to share a few screenshots to probe the interest in such Slackware Live media. The screenshots show that I did actually do some customization: the initial boot looks fancier than the regular Slackware system. Just to attract more newbies
I am using syslinux and its sibling extlinux for booting up the Live environment… not lilo or grub or elilo. Why? Because I wanted to know more about Syslinux’ capabilities.
Slackware Live – Syslinux boot menu showing language choices
I created a 700 MB ISO (fits on a CDROM!) containing a stripped-down Slackware with XFCE as the Desktop Environment and XDM as the graphical login manager. I also “prettified” XDM as you can see below. XDM now has proper “halt” and “reboot” buttons and Slackware logo.
Slackware Live – XDM graphical login
I have two versions of full Slackware; one containing the actual Slackware-current full install with KDE 4 as the default Desktop Environment, and a second one with Plasma 5 instead:
Slackware Live running Plasma 5.4.3
The Plasma 5 version uses SDDM as the graphical login manager:
Slackware Live – SDDM graphical login manager
The version of Plasma 5 shown in the screenshots is my still unreleased ktown package set by the way – showing that this Slackware Live would be a powerful way of showing what Slackware is capable of.
Note: my live scripts are using features only available in 4.0 kernels and higher. This makes my live environment unfit for any released version of Slackware. That is not bad. In fact, if you are looking for production-ready live OSes you are probably better of by using any of the previously mentioned distros. My version of Slackware Live is a real demo tool for the development tree of Slackware. Its core is a single script “make_slackware_live.sh” and a set of configuration files. Plus a “live init” script which replaces Slackware’s init script in the initrd image which is created by “mkinitrd”. Essentially it will be so basic that everyone should understand how this works in no time at all.
After all these big words, is there more to show than just screenshot teasers? Well, no. I am nagging the coreteam to give the ISOs a test run and this has already exposed some bugs that I am working on eradicating. When I feel confident enough I will probably upload the XFCE and Plasma 5 versions, and when the feedback is OK (and I fixed all the glaring bugs you guys will surely uncover) I will also release the scripts. For now… it’s just the screenshots.
What do you think, is this worth while? Or do you think it is redundant?