My thoughts on Slackware, life and everything

Category: Me (Page 10 of 27)

Slackware Live Edition (original article)

I thought it would be a cool idea to celebrate the “farewell to udev”. With the abandoned ConsoleKit replaced by ConsoleKit2 which is actively maintained by the Slackware-friendly XFCE crew, and Gentoo’s eudev taking the place of udev, we are well equipped to keep systemd out of our distro for a while. Basically eudev contains the udev code as found in the systemd sources, but then stripped from all standards-violating systemd crap and with a sane build system. Hooray, we’re back in business and eudev gained some more traction. Win-win.

How to celebrate the occasion? Easy! By releasing a first public Beta of the Slackware Live Edition.

Screenshots of my latest “Project X” were already revealed in a recent post. Slackware Live Edition is a version of Slackware-current (64-bit only for now)  that can be run from a DVD or a USB stick. It is an ISO image meant to be a showcase of what Slackware is about. You get the default install, no customizations, but with all the power.

slackwarelive_syslinux

Let me repeat the reasons I had for creating the Slackware Live Edition (apart from sheer curiosity):

  1. 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.
  2. The 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.
  3. Provide a way to generate a Live ISO with just Slackware packages as the source – fully scripted and deterministic.
  4. 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.
  5. Option to create a bootable USB stick running Slackware Live (which is different from ‘dd’-ing the hybrid ISO to a USB stick!)
  6. Keep It Simple Stupid!

What will you get with this first Beta? I have two ISO images, created by a single script: The full Slackware64-current contained in a 2.6 GB ISO image; and a 700 MB stripped down version with XFCE as the Desktop (fits on a CDROM!). Unfortunately Plasma 5 is currently broken due to the icu4c upgrade in -current, or else I would also have included an ISO with a  Slackware64-current & Plasma5. But that ISO will come once the broken packages have been recompiled.

The ISO images are hybrid, which means you can either burn them to DVD, or use ‘dd’ to copy the ISO to a USB stick. Both methods will give you a live environment which will allow you to make changes and “write them to disk”. The changes will be kept in a RAM disk, so a reboot will “reset” the live OS to its original default state. I.e. there is no persistence. Persistence has been added in a later Beta by the way.

I want your feedback to get the bugs out of the boot-up stages. Slackware Live Edition is using syslinux as the bootloader and a modified Slackware initrd.img file as created by the “mkinitrd” command (the modifications are in the “init” script). Boot-up is fine both on my ageing laptop and the bleeding-edge desktop computers that I own but I am sure that there will be corner cases.

Based on your feedback I will release a second Beta somewhere soon, and those new ISOs will be accompanied by the scripts I used to create them. One of those scripts, “iso2usb.sh” will write the ISO content to a USB stick, after partitioning the stick (erasing all data). That USB stick will have persistency! I.e. the things you change while Slackware Live is running are not kept in RAM but written to the USB stick. And that will survive a reboot.

Slackware Live knows two user accounts: “root” and “live”. They have passwords, and by default these are… you guessed: “root” and “live”. Also by default, the ISOs will boot into runlevel 4  i.e. you will get a graphical login. The syslinux bootloader will allow you to pick a non-US language if you want (I made a selection of commonly used languages) and that will also determine the choice of keyboard layout and timezone. I am not yet happy with this boot menn: I want a separate choice of keyboard layout. That will be something to take care of for a future Beta.

Press <F2> for an overview of (most) boot parameters. Pressing <TAB> will expand the currently selected boot choice, allowing you to edit the commandline. Owners of a recent Nvidia graphics card will want to add the word “nvidia” to the commandline, as this will load the latest Nvidia driver (contained in the full Slackware ISO), giving you instant hardware graphics acceleration.

How is the Live filesystem assembled?

I tried to deviate as little as possible from a regular Slackware boot. For the full Slackware ISO the process was as follows:

  • every Slackware package set (a, ap, d, .., y) was installed into a separate chroot directory
  • every chroot directory has been squashed into a separate squashfs module
  • these modules are loop-mounted and combined together using an overlay mount
  • some filesystem initialization is done on the overlay (a locate database is created, slackpkg is configured, user accounts are created, initial environment for the accounts is configured, initrd is generated, etc)
  • all this is stuffed in an ISO file and syslinux is used to make the ISO bootable. The “isohybrid” command is run on the ISO so that you can “dd” the ISO to a USB stick and thus create a bootable USB media
  • on boot of the ISO, the “init” script in the ISO’s initrd does the magic of finding the live media and re-assembling the filesystem overlay before giving control to the real Slackware init process (PID 1)
  • a RAM based filesystem is used as the writable component of the overlay, so that the OS thinks it is working off a writable disk and won’t choke

The XFCE ISO is a severely slimmed-down version of Slackware for which I wrote a custom list of packages to add.

Get the ISOs here:

More mirror locations are welcome! I really hope that the server will not buckle and die when you people start downloading, so please be gentle. The “rsync” command has a “–bwlimit” parameter which lets you limit the download bandwidth.

Please send me an email with your URL if you have a server with lots of bandwidth, or leave a comment below this article.

And tell me about your experiences, your feedback, your ideas! You’ll all be beta testers, and I expect that the biggest pitfalls will be in the initrd’s “init” script. Also, don’t be scared of all the available loopback disks – those are the squashfs modules that are loop-mounted before assembling them into a overlay filesystem.

Have fun! Eric

Why the relative silence?

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?

  1. 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.
  2. 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.
  3. Provide a way to generate a Live ISO with just Slackware packages as the source – fully scripted and deterministic.
  4. 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.
  5. Option to create a bootable USB stick running Slackware Live (which is different from ‘dd’-ing the hybrid ISO to a USB stick!)
  6. 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.

slackwarelive_syslinux

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.

slackwarelive_xdm

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:

slackwarelive_plasma5

Slackware Live running Plasma 5.4.3

The Plasma 5 version uses SDDM as the graphical login manager:

slackwarelive_sddm

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?

Procmail config woes

Damn… last friday I updated my ~/.procmailrc file on slackware.com to get rid of some persistent spam, and forgot to actually check the validity of that change.

I wish I had checked the logs… on sunday I started wondering why the mail had stopped arriving for alien at slackware dot com, on monday I asked Pat to check the fetchmail schedules and the sendmail queues (nothing stuck there) and emails I sent from outside as a test never arrived. It took until this evening to realize that I had stopped receiving emails after I made an edit in my mail configuration.

Damn again. Anyone who sent me an email between last friday Oct 30 and today Nov  3 21:00 UTC, please re-send it. Last one that I read and answered was one from McQuen.

Apologies if I sent your email to the blackhole called /dev/null

New cats in the house

Sometimes you just need to take action. P1010520_medium

We have two new cats in the house. More than four months after our last cat died at a respectable age of almost 19 years, the family decided that the house was too empty and cats had to be part of our life.
Our options were: getting two kittens from the animal shelter; or obtaining older cats from people who could no longer keep theirs.
P1010524_mediumEventually, we found two half-brothers, Holy Birmans just like the two we have had for such a long time.

What a difference between our slender girls of old, and these two massive males!

They will have to socialize for a couple of weeks, getting used to their new home after having lived with their original owners for 8 years. One of the two (Levi) has made the mental switch already. He purrs, eats and drinks, and comes to us for attention. The other one (the dominant male, Shinzo) is still hiding beneath the couch or behind the curtains, refuses to eat and drink (at least as far as we can observe… at night he does probably eat). Or else he hides on a window sill where he is meowing at the chickens outside, and all the birds visiting our bird-food station. But I fear that we will never see him back if he escapes to the garden. It will take time to let him get used to the new house and the new humans. He is a shrewd cat though… my son left the livingroom door to the rest of the house open for only a short while and the cat took that opportunity to disappear into the house. It took us nearly an hour to locate him and draw him out of hiding… in the attic below a pile of furniture parts.

They are adorable though, and sweet. All will be fine in the end.

 

Sourdough weekday adventures

 Time for another lesson in baking a tasty sourdough bread. Sourdough breads are all the breads I eat nowadays.
My son wanted me to “score” the bread in a smiley pattern but it turned out more like a Hallowe’en monster…
smiley_sourdough
Anyway, this sourdough loaf was created using another rhythm than my usual “bake one sourdough bread during a weekend day” routine.
This is how I fit it into my work routine.
The 100 gr sourdough starter (100% hydration meaning equal weights of flour and water) which I used in the bread, was grown from a single tablespoon of starter. I mixed that with 50 gr flour and 50 gr water at 18:00 in the evening and let it ferment for 6 hours until midnight:
sourdough-starter_jar
The dough for the bread (adding 250 gr whole-wheat flour, 150 gr Waldkorn mix, 50 gr all-purpose flour, 330 gr lukewarm water, 15 gr vegetable oil and 7 gr salt) was then created using this starter at midnight. What I did first was combine all ingredients except oil and salt and autolyse this mix for 25 minutes. Then I added oil and salt and hand-kneaded the dough for 10 minutes.
The kneaded dough ball was left on the kitchen counter at room temperature, covered by plastic wrap in a bowl  (I had a good night’s sleep) until 08:00 the next morning at which time it had about tripled in size.
The dough was deflated carefully, pre-shaped, bench-rested for 15 minutes and then shaped into a boule and put into a basket. The basket went into the fridge inside a sealed plastic bag.
Off to work.
I came back home at 18:00 that evening, transfered the basket from the fridge to the kitchen table (the dough had doubled in size during the day inside the fridge) and set the oven to pre-heat to 250C for an hour, with a pizza stone inside.
At 19:00 I turned the basket over and dumped the dough onto a silicone mat. I scored he bread with a smiley pattern and shoved it onto the pizza stone.
Baked during 20 minutes at 240 C with steam, then 20 minutes at 210 C without steam.
The result: impressive oven bloom, yummy bread with subtly more tones of sourness than my usual weekend breads that ‘only’ take 10 hours from start to finish.
« Older posts Newer posts »

© 2025 Alien Pastures

Theme by Anders NorenUp ↑