Slackware Live Edition

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 the Slackware Live Edition.


Please also check out the original announcement text (moved to a different page) and the follow-up articles on “liveslak” which explain how this project grew from its humble beginnings.

First teasing screenshots of my (then still called) “Project X” were revealed in a blog post in November 2015. I wrote the original annoucement a week later, also in November, on this exact blog page. However, the original text talked about being beta, incomplete and in need of testing. In the meantime, this page’s URL is being linked to from everywhere and I get many questions about “when will it be ready” so I decided to re-write this text into a proper reference page and moved the original text to a different location for posterity.

Note for clueless newbies

The Slackware Live Edition comes with two user accounts: user ‘root’ (with password ‘root’) and user ‘live’ (with password ‘live’). My advice is to login as user live and use “su” or “sudo” to get root access.

Note: the “su” and “sudo” commands will ask for the ‘live’ user’s password!

What is Slackware Live Edition, and what is liveslak?

Slackware Live Edition:
It is a version of Slackware (14.2 and newer)  that can be booted and run directly from a DVD or a USB stick. It is distributed as an ISO image and meant to be a showcase of what Slackware is about. You get the default install, no customizations, but with all the power. You do not have to install Slackware to your harddisk first to experience it first-hand.

The combination of scripts, bitmaps and configurations to generate the ISO images are called project “liveslak“.

Let me state the reasons I had for starting this “liveslak” project (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!

… but I had not anticipated the expansion of scope that can be attributed to the people who have been testing all my Beta versions. They came up with real-life use-cases, worthwhile additions and fixes. My thanks go out to all of you! The “liveslak” is so much more now then I initially conceived. Instead of being just a simple demo-toy it is now usable as a full-blown Live work environment in its own right. I carry a USB stick with a secured Slackware Live on my key chain all the time.

Highlights of Slackware Live Edition

Properly documented

The Slackware Documentation Project contains extensive documentation about “liveslak“, both for users of the Live OS and for people who want to know “how it works”  and want to develop a custom Live OS.
Check it out please, in particular all the boot options for the Live OS.

Good hardware support

The Live OS boots on “good old” BIOS computers but also on modern UEFI hardware (disable secure boot first). The kernel and userland software in the OS is fully up to date and supports modern and older hardware. If your computer is does not support a 64bit Operating System then you can just download the 32bit version of Slackware Live Edition.


Slackware Live Edition is persistent if you install its ISO to a USB stick using the “” script. Persistence of a Live OS means, the things you change or add (or delete) are stored on the USB medium and will survive a reboot. As opposed to the raw ISO image (burnt to a DVD or ‘dd’-ed to a USB stick) which is a pure Live OS where all your modifications are written to a RAM disk and gone when you reboot.

A feature I consider crucial for a persistent Live OS on a USB stick that you carry around with you in your jacket pocket is… data protection!

Data encryption

How do you protect the stuff you are accumulating in your live user’s homedirectory, such as passwords, confidential documents, GPG and SSH keys etc? You lose the USB stick, someone else may steal it – your sensitive files will be compromised. Therefore the Slackware Live Edition offers you the option to create a LUKS-encrypted container file in the Linux filesystem of the USB stick. The filesystem inside that encrypted container will then be mounted on the /home directory of the Live OS when it boots. The LUKS passphrase you entered when creating the container, will be prompted for during the boot-up of the Live OS. On shutdown, the container will be locked again and a potential thief of your USB stick will be unable to get to the files in the LUKS container (i.e. your homedirectory).

Multiple OS variants or flavors

The “liveslak” scripts are able to generate a variety of Slackware Live ISO flavors: SLACKWARE, XFCE, PLASMA5, MATE, CINNAMON, CUSTOM. The locations where you can download these ISO files are shown in the next paragraph.

  1. By default, “liveslak” creates a 2.6 GB large ISO from scratch that will give you a complete 64bit Slackware-current Live Edition.
  2. The scripts can also create a 700 MB slimmed-down XFCE version with XDM as the graphical login manager which fits on a CDROM medium or a 1 GB USB stick.
  3. A 3.0 GB ISO image of Slackware64-current containing Plasma 5 instead of KDE 4 is also an option. The PLASMA5 variant is spiced up with several other packages I maintain: vlc, libreoffice, calibre, qbittorrent, ffmpeg, chromium, openjdk, veracrypt.
  4. The option to generate a 1.7 GB ISO containing either the Mate or the Cinnamon desktop instead of Slackware’s own KDE 4 could be added courtesy of Willy Sudiarto Raharjo’s repositories.
  5. The “liveslak” scripts allow a large degree of customization so that you can create “your own” variant of a Slackware based Live OS. One example of what’s possible is the Live Edition of Cinelerra CV.

 No custom kernel or 3rd party tools needed

The main script “” creates an ISO from scratch. The script installs Slackware packages or package sets into compressed “squashfs” modules, configures and optimizes the target filesystem to be run as a Live environment, and then generates an initial ramdisk that will assemble the Live environment when you boot. All that is put into a bootable ISO image file. Thanks to Linux kernel 4.x and the squashfs-tools package added to Slackware 14.2, the process requires no compilation nor does it need non-standard packages to create a Slackware Live Edition (of course, the Plasma, Mate and Cinnamon flavours do require 3rd party packages). The downside is that the ISO has to be created on Slackware 14.2 (older versions of Slackware do not have the proper tools or kernels). It follows that the only Slackware release which is supported as a Live Edition is 14.2 and the “-current” development tree. All future releases will be supported too of course.

Install the Live OS to your hard drive easily

The included program “setup2hd” (all ISOs except the small XFCE variant) is a modified Slackware installer which will guide you through the familiar setup menus and install the content of the Slackware Live Edition to your hard disk. The “setup2hd” program can be run from your X session so that you can keep interacting with the Internet while Slackware installs itself.


Start the builtin PXE server and let the whole LAN run Slackware Live

Load the Live OS into RAM using the “toram” boot parameter and then start “pxeserver” from an X terminal. All computers in your LAN will be able to boot Slackware Live Edition from the network now. Ideal for a hackfest.


Download the ISO images

As stated above, you can choose between several variants of Slackware Live Edition. ISO images for the SLACKWARE, XFCE, PLASMA5 and MATE flavours using the latest Slackware-current packages are available.

The ISO images (with MD5 checksum and GPG signature) are available on the master (bear) and its mirror servers. A symlink called “latest” will always point to the latest set of ISO images.

And if you love the bleeding edge, an ISO file for slackware64-current is automatically (re-)generated every time there is an update to the ChangeLog.txt of Slackware-current. You can find this ISO image here:

Download the source

Git repository for the scripts can be found here:

A checkout of the repository can be found here:

Transfer the ISO content to a medium

  • You can burn the ISO file to a CDROM medium (only the XFCE Edition fits on a CD) or to a DVD,using your favorite burning program like k3b (KDE), xfburn (XFCE), xcdroast (plain X-Window) or brasero (GNOME)… or a Windows burning program if you want.
    Make sure you inform the application that this is a bootable ISO, i.e. do not simply burn the contents of the ISO to a disk.
  • Or, you use the program ‘dd’ or else ‘cp’ to transfer the ISO to a USB stick (aka flash drive). Any of the following two commandlines will do the job, provided your USB stick is known by your Linux computer as “/dev/sdX“. Note that sdX means the whole disk, not a partition on the disk!

    $ dd if=slackware-live-14.2.iso of=/dev/sdX
    $ cp slackware-live-14.2.iso /dev/sdX

    This creates a read-only bootable USB medium containing Slackware Live. Readonly means that you will not get persistence this way. This method is similar to using a DVD medium. If you want a writable USB stick instead, read the next option.

  • You can use the ‘’ script to transfer the content of the ISO to a USB stick, thereby adding persistence to the Live OS on the stick. The stick will remain writable and you can add new modules later on if you want.
    You can find extensive documentation on the usage of that script on the Slackware Documentation Wiki.

Booting the Live OS

When you boot Slackware Live on a BIOS computer, Syslinux will handle the boot and show the following menu:

  • Start (SLACKWARE | PLASMA5 | XFCE | MATE) Live (depending on which of the ISOs you boot)
  • Non-US Keyboard selection
  • Non-US Language selection
  • Memory test with memtest86+

You can select a keyboard mapping that matches your computer’s. And/or boot Slackware in another language than US English. You will probably want to change the timezone; syslinux allows you to edit the boot commandline by pressing <TAB> because the syslinux bootmenu does not offer you a selection of timezones.

On UEFI computers, GRUB2 handles the boot and it will show a menu similar (and similarly themed) as the Syslinux menu:

  • Start (SLACKWARE | PLASMA5 | XFCE | MATE) Live (depending on which of the ISOs you boot)
  • Non-US Keyboard selection
  • Non-US Language selection
  • Non-US Timezone selection
  • Memory test with memtest86+

Editing a Grub menu is possible by pressing the ‘e’ key. After making your changes to the boot commandline, press <F10> to boot.

Another difference between Syslinux and Grub menus: in Grub you select keyboard, language and/or timezone and you’ll return to the main menu every time. You still have to select “Start Slackware Live” to boot. In the Syslinux menu, only the keyboard selection menu will return you to (apparently bot not actually) the same main menu. The non-US language selection will boot you into Slackware Live immediately without returning to the main menu. A limitation of syslinux.



Things to remember when you boot the ISO

Slackware Live does not log you on automatically! This is a demonstration environment, with the purpose of getting you acquainted with Slackware, remember? Therefore you will first see all these intimidating kernel messages scrolling across the screen while booting the OS. Then you need to login manually.

Consult the documentation for assistance with the various boot parameters you can use to tailor the Live OS to your needs. The syslinux boot has help screens behind the F2, F3, F4 and F5 function keys and the grub boot screen has a “help on boot parameters” menu entry.

How to create a persistent USB stick from the ISO?

The ISO can be burnt to a DVD or copied to USB stick using ‘dd’ or just plain ‘cp’, but that will give you a read-only medium because all changes to the Live OS are in fact written to your computer’s RAM and lost when you reboot.

Use the ‘‘ script to create a Live OS on the USB device with persistence.

Note: The “” script can also be found in “/usr/local/sbin” when you boot Slackware Live Edition.

By default, the changes you make while running Slackware Live will then be preserved across reboots because the OS will write all these changes to the directory “persistence” in the root of the USB device. The script requires an input and an output parameter at a minimum:

# ./ -i ~/Download/slackware64-live-14.2.iso -o /dev/sdX

… where /dev/sdX is the device name of your USB stick (the actual device, not a partition on the device).

Alternatively you can use a file “persistence.img” in the root of the USB device which will be loop-mounted by the Live OS and changes to the system will be written to the filesystem inside this container file. A feature which should be appreciated by people who want to use a USB stick with a VFAT partition instead of a Linux ext4 partition. The script requires an additional parameter “-P” in this case:

# ./ -P -i ~/Download/slackware64-live-current.iso -o /dev/sdX

Note that your USB stick will get formatted by the script – erasing all data currently stored on it. The script will pause to show you the characteristics of the target device and ask you once more if you really want to continue erasing it. You will not easily destroy your hard drive unless you are really not paying attention!

How to create a LUKS encrypted homedirectory container?

The script has a parameter “-c” which takes a size argument. If you want to create a 400 MB encrypted container file to hide your homedirectory in, then you need to specify “-c 400M”. If you want 2.5 GB for your homedirectory, use “-c 2.5G”. If you are not concerned so much with the exact size but want to allocate a percentage of the free space on the stick, then use “-c 40%” to create a LUKS container that uses 40% of the available free space.

Now to put that into an actual example command line which will create a file (its name will be “slhome.img”) using up 50% of the free space on the stick:

# ./ -i slackware64-live-xfce-current.iso -o /dev/sdX -c 50%

When the script gets to the point where it creates the LUKS container file, it will prompt you for a passphrase which will be used for encrypting and decrypting the container’s data. Right after that, the script will prompt you to enter that passphrase again when the LUKS container is unlocked and the ISO’s /home content is copied into the container.

Help, I messed up my persistent USB stick!

You can still boot a USB stick containing persistence and/or encrypted LUKS homedirectory to a “pristine condition”.

Suppose you screwed up somehow and the USB stick won’t work properly anymore or won’t even boot to the desktop. If this happens, you can still boot the original unmodified Live OS, discarding all your accumulated persistent changes. The unmodified OS should always boot unless your USB stick is physically damaged.

You have two options to solve the levels of brokenness:

  1. Start by adding the boot command parameter “nop” which stands for “no persistence”. The “nop” boot parameter will  cause Slackware Live to ignore your persistent data, as most probably the persistent data store will contain the cause of your issue. Even when passing “nop” to grub or syslinux, Slackware Live will still mount your encrypted LUKS container on the /home directory if you are using that. It is possible that your issue is somewhere in your homedirectory (for instance you might have an issue with configuration files in ~/.local ~/.config or ~/.kde).
  2. If you want to ignore any LUKS container as well as ignoring the persistent storage, and use the /home directory of the original Live OS, an additional parameter “luksvol=” must be added to the boot commandline. Note that there is nothing at the right side of that equal sign! The two parameters together look like “nop luksvol=“.

After logging in to a pristine Slackware Live you can then remount the Linux partition of your USB stick to make it writable:

# mount -o remount,rw /mnt/livemedia

Now that the USB stick’s partition is writable you can either prune the persistence directory “/mnt/livemedia/persistence” (i.e. delete all data in there) and/or fix the content of your LUKS container file “/mnt/livemedia/slhome.img“.

Have fun! Eric

Below, you will find all the comments made by visitors since the original announcement was posted here on the blog.

335 thoughts on “Slackware Live Edition

  1. Writing this comment from Slackware64-xfce-live in a VM 😉
    First feeling: really nice and simple , including the localization.

    Just wondering: why Dutch citizens living in Aruba do not have their own locale in the list?.

    More seriously., I was a little scared to see only VIM as text editor in the menu, but actually yous ship nano as well.

    So the menu needs some polishing, but that’s really a small detail.

    Thanks and congrats, Eric!

  2. Didier, nano is not a graphical editor, and gvim is. That is why you find one in the XFCE menu but not the other.
    Note that in order to shrink the ISO to 700 MB, lots of programs had to be left out, so the menu is looking a bit sparse. If you want the full monty you’ll have to download the 2.5 GB ISO.
    No comment on localization choices, I thought I explained that in the post.

  3. I’m going to try this too in a few days. It’s exciting actually.

    The persistence of memory on the USB seems to be a crucial element for Daliy use.

  4. Ed, the Mega link is fine with me. The ISOs are accompanied by GPG signatures (the.asc files) so people can easily check that their Mega download is the genuine stuff.

  5. Regnad Kcin, creating a Live OS to use for your daily work was not one of my goals. Yes, you will get persistency in my next ISO release but that is just a side effect 🙂

  6. Karl, 100 Mbit would be just fine for a mirror server. I was more concerned about your monthly data plan. These ISOs are going to cost you Terabytes of bandwidth per month if your mirror would prove to be a popular one.

  7. Pingback: Slackware Live Edition | Caylak Penguen Blogs

  8. Pingback: Böse 2015-11-21 | Niente stronzate ©

  9. Pingback: Links 21/11/2015: Community Appreciation Day, Jolla’s Problems | Techrights

  10. 2G Ram old notebook. Core i3:
    Man! This is fast. Current-live on a stick is as fast as stable installed on disk. No noticeable difference in boot time and KDE startup.Even knowing there is no persistence i went ahead and customized KDE, very easy to forget you are on a live system. Installed flashplayer (youtube played me slayer perfectly). Attempting to install more stuff will freeze the system (no space left on disk, stupidity of mine of course). Samba/NFS shares worked flawlessly (just give them executable permission), transfer rate the same as a installed system. In dolphin file manager the user home is populated by system files and folders, they could be hidden to avoid human error (in case of persistence). Several virtual devices are shown as well. Everything in KDE running smoothly (didn’t noticed any lags). I’m very impressed by the speed and stability of this system. A great showcase of -current and mr Hameleers skills. I never run -current or betas, but after this test i am considering running it on disk. Looking forward to the Plasma 5 version. I know it’s not the main goal, but with persistence it can be easily a production system in your pocket. Thanks mr. Hameleers, your curiosity brought something really special to the community. Great day to be a slackware user folks!!

  11. Is is safe to assume that “64 bit only for now” means that a 32 bit version of the live disc is around the corner?

    I am hoping so. Zenwalk has dropped support for 32 bit, leaving quite a few of us out in the cold.

    Thanks for all your work Eric – I’m really looking forward to seeing this boot on my 32bit boxen.


  12. Thanks Eric for making the iso for Slackware Live.
    I grabbed the Slackware XFCE iso from Mega: thanks to Ed Ender for the upload.
    I’m writing this note using Slackware Live!!!
    I selected the French language and booting went fine except for the time. It’s 17h47 in Slackware Live whereas it’s actually 16h47 in Paris. Maybe a timezone problem?
    date gives me “sam. nov. 21 17:47:15 CET 2015”. So it’s not a summer/winter time issue.

  13. Pingback: 2 – Slackware Live Edition - Exploding Ads

  14. Thanks for this, Eric. I dd’d the iso to usb stick. Boots and runs fine on non-UEFI laptop. On my UEFI desktop I get ‘Welcome to GRUB!” followed by a grub prompt.

  15. If it was an torrent the i would seed it with my 100Mbit with no limits in dataplan (i might even upgrade it to 250Mbit since it’s the same price).
    When 14.2 is out please make a torrent of the live version so i can seed it as i do with slackware releases.

  16. Hi Eric, congratulations for this live edition:)
    I see that you don’t include Portugal in your non-us languages, only Brazil… well, the Brazilian speak portuguese but Portuguese of Portugal is the mother language…

  17. Great work. The system works like a charm under VM.

    However, there’s a small problem called UEFI. I don’t really have a spare stick so I usually use the one that already has some data on it. Probably, the only benefit of UEFI booting is that you don’t have to format the stick in some special way, just have a /efi/boot/bootx64.efi file and you’re good to go. This works with almost all distros that support UEFI, including Slackware. But your image doesn’t have /efi directory, so the only way to boot the live system is to dd the image to stick, which, as stated by Donnie Pennington, doesn’t even work.

    So I copied contents of the image to my USB stick, upgraded syslinux to 6.03 (don’t know why Slackware still ships 4.06) and used it to boot under my UEFI laptop. It worked fine (there wasn’t cursor-based menu though), until the pre-init script tried to mount the stick’s filesystem. There’s no module for FAT filesystem in the ramdisk, so it’s impossible to boot your image without building my own kernel/modules for yours.

    If you don’t want to think much, just use the latest syslinux for the time being to boot Slackware Live under UEFI.

    Also, I would love to see your scripts so I could customize the live system for my needs.

  18. I’m having issues (see image) booting slackware64-live-current.iso, the MD5SUM matches on the iso as well as after dd’ing it to the USB thumb drive. I did not pass any options to the kernel or make any other selections (I just hit enter).

    sda – Windows partitions that also contain LILO on the MBR
    sdb – Slackware
    sdc – USB thumb drive containing Slackware 64 live

  19. Like I said Hugo, this was just an initial internationalization attempt. Just to see how it works.
    For every language I add to the menu, I also need to add the kde-l10n and calligra-l10n packages and that will make the ISO slightly larger.
    The slimmed-down XFCE version (700 MB) does have all languages included, so there it would just be a matter of expanding the selection menu. But like I said, I am not too happy with the current implementation because choosing the language will automatically define keyboard and timezone. I would like at least to be able to select a keyboard independently from the language choice.

  20. I got the same result as speck when booting either of the iso’s dd’d to usb under legacy mode on a UEFI desktop. The same usb’s work fine on a legacy-only laptop.

  21. Great job, Eric! Thanks a lot! I’m curious about one thing. What was your method for stripping the Xfce Live CD? Did you “manually” go through all the packages, thinking “OK, this I’ll keep, this I have no use for, this depends on that, nothing depends on this so it can go…”? Or was there a more “scientific” approach to it, if I may say so?

  22. gegechris – is your computer’s hardware clock interpreted as local time or UTC? When selecting a language, the Live OS sets /etc/hardwareclock to “localtime” instead of “UTC”. So when your regular OS writes the system time back to the hardware clock as UTC (in rc.6), then the one-hour difference can be explained.

  23. To fsLeg, comments about UEFI:
    – Unfortunately, Syslinux 6.03 can boot on UEFI firmware but not off optical media like CDs, so using it would restrict the live media to USB sticks.
    – However one year ago I provided installers that use it and can boot on BIOS and UEFI here: but as I said, usage is limited to USB sticks.
    – The reason Slackware still ships Syslinux 4.06 (that could be upgraded to 4.07 because of the aforementioned limitation 6.03 wouldn’t add much features, and also still has annoying bugs.

  24. Donnie, fsLeg … I do not have any UEFI computers here, so I can not test. What I did was use the EFI parameters to mkisofs that Slackware also uses (-eltorito-alt-boot -no-emul-boot -eltorito-platform 0xEF -eltorito-boot isolinux/efiboot.img), and hoped that this would just work.
    NO idea where the grub came from… unless syslinux’s “efiboot.img” contains an embedded grub.

  25. Niki, I used my OpenVZ package list as a base. That one is X-less. I called that package list “min”. I then hand-selected a list of packages that would give me a basic X.Org system (i.e. packages from x/ directory). I used tools like sbbdep and a TCL script written by Eric Jan Tromp to find out the missing dependencies, which I added to either the “min” or the “xbase” list depending on how essential I thought that dependency would be.
    I releated the process for the xap/ directory to get a “xapbase” list, again this expanded the “min” and “xbase ” package lists because new missing dependencies were found. And finally, another repetition was done for the xfce/ package directory.
    All in all, two weeks’ worth of evenings spent on fine-tuning this and a (yet unreleased) 1 GB version sporting KDE4 instead.
    However Patrick asked me to move the focus of the Live Edition to a full Slackware instead, so I created that too (which was a lot easier of course since I did not have to hand-pick the packages). I did have to re-write my Live ISO generation script almost from scratch because the initial script was not versatile enough that it could use different package source definitions (custom package lists versus Slackware tagfiles for instance) and also the way that I assembled the various squashfs modules had to change quite drastically.

  26. Eric – file /etc/hardwareclock of my Slackware 14.1 64bit is set to “localtime” and time is correctly displayed. I booted the Live CD on the same computer and the hour was +1h in advance.

  27. Here’s an idea for your next beta. Add the VirtualBox Guest Additions module. Doesn’t eat much space, and enables the LiveCD to be tested as a VirtualBox guest directly from the ISO, without burning a CD or writing a USB stick. This is what I did with my own handmade Slackware Live CD, which I used for fiddling with LFS, and it worked great.

  28. Eric, efiboot.img just contains an ESP: /EFI/BOOT/ bootx64.efi but if syslinux 4.x was used (and that shgoulsm be the case as the file seems to be te same as in Slackware64-14.1) this can’t work. As a side not mixing files from different versions of syslinux generally does not work. So yes, for the live CD to be able to boot on UEFI you would need to include the /EFI partition of Slackware-current that ships grub, I think.

    You can make limited tests on a VM if you do not have an EFI firmware as VirtualBox VMs at least have one (in the GUI highlight your VM then Configuration System => Motherboard => check “Activate EFI”.

    Anyway my laptop does have an hybrid BIOS/EFI firmware, so if you need some testing on a “physical” machine I am eager to help: just ask.

    Donnie: GRUB is not in the ISO at all, so maybe you had it already installed?

  29. Thanks Eric. Adding the “waitforroot=10″ option solved the issue and I’m posting this message from Slackware Live. I’m guessing the issue was caused by my USB stick being too slow.

  30. Relativ, I will probably make sure that the make_slackware_live script works for 32bit, but I am not going to host a 32bit Live ISO. With the sources I will release, it should be possible for anyone to create a custom (i.e. 32bit Slackware) Live ISO image.

  31. I had the same problem as described by Speck above, i.e. booting the kde live dvd fails because it fails to mount the overlay. This happens on two legacy bios laptops (Toshiba M750) and Lenovo T430.

    In both cases adding “waitforroot=10” to the boot-options leads to a successful boot

  32. Didier Spaier: Yes, grub is installed on the hard drive of this UEFI machine (Fedora).
    speck/alienbob: I tried waitforroot=10 option but still got the result speck showed in the image. I suppose I could try a bigger number.

  33. Yeah, wel, RW, for some people coming from SLAX or Porteus that would be nice but having to wait for 2.5 GB being copied from DVD or USB to RAM is quite painful.
    So I will not write the code.
    Once I have my scripts in a public repository, people can write patches and ask for their inclusion of course.

  34. Hey Eric, I have a lightly used VM in Dallas Tx which might work as a mirror. Apache and a directory is is set up but I’ve not mirrored before.

  35. Hi Paul, if you write a script to mirror the Live ISOs and then schedule that script to run daily as a cron job, you’re all set.
    Script example:

    # Where does apache look for your slackware-live directory?
    # Mirror the remote content:
    rsync --delete -rlptD rsync:// ${LOCALDIR}/
    # Done!

    … then share your mirror URL on this page.

  36. Hi Paul..
    That was quick!

    It also shows that I already have uploaded the ISO image for the Plasma5 edition… actually I did that yesterday but failed to mention it here.

  37. Niki, if you strip a distro so extremely that it fits in 300 MB whereas the full ISO is 2.5 GB (at lease that is how big mine is) then you understand that a lot was lost along the way. Most programs: gone. Man pages and documentation: gone. No wonder that SLAX users were so active creating and adding new modules – SLAX is a showcase of the Linux-Live scripts but quite constrained in its usefulness in your daily job.
    SLAX and Porteus make for an ideal rescue environment though: you have all the core tools, networking and a browser and you copy it to CDROM or a USB stick in no time.

  38. Well to be fair I already had it set up.

    I didn’t know to keep it synced though so so that was good. I added the script you posted to crontab and it should sync nightly.

  39. Posting from a live session using the Xfce4 CD image. Thinkpad X61 with rtl based wifi (not intel). 512Mb of RAM and one core switched off in BIOS. external USB drive probably running at USB 1 speed. Quite an extreme test!

    As you might expect, very sluggish in graphical session until I turned the swap on – the laptop has slackware current 32bit installed for testing and has a swap partition at /dev/sda1. The old Scientific Linux 5.x live CD used to detect a swap partition and just use it, but I think your decision to leave the local hard drive alone to start with is a good one.

    I had to use waitforroot = 20 sec in common with earlier posters – dropped me at a root prompt otherwise.

    If anyone steps up to do a 32 bit variant, I’d be delighted to try it out.

  40. Two cores and 1Gb make a lot of difference (X61, as above).

    Xfce4 CD: I have to right click on the network manager icon and edit the connection details to get a wifi connection set up – just selecting a wifi network in the list does not bring up the password box.

    mp3 playback just works (don’t underestimate that sort of thing for a demo live CD). Sensible range of applications available – basically everything except an Office package.

    gnuplot won’t run from command line:

    “gnuplot: error while loading shared libraries: cannot open shared object file: No such file or directory” –could save a few Mb there and perhaps add Abiword?

    Perhaps dump Thunderbird in favour of Abiword and Gnumeric? Does anyone use an off-line email client on a live session?

  41. keith, add “swap” to the boot commandline and the Live OS will activate all the swap partitions it finds.
    In earlier private Alpha test releases for the coreteam, I had this feature enabled by default, until someone warned me that a swap partition may contain a hibrenated OS dump.
    I have not succeeded in identifying a swap partition which contains a hibernation image, so I decided that by default, the Live OS should not automatically enable hard disk swap.

  42. Keith, if gnuplot depends on Qt4 (who’d have thought.. and I missed spotting that dependency) then I should just remove it from the XFCE ISO. Packages like gnumeric and abiword are not part of Slackware, therefore they will not end up being part of this ISO.
    Remember that this ISO is meant as a demo environment as far as I am concerned. Real life usage is not the #1 of my goals. So I want to be able to show people that Thunderbird is in Slackware – whether someone will actually use it is irrelevant.
    With persistency added, the story changes of course. Then it *does* make sense to have the ability to carry around an IMAP mail client on a Live OS.

  43. I’d forgotten that the only office package in stock Slackware is Calligre, so sorry for the noise there. The Gnuplot startup message on stock Slackware includes the line “Terminal type set to ‘qt'”, so I imagine that was a compile time choice made in stock Slackware and I fully take the point that you want the live image to run the same as stock.

    ModemManager is installed on the Xfce4 live image, but lacking dependencies libqmi and libmbim so it won’t actually run. Could get rid of that one as well unless you want to be able to demo mobile broadband with dongles (usb_modeswitch isn’t installed either). From within Xfce4, the only odd behaviour is this thing of not being able to start a wifi connection by clicking on the name in the list but having to ‘edit connection’ and type in the password. I’ll try it on an unencrypted coffee shop wifi tomorrow.

    Runs much faster off a USB stick – especially Firefox that seems to need to read stuff off the CD-ROM a lot – swap seems to make little difference in the case of Firefox. I still needed the waitforroot=20 boot option when booting from USB stick. I’ll give the persistent version a try when it appears and I take the point about IMAP in that case.

    One minor difference from a stock Slackware current installation is what happens in Xfce4 when you become root in a terminal. On stock, the command ‘su -‘ simply asks for the *root* password. On the live session, the command specifically asks for *user* password, i.e. ‘live’.

    Best of luck with the project and I appreciate what you are celebrating with its release.

  44. Hello Eric! Thank you for the live distro, I was waiting since ever for slackware as live-dvd/cd 🙂 I was hoping to have the 32bit version also as live (for my PIII PC and Sempron laptop), but if a script like make_slackware_live script will come, I am more then happy to run it! Thank you again.

  45. In any case I will create 32bit and 64bit ISO images for Slackware 14.2 once it is released. Those ISOs will be available via bittorrent as well as being downloadable.

  46. Suggestion 1: add FAT filesystem support in initrd. It is actually essential in order to have persistence on USB, because dd’ing the image will give you read-only filesystem.

    Suggestion 2: add an install option. Live systems (especially the ones that act as a demo of the full system) often allow you to install the system from the live session. It isn’t even necessary to add packages to the image, as the setup program can grab them from the network, or the one can just use another medium as the source of packages.

  47. fsLeg, dd-ing an iso9660 filesystem to USB drive will still give you a iso9660 filesystem, only then on the USB stick. It will not become writable.
    You need to create actual partitions on the USB stick and extract the data from the ISO to the USB partition(s).
    That is exactly what my script (unreleased) does.
    By the way, the ISO will be extracted to an ext4 filesystem, not to a FAT filesystem, and extlinux will take the place of isolinux as the bootloader. Works really well.
    Same issue as with the ISO remains: I do not know how to make it boot on UEFI systems because I do not own one. So, I will do half the work: create the EFI partition, and then I will depend on the community to make it work.
    Next beta will be released after I figure out how I want the language/keyboard selection to function. That will be the moment when the scripts are released as well.

  48. About your second question: there’s too much complexity in writing code to transfer the ISO content to a hard drive. I am not inclined to add that functionality.
    It’s what the Slackware installer does much better for you, so that is what you will have to use.

  49. Eric, that’s what I’m talking about: currently extracting the image to an existing writable USB stick to boot from it later is not possible, dd’ing is the only option to boot from USB.

    Ext4? That’s an odd choice for a filesystem on a stick. After all, we are talking about a place for a live system, not a place to install a full one. Why not use your approach from the now official usbimg2disk script? That script just extracts the content of the image to a stick, optionally formatting it to FAT filesystem, and then makes it bootable using syslinux. By the way, I tried this approach with the live image and it worked, the only thing that prevented booting was the lack of a module to support FAT in initrd.

    Separate EFI partition? For a USB stick? To me that seems like too much. Using a single FAT partition would be easier.

  50. > I wasn’t talking about installing the squashed live system,
    >I meant add the Slackware installer to an image.

    Actually that sounds like something worth considering.

  51. > Ext4? That’s an odd choice for a filesystem on a stick

    Persistency for the overlay filesystem only works when the changes are written to a POSIX compliant filesystem that suppors symbolic and hard links.
    I think that some of the other live OS-es which let you install to a FAT partition solve that issue by creating an image file containing an ext4 partition and then loop-mounting that image. It is a limiting solution because what size do you choose for such an image file? I leave the whole empty space of the USB stick to whatever needs it – one thing on the TODO is encrypt part of it for your homedirectory.

    I can add the required modules for FAT filesystem support nevertheless – similar to what I do for LUKS USB key support.

  52. I tested the Plasma 5 ISO and it has the plasmashell crash issue which is also reported in the comments section of another blog article.
    For now, don’t try to download that ISO, you won’t get far.
    I will have to look into this tomorrow evening after work.

  53. fsLeg: as it is a removable device, you _need_ an EFI partition in an USB device because that’s where a compliant firmware is supposed to look for an executable EFI image. This is clearly stated in the specification, see §§ 3.5.1 and 12.3.1. The partition should have a specific file type and be formatted as FAT12, FAT16 or FAT32. What variant of EFI FAT to use is defined by the size of the media. Also, only for a diskette (floppy) drive, a partition is defined to be the entire media.

  54. Eric, I don’t really have much experience with persistent live systems. I only heard (through unetbootin) that live Ubuntu has persistence option, and the one I actually encountered was Parted Magic, where changes (/etc and /home) were written to a tarball during the shutdown procedure, and this tarball was unpacked to a ramdisk during the boot process. If the overlay system has to be POSIX compliant, I guess your solution is fine. Still, the USB stick won’t really be of any use then except as a host for the live system.

    Didier, this is actually only true for hard disks. The things are a bit different for the removable devices. Believe me, I struggled with booting a lot when I bought a laptop a year ago and it was an UEFI one. It took me days to figure out, but you don’t need a special separate partition for a removable device to be bootable under UEFI. A FAT (or ISO9660 in case of optical disks; I don’t remember if UDF is also supported) partition with /efi/boot/bootx64.efi file is just enough to make it bootable. My proof is my USB stick which has two partitions, both FAT: the first one is for files and use on Windows machines; the second one has Slackware installer, for which I just copied contents of to it and made the containing partition bootable in BIOS using syslinux, while the EFI booting part is taken care of by the /EFI directory. And this stick successfully boots wherever there is an option to boot from USB, including UEFI machines, even though I didn’t take any special steps other than copying the /EFI directory.

  55. What boot parameter/cheatcode is good for a multiboot setup (many ISOs on one device)?

    Is FAT the only file-system well-suited for USB flash sticks? What about USB hard drives? Is your ext4 file-system set up without jounaling, or with trim? Would ext2 work?

    Ah, such exciting times!

  56. Pingback: 10 Mejores Distribuciones Linux Para Novatos

  57. Hi Eric,


    Writing this from a persistent live version with (I couldn’t resist) integrated ‘rootcopy’, I’m deeply impressed.

    After using waitforroot=5 it is running smooth.

    Are there any plans to integrate .sxz loading during runtime?

    Regards and keep up your good work,


    p.s. Tweaking initrd to accept ‘NOLOAD’ boot parameter for .sxz modules atm. 😉

  58. fsLeg:
    1) For the record, as far addressing is in concern a USB stick behaves exactly like a hard drive although it be physically and mechanically different.

    So conceptually it is exactly that: a removable hard drive.

    This is why for instance I use this command to hybrid an DVD ISO image of Slint or Slackware, that allows to dd it and make it bootable on UEFI as well as BIOS:
    isohybrid -s 63 -h 80 -u filename.iso
    63 is the number of sectors and 80 the number of heads, using a CHS or Cylinders/Heads/Sectors (not LBA32) addressing.
    For instance as a Slackware64-14.1 ISO without the source and patches directories has a size of 2423070720 bytes, this gives the number of cylinders:
    C=2424843700/63/80/512 so C=939 (C should not be greater than 1024 for very old BIOS ).

    2) Re-reading what I wrote and the specification you have a point about ESP or not ESP.

    In case of a removable device the spec states:
    “If FilePathList[0] points to a device that supports the EFI_SIMPLE_FILE_SYSTEM_PROTOCOL, then the system firmware will attempt to boot from a removable media FilePathList[0] by adding a default file name in the form \EFI\BOOT\BOOT{machine type short-name}.EFI.”

    But in case of a non removable device:
    “If the device supports the EFI_SIMPLE_FILE_SYSTEM_PROTOCOL layered on an EFI system partition, then the system firmware will attempt to boot from the media by executing a default file name in the form \EFI\BOOT\BOOT{machine type short-name}.EFI.”

    So if I understand well the the partition type ef00 (EFI) is not mandatory in the former case, only in the latter, but the path to find the EFI executable image is the same, whether the device be removable or not.

    As a side note, the partition types as given by usual tools are rather confusing.
    I have an USB stick that contains a Slackware64-14.1 installer written using dd after “isohybrid -u”, and here is what I get for the partition that hosts /EFI/BOOT/bootx64.efi:
    _ fdisk: id ef, System EFI (FAT-12/16/32)
    _ gdisk using the MBR: Code EF00, Name EFI System
    _ gdisk using the GPT: Code 0700, Name IOyrdApeAp (should be Microsoft basic data)

    Actually isohybrid with the -u option writes a MBR and a GPT, with for the second partition a GUID of (Microsoft) basic data partition, not a GUID of EFI system partition (a variable efi_system_partition is initialized in isohybrid.c but never used, in Syslinux-4.0.6).

    If I understand well (which is doubtful) this partition’s type is set to 0 in the MBR. Maybe that’s why when it takes its information there gdisk reports an EFI system partition.

    Anyhow, as expected the computer boots off SYSLINUX in Legacy mode, off GRUB in UEFI mode, so all is well that ends well 😉

    Sorry for this too long answer and Eric, if that’s too far off topic, I apologize and we can continue this specific discussion elsewhere, maybe on LQ if need be.

    PS The Slackware DVD ISO images are already hybrid but I have built one from a local mirror to insure that I know all the steps taken.

  59. Well, one of the mistake is not my fault. If filename.iso is surrounded by a “less than” sign on the left and a “greater than” sign on the right, the whole thing disappear…

  60. Excellent.. have both Live and Live-XFCE and both work on three separate systems here. 1)AMD Phenom X6 -1045T w/8Gb of ram, 2)AMD A10-7700k w/16G ram and 3)Lenovo G770 Laptop (i5 quad) w8G Ram. All run well on both DVD versions.

  61. Great idea! I\’ve tried booting the xfce version on three different machines (a hacked Acer Chromebook, a Zotac Zbox (Celeron N2930), and a quite old bogstandard desktop belonging to a friend) with the same result: it gets as far as unpacking the kernel and beginning the boot process, but appears to be unable to read the filesystem on the USB. When \”init can\’t be found\”, the user is dropped into a shell.

  62. Didier, I don’t mind you writing background information here. If there are parts of the text I have to repair (the lesser than / greater than stuff) let me know the actual intended text.

  63. alienbob, yes, after posting I scrolled up and saw the suggestion by Manfred to do that. It works. Thank you!

    I have also seen the same problem with Slackel Openbox Live 6.0.4, based on current (or rather, a recent current). I bet this fixes it there too.

    The full KDE version is really responsive on my Zbox, with 4GB RAM, though both it and the XFCE version boot a bit more slowly than their Salix / Slackel cousins.

  64. I been having fun with this. I remember years ago on the dvd with slack10.2 from linux magazine. there was a modular loading live system on it. I been rebuilding the plasm5 desktop cdrom because the nvidia issue is a work in progress.
    That an impressive little intrid.img
    Keep up the fun.

  65. Hi Eric,

    as I don’t know whether patches get crippled when posted here, please find my recent changes at .


    – ‘nopersistence’ boot option added
    – ‘hostname’ option added
    – ‘noload’ option for addon modules added
    – rootcopy function added
    – menu for choosing keymap for bootmenu (be,de,nl atm)

    /usr/lib/kbd/keytables/us.kmap integrated to make keytab-lilo working


    At times the username label is missing in xdm.

    Imho you should think about integrating xpi files for firefox corresponding to the locale chosen during boot.

    You should delete all .bashrc files before iso creation 😉

    Request: Please integrate mc. :pray:

    Regards, Manfred

    p.s. All remarks/changes refer to the xfce version

  66. Manfred,

    Why don’t you just wait until I release my scripts 🙂

    – there already is a “nop” boot option in the init script for “no persistence”…
    – I don’t see a reason for setting the hostname in a Live environment. And with persistence enabled, you can easily configure a persistent hostname. You do however have the option to change the hostname from the default “darkstar” when you run the ISO creation script.
    – explain the need for a “noload” option please? If there is a good reason to have this, I can be convinced.
    – syslinux menu for keyboard selection is already added in my scripts and will be available in a next beta – that keyboard selection will then also be the default keyboard when you select the non-US language. In fact, the “” script generates all the menu filess on the fly when creating the ISO, because they are many (because of the choices made in submenus).
    – I do not see the need for “rootcopy”. Other live distros have all the above, and I do not want to be a Porteus clone. This is intended to become a demo environment, not a work environment.

    I will not integrate .XPI files or other downloadables. Those are not part of Slackware and therefore not in my scope for this project.
    The full Slackware Live version has Nvidia drivers included as the only compromise to show people how the KDE desktop profits from graphics hardware acceleration.
    I can however consider an option where you would have a directory in the ISO or on the persistent USB version where Slackware Live would look for a specific command like “” and execute that the very first time it boots (which will be “every time” when you boot a non-persistent Live OS).

    The .bashrc file is created because of the commands I run in the chroot to configure the Live environment. It’s a good idea to clean that up.

    Mc would be a good addition. If gnuplot has to go anyway (because it depends on the qt package which will not be part of the small XFCE ISO) then mc can easily take its place.

  67. There is a kool video of Plasma5 Slack live. people like it.
    As for getting the nvidia to loop and then set it up then try to load it then configure the xorg.conf. it all in fun. but I am only playing with the plasma 5.
    better yet extract it on to your drive and boot it. just edit the config. 🙂

  68. Eric,

    >> Why don’t you just wait until I release my scripts?

    As I started working on the next FluxFlux release a day before you announced Slackware Live, I’m testing your live version as potential replacement for the tweaked ancient linux-live-scripts from Tomas M. I was using until now.

    >> – there already is a “nop” boot option in the init script for “no persistence”

    silly me! 🙁

    >> – I don’t see a reason for setting the hostname in a Live environment
    fair enough!
    As I’m using my live media for branded live versions at my clients, I’m using this feature for assimilation to the clients network naming conventions.

    >> – explain the need for a “noload” option

    During my tests I integrated a .sxz in addons which made the live version stuck at boot.
    With the ‘noload’ boot option I’m now able to skip the .sxz from loading.

    >> – syslinux menu for keyboard selection is already added in my scripts
    Hurray! 😉

    >> – I do not see the need for “rootcopy”

    The rootcopy function is the only possibility to override settings/files without being forced to create/integrate a .sxz module or to recreate the whole ISO.
    For example: by simply addings /usr/lib/kbd/keytables/ in rootcopy I made keytab-lilo work.

    >> ..I do not want to be a Porteus clone.
    [rambling mode on]
    You wouldn’t be – Slax, Porteus, Salix, Zenwalk, Wolvix, Goblinx or FluxFlux/Slack2go are/were all based on the linux-live-script set from Tomas. M, created at times of kernel 2.6.20.
    [rambling mode off]

    >> This is intended to become a demo environment, not a work environment.

    Your intention is respected but the/your users will use it as work environment and penetrate you for an installer as they do/did with every live cd.

    That’s it for today – I’m working on integrating httpfs module loading now … 😉 😉



  69. Manfred, how would you use the “noload” option on the commandline? An example would be good.
    I understand that people will clone my scripts and make something different from it – that is fine and I encourage it. I will also accept good proposals to make the framework more generic and extensible as long as such modifications are not interfering with my own goals.

  70. I couldn’t get the xfce version to boot on my new Thinkpad gen3. I tried legacy bios but still no go… not that I would expect it to at this point. Just providing feedback. I am very excited about this live cd. I have wanted to try slax for a while but it isn’t really slackware. This will be exactly what I want at some point. Awesome work.

  71. No errors… when I hit f12 and go to the ‘boot options’ I choose ‘usb stick’ then it reboots instantly as if I hit ctrl alt del

    Nothing useful… sorry.

    I have the option of using UEFI, Both UEFI or legacy BIOS, or BIOS only. Tried all 3 and it did the same thing each time.

  72. Bob, the Daliy use and “crucial” was a play on Persistence of Memory, as in Salvador Dali. All my clocks are going soft on me now.

  73. Awesome work on this AlienBob! I tried all three iso’s out yesterday in a QEMU VM and they worked wonderfully.
    Thanks for all the hard work you and the team put into Slackware!

  74. Thank you very much. Very glad there is another Slackbased LiveCD available.

    Did a frugal install of the xfce iso. Had to add ‘lang=us’ as a bootcode. Other bootcodes available?

    Other question : how did you make your modules? Would like to add a module containing ruby an g++eg.

    Allow me to use the iso not only as ‘a demo environment’ but also as ‘a work environment.’

    Once more : thank you very much! Such a LiveISO is very much needed

  75. Update: I managed to get to the usb to boot and got the following error:
    “ls: /mnt/media/liveslak/system/*.sxz: No such file or directory
    overlayfs: unrecognized mount option “lowerdir=” or missing value
    mount: mounting overlay on /mnt/overlay failed: invalid argument
    /boot/initrd_4.1.13.gz: Switching to ‘us’ keyboard
    /init: line 393: can’t create /mnt/overlay/etc/rc.d/rc.keymap: nonexistent dir…
    chmod: /mnt/overlay/etc/rc.d/rc.keymap: No such file…
    ERROR: No /sbin/init found on rootdev…”

    I managed to find a post that said to fix this error use “rootdelay=10”

    It worked and everything booted fine.

  76. The tip to use “rootdelay=10″ or “waitforroot=10″ is all over this post… it should be hard to miss.
    In the next Beta ISO, it will even be shown as a hint during boot if the init script can not create the overlay.

  77. Eric,

    >> how would you use … “noload” …?

    Please find my patch for init below or at

    Both ‘noload’ and ‘load’ option from linux-live-scripts are integrated and adapted to your logic.

    To be able to use the ‘load’ option I’ve renamed graphics folder to optional.
    In my local test version I’ve stored a mc module in addons/0080-mc-x86_64.sxz and a fluxbox module in optional/0081-fluxbox-x86_64.sxz.

    Thus I’m able to skip loading mc by appending noload=mc and load fluxbox by appending load=fluxbox to the kernel commandline.
    If one wants to load/noload more than one module, the parameters have to be separated by a colon or semi-colon.
    eg. (no)load=mc,nano,gedit.
    If you integrate nvidia drivers, simply store them in optional and append load=nvidia to the kernel commandline.

    Hint: modules loaded with ‘load’ must not be marked as deleted in persistence.

    >> there already is a “nop” boot option …

    But it is not working, because if ‘nop’ is used OVLWORK variable will be not declared 😉
    You’ll find a fix in my patch.

    Another (minor) glitch:
    Booting from usb media I forgot to remove the cd. As both are labeled ‘LIVESLAK’ booting failes.


    — initrd-alienbob/init 2015-11-20 22:18:06.000000000 +0100
    +++ initrd-fluxflux/init 2015-11-25 14:39:37.437049651 +0100
    @@ -39,9 +39,6 @@
    # By default, let the media determine if we can write persistent changes:

    -# The NVIDIA variable determins if binary Nvidia drivers will be installed:

    INITRD=$(cat /initrd-name)
    WAIT=$(cat /wait-for-root)
    KEYMAP=$(cat /keymap)
    @@ -66,16 +63,16 @@
    – INIT=$(echo $ARG | cut -f2 -d=)
    + INIT=${ARG#*=}
    – KEYMAP=$(echo $ARG | cut -f2 -d=)
    + KEYMAP=${ARG#*=}
    – LIVEPW=$(echo $ARG | cut -f2 -d=)
    + LIVEPW=${ARG#*=}
    – LOCALE=$(echo $ARG | cut -f2 -d=)
    + LOCALE=${ARG#*=}
    @@ -90,13 +87,25 @@
    – ROOTPW=$(echo $ARG | cut -f2 -d=)
    + ROOTPW=${ARG#*=}
    – TZ=$(echo $ARG | cut -f2 -d=)
    + TZ=${ARG#*=}
    – WAIT=$(echo $ARG | cut -f2 -d=)
    + WAIT=${ARG#*=}
    + ;;
    + hostname=*)
    + ;;
    + load=*)
    + LOAD=$(echo ${ARG#*=} | sed -r ‘s/\*/.\*/g’ | sed -r ‘s/,|;/|/g’)
    + ;;
    + noload=*)
    + NOLOAD=$(echo ${ARG#*=} | sed -r ‘s/\*/.\*/g’ | sed -r ‘s/,|;/|/g’)
    + ;;
    + zram)
    + ZRAM=$ARG
    @@ -127,6 +136,15 @@

    +# Initialize zram on request
    +if [ ! -z $ZRAM ]; then
    +(echo $(($(cat /proc/meminfo | grep MemTotal | sed ‘s/[a-zA-Z: ]//g’) /4 *3072)) \
    +> /sys/block/zram0/disksize # 3/4 of available RAM
    +mkswap /dev/zram0 1>/dev/null 2>/dev/null
    +swapon /dev/zram0 -p 32767 1>/dev/null 2>/dev/null
    +echo 100 > /proc/sys/vm/swappiness) &
    # Sometimes the devices need extra time to be available.
    # A root filesystem on USB is a good example of that.
    sleep $WAIT
    @@ -236,22 +254,26 @@
    if ls /mnt/media/liveslak/addons/*.sxz 1>/dev/null 2>/dev/null ; then
    for MODLOC in /mnt/media/liveslak/addons/*.sxz ; do
    MODBASE=”$(basename $MODLOC .sxz)”
    – mkdir /mnt/live/modules/${MODBASE}
    – mount -t squashfs -o loop ${MODLOC} /mnt/live/modules/${MODBASE}
    – RODIRS=”:/mnt/live/modules/${MODBASE}${RODIRS}”
    + if [ “$NOLOAD” -a “$(echo $MODBASE | egrep -i “$NOLOAD”)” ]; then
    + echo “$MODBASE” >> /mnt/live/modules/skipped
    + else
    + mkdir /mnt/live/modules/${MODBASE}
    + mount -t squashfs -o loop ${MODLOC} /mnt/live/modules/${MODBASE}
    + RODIRS=”:/mnt/live/modules/${MODBASE}${RODIRS}”
    + fi

    – # And finally any explicitly requested graphics drivers:
    – if [ $NVIDIA -eq 1 ]; then
    – if ls /mnt/media/liveslak/graphics/*nvidia*.sxz 1>/dev/null 2>/dev/null ; then
    – for MODLOC in /mnt/media/liveslak/graphics/*nvidia*.sxz ; do
    – MODBASE=”$(basename $MODLOC .sxz)”
    – mkdir /mnt/live/modules/${MODBASE}
    – mount -t squashfs -o loop ${MODLOC} /mnt/live/modules/${MODBASE}
    – RODIRS=”:/mnt/live/modules/${MODBASE}${RODIRS}”
    – done
    – fi
    + # And finally any explicitly requested optional components:
    + if ls /mnt/media/liveslak/optional/*.sxz 1>/dev/null 2>/dev/null ; then
    + for MODLOC in /mnt/media/liveslak/optional/*.sxz ; do
    + MODBASE=”$(basename $MODLOC .sxz)”
    + if [ “$LOAD” -a “$(echo $MODBASE | egrep -i “$LOAD”)” ]; then
    + mkdir /mnt/live/modules/${MODBASE}
    + mount -t squashfs -o loop ${MODLOC} /mnt/live/modules/${MODBASE}
    + RODIRS=”:/mnt/live/modules/${MODBASE}${RODIRS}”
    + fi
    + done

    # Get rid of the starting colon:
    @@ -264,6 +286,7 @@
    # Create the mount point for the writable upper directory of the overlay:
    # Assume the default to be a readonly media – we write to RAM:
    + OVLWORK=/mnt/live/.ovlwork
    if [ “$VIRGIN” = “0” ]; then
    if [ “LIVEFS” != “iso9660” -a -d /mnt/media/persistence ]; then
    # Looks OK, but we need to remount the media in order to write to it:
    @@ -275,9 +298,6 @@
    – else
    – UPPERDIR=/mnt/live/changes
    – OVLWORK=/mnt/live/.ovlwork
    # Create the writable upper directory, plus the workdir which is required
    @@ -361,6 +381,16 @@
    echo “root:${ROOTPW}” | chpasswd –root /mnt/overlay

    + if [ ! -z “$NEWHOSTNAME” ]; then
    + # User entered a custom hostname on the boot commandline:
    + for FILE in etc/HOSTNAME etc/NetworkManager/NetworkManager.conf; do
    + sed -i “s/darkstar.*/$NEWHOSTNAME/g” /mnt/overlay/$FILE
    + done
    + fi
    + # Copy contents of rootcopy directory to overlay
    + cp -af /mnt/media/liveslak/rootcopy/* /mnt/overlay 2>/dev/null # may be empty
    # ——————————————————————— #
    # ——————————————————————— #

  78. Very cool!!

    It might be useful to include some support for a USB keyboard within the initrd for rescue mode and for the repair shell if init is not found.

    Adding modules hid. usbhid, hid_generic should be enough (– maybe I am dead wrong on this, I didn’t test it! 🙂

    Many thanks again for the great idea of a *regular* Slackware live CD.

  79. Downloaded the plasma image and burned it to a DVD.
    Fired it up and it took 8 minutes and 45 seconds to get to an error:
    Executable: plasma shell PID: 1370
    signal: segmentation fault (11).

  80. Fished the DVD out of the trash and started it up inside of VirtualBox. So far it has now been 11+ minutes, one core is running at 99% and I’m looking at a blank KDE5 wallpaper, gawd that is ugly, with a “chrome like” gizmo in the upper left corner.
    Back in the trash it goes. What a waste of band width and a disk.

  81. cwizardone considering your past issues with Plasma 5 why did you even bother.

    By the way, the ISO starts up and ends with a proper Plasma 5 desktop session in QEMU, within a minute or two max… I’d have to time it if you want to know exactly.

    But that is the unreleased Plasma 5 ISO I have here locally. As stated here 3 days ago by me: “I tested the Plasma 5 ISO and it has the plasmashell crash issue which is also reported in the comments section of another blog article. For now, don’t try to download that ISO, you won’t get far.”

  82. The Plasma5 version does not work for me. After logging in, Plasma crashes and the whole computer hangs.

    The XFCE version works well.

  83. Thoralf, like I said a couple of times: the Plasma 5 ISO is broken and will not work for many (although it seems to work for some).
    An updated ISO should become available in or after the weekend: Beta 2.
    Lots of fixes and release of the scripts too.

  84. izzle121, I have not decided yet. I was not among my goals for this Live Edition, and there is a reason for not wanting this: the boot process of the Live Edition has been tweaked to skip certain initializations that are necessary when you often install new software on your computer. When you install the content of the Live ISO to a computer, you will have a Slackware installation that is non-standard. And that is something I will not do.

    What I might still do, is add another menu entry to start the regular Slackware installer, and then you would be able to install Slackware from a network repository.

  85. relop7 – that happens because my ISO is not yet capable of booting on UEFI hardware unless you select legacy boot option.
    My Beta 2 (around the corner, I am generating the ISOS tonight and will test them before releasing) will still not have UEFI boot capability.
    However, since I will release the build scripts together with Beta 2, I hope and expect that someone will write patches to fix that omission.

  86. [quote]Fished the DVD out of the trash and started it up inside of VirtualBox. So far it has now been 11+ minutes, one core is running at 99% and I’m looking at a blank KDE5 wallpaper, gawd that is ugly, with a “chrome like” gizmo in the upper left corner.
    Back in the trash it goes. What a waste of band width and a disk[/quote]
    What a enthusiastic!

  87. Pingback: Slackware Linux « 14.2 » presque béta : deux ans d’attente pour « ça » ? | SVNET Libre

  88. Eric,
    Apologies if I missed seeing this error mentioned.

    Previously, I just “shut down” via the power switch. Yesterday (and just noticed today), on the full KDE iso (not plasma) dd’ed to USB, when selecting “shutdown” from the menu, all goes well until:

    /etc/rc.d/rc.0: line 215: /sbin/halt: input/output error
    Turning off swap.
    Unmounting local filesystems:
    /dev/shm/ has been successfully unmounted.
    / has been successfully unmounted.
    Remounting root filesystem read-only:
    mount: none mounted on /.
    /etc/rc.d/rc.0: line 296: /sbin/poweroff: input/output error
    INIT: no more processes left in this runlevel

    This is on the Dell Latitude E7440 mentioned on G+ Slackware Community.

    Thanks for all the effort.

  89. Someone who does not grasp what Slackware is actually about and why he had to wait almost twoi years for what he views as no progress at all… and then goes on telling his audience that the Slackware old-timers are laughing at the idea that a Slackware newbie would be able to remove a critical package like glibc because Slackware does not offer safety nets???
    I saw this kind of criticism coming the moment Redhat aliased the rm command to “rm -i”… Linux for the dumb.

  90. Don’t worry Eric. This guy is not a skilled writer and I doubt that many people read his ramblings (I didn’t until I read your post and won’t bookmark this blog), let alone consider him as a guru 😉

  91. Eric,

    I suggested to include some support for a USB keyboard within the initrd for rescue mode. if you are interested, adding modules hid. usbhid, hid_generic *and uhci_hcd* should be enough (it adds ~ 90KB to the initrd).

    I added uhci_hcd to the list because many cheap or old USB keyboards are still USBv1

    Congrats for Live Slackware!

  92. philanc:

    This should be suffucient for your needs:


  93. > KMODS=${KMODS:-“squashfs:overlay:. . .

    I understand this is part of your generation script, where the default kernel modules in the initrd are defined. If yes, this is just perfect.

  94. Pingback: Alien Pastures » Slackware Live Edition – Beta 2

  95. What about it? I don’t care about Gnome so you will not see ISO images created by me that contain it.
    However, you can grab the scripts yourself and create a Slackware Live which does contain Gnome; similar to how I did it for Plasma 5.

  96. I use extlinux as my boot manager and like to add a live .iso image to that to try out, rather than burning to a USB stick or CD/DVD, or using qemu which is too slow. I downloaded the XFCE-based image and couldn\’t do that out-of-the-box so came up with a patch for the init script which might be of interest to others.

    1] Extract kernel and initrd.img from the .iso image
    2] Unpack initrd.img:
    zcat initrd.img |cpio -i
    3] apply init patch
    4] re-pack initrd:
    find . -print | cpio -o -H newc 2>/dev/null | gzip -f -9 > [new]initrd.img
    5] add kernel, [new]initrd.img, and command line parameters to boot manager

    For example:
    LABEL sl
    MENU LABEL Alien Sl64 Live
    Beta 1 original .iso
    booted from extracted kernel
    and modified initrd.img
    KERNEL generic
    INITRD initrd.img # the [new] one
    # \’from=\’ is any full path, with or without the leading \’/\’, from the root of any partition – currently only ext3/4 modules are included in initrd.img for LiveSlak
    APPEND from=/path/to/slackware64-live-xfce-current.iso load_ramdisk=1 prompt_ramdisk=0 rw printk.time=0

    init patch:
    1] If no LiveMedia has been found by this point, run this patch
    2] Check for \’from=\’ in the command line
    3] Wait for USB devices to register – especially slow from a USB HDD
    4] Mount each device in turn to look for .iso image
    5] If/when found, loop mount it to /mnt/media
    6] .. init script continues

    I\’ve left in some comments which I\’ve used to show (me) what\’s happening in the script and I\’ve posted two screen captures from a qemu simulation I\’ve done ->

    — init–original 2015-11-25 15:08:53.000000000 +0000
    +++ init–new 2015-12-03 09:36:25.000000000 +0000
    @@ -209,6 +209,77 @@
    sleep 1

    +# With acknowledgement to the Slax init scripts
    +# if no LiveMedia has been found by this stage
    +if [ -z \”$LIVEMEDIA\” ]
    +# Has the .iso image been included in the kernel command line – look for \’from=\’
    +FROM=$(cat /proc/cmdline | sed \’s| |\\n |g\’ | grep \”from=\” | cut -d = -f 2)
    +# if it\’s there ..
    + if [[ $FROM ]]
    + then
    +# wait for all device nodes to be created – using blkid on a USB HDD can cause timing errors
    +# compare the device(s) found by the kernel to those generated (by (e)udev?)
    + DEVDMSG=$(dmesg|grep -A 15 \”Direct-Access\”|grep -o \”sd[a-z]\”|sort -u -k 1.3d)
    + DEVUUID=$(ls -al /dev/disk/by-uuid | grep -o sd[a-z]| sort -u -k 1.3d)
    +# add counter so that if a USB device is removed, or added, or unformatted,
    +# – creating conditions that will never be satisfied – then the wait will be terminated
    + COUNT=\”0\”
    + until [ \”$DEVDMSG\” == \”$DEVUUID\” ]
    + do
    + DEVUUID=$(ls -al /dev/disk/by-uuid | grep -o sd[a-z]| sort -u -k 1.3d)
    + echo \”waiting for USB drive(s) ..\”
    + COUNT=$((COUNT+1))
    +#### remove me ###########
    +# show counter working
    +echo \”count = \”$COUNT
    +# exit if count reaches 11 [= 20+ seconds]
    + [[ $COUNT -eq 11 ]] && echo \” ## giving up ## \” && break
    + sleep 2
    + done 2>/dev/null
    +#### remove me ###########
    +# show list of devices to be searched for .iso image
    +echo -e \”\33[33;1m$(ls -al /dev/disk/by-uuid | grep -o /sd[a-z][0-9]*$ | sort -k 1.5n | sed \’s|/|/dev/|g\’)\33[0m\”
    + echo
    + echo \”Looking for .iso image ..\”
    +# create device mount point
    + mkdir -p /mnt/isotest
    +# list formatted devices [including non-partitioned] and put them in numerical order
    + ls -al /dev/disk/by-uuid | grep -o /sd[a-z][0-9]*$ | sort -k 1.5n | sed \’s|/|/dev/|g\’ | while read DEVICE
    + do
    +# mount each device in turn if its filesystem is supported
    + DEVFS=$(blkid $DEVICE | sed \’s| |\\n_|g\’ | grep _TYPE | cut -d \’\”\’ -f 2)
    + if [[ $(cat /proc/filesystems|grep -o $DEVFS) ]]
    + then
    + echo \” looking in $DEVICE\”
    + mount -t $DEVFS -r $DEVICE /mnt/isotest 2>/dev/null
    +# look for the .iso image ..
    + ISiso=$(ls -1 /mnt/isotest/$FROM 2>/dev/null)
    + if [[ $ISiso ]]
    + then
    + mount -o loop $ISiso /mnt/media 2>/dev/null
    + echo \” .. found in\” $DEVICE
    + echo
    +# exit this \’while\’ loop as the .iso has been found and mounted
    + break
    + fi
    + else
    + echo $DEVICE\” – filesystem is \”$DEVFS\” – cannot search for .iso image in this filesystem\”
    + fi
    +# .. if not found, unmount device for next cycle of the loop
    + umount /mnt/isotest 2>/dev/null
    + done
    + else
    + echo \”.. no \’from=\’ option in command line\”
    + fi
    +LIVEFS=$(cat /proc/mounts | grep /mnt/media | cut -d \” \” -f 3)
    +LIVEMEDIA=$(losetup | grep /mnt/isotest | rev | cut -d \”/\” -f 1 | rev)
    if [ ! -z \”$LIVEMEDIA\” ]; then
    echo \”${INITRD}: Live media found at ${LIVEMEDIA}.\”

  97. WooHoo !

    I’ve been tied up with work ( doing a System to print Obamacare Forms for Employees — ick ).

    Moreover, my new Laptop has Qualcomm Ethernet and Wireless which don’t work at all yetso I’ve procrastinated with installing Slackware-Current … sigh …

    Anyhow, I plugged in a cheap USB Wireless Adapter , switched over to BIOS boot and started up Plasma 5 via syslinix.

    NetworkManager saw the Wireless and let me sign on immediately !

    Posting from the new Laptop !

    Not so hesitant to blow away WinDOS 10 now that I can get online to figure out the Killer N1535 Wireless and E2200 Ethernet …


    — kjh

  98. Thanks Eric.

    It looks like it should but neither the N1535 nor the E2200 are available.

    here’s lspci:

    root@darkstar:~# lspci
    00:00.0 Host bridge: Intel Corporation Sky Lake Host Bridge/DRAM Registers (rev 07)
    00:01.0 PCI bridge: Intel Corporation Sky Lake PCIe Controller (x16) (rev 07)
    00:14.0 USB controller: Intel Corporation Sunrise Point-H USB 3.0 xHCI Controller (rev 31)
    00:14.2 Signal processing controller: Intel Corporation Sunrise Point-H Thermal subsystem (rev 31)
    00:16.0 Communication controller: Intel Corporation Sunrise Point-H CSME HECI #1 (rev 31)
    00:17.0 SATA controller: Intel Corporation Device a102 (rev 31)
    00:1b.0 PCI bridge: Intel Corporation Sunrise Point-H PCI Root Port #17 (rev f1)
    00:1c.0 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #1 (rev f1)
    00:1c.6 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #7 (rev f1)
    00:1c.7 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #8 (rev f1)
    00:1d.0 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #9 (rev f1)
    00:1d.4 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #13 (rev f1)
    00:1f.0 ISA bridge: Intel Corporation Sunrise Point-H LPC Controller (rev 31)
    00:1f.2 Memory controller: Intel Corporation Sunrise Point-H PMC (rev 31)
    00:1f.3 Audio device: Intel Corporation Sunrise Point-H HD Audio (rev 31)
    00:1f.4 SMBus: Intel Corporation Sunrise Point-H SMBus (rev 31)
    01:00.0 VGA compatible controller: NVIDIA Corporation GM204M [GeForce GTX 970M] (rev a1)
    01:00.1 Audio device: NVIDIA Corporation GM204 High Definition Audio Controller (rev a1)
    02:00.0 SATA controller: Samsung Electronics Co Ltd Device a801 (rev 01)
    3c:00.0 Ethernet controller: Qualcomm Atheros Device e0a1 (rev 10)
    3d:00.0 SD Host controller: Realtek Semiconductor Co., Ltd. Device 5250 (rev 01)
    3e:00.0 SATA controller: Samsung Electronics Co Ltd Device a801 (rev 01)
    3f:00.0 Network controller: Qualcomm Atheros QCA6174 802.11ac Wireless Network Adapter (rev 32)

    Here’s lsmod …

    root@darkstar:~# lsmod |grep ath
    ath10k_pci 29082 0
    ath10k_core 194198 1 ath10k_pci
    ath 19282 1 ath10k_core
    mac80211 552915 1 ath10k_core
    cfg80211 443477 3 ath,mac80211,ath10k_core

    but here is dmesg |grep ath:

    root@darkstar:~# dmesg |grep ath
    [ 4.623086] md: multipath personality registered for level -4
    [ 18.684972] ath10k_pci 0000:3f:00.0: pci irq msi-x interrupts 8 irq_mode 0 reset_mode 0
    [ 18.830814] ath10k_pci 0000:3f:00.0: Direct firmware load for ath10k/cal-pci-0000:3f:00.0.bin failed with error -2
    [ 18.955135] ath10k_pci 0000:3f:00.0: otp calibration failed: 3
    [ 18.955310] ath10k_pci 0000:3f:00.0: failed to run otp: -22
    [ 18.955484] ath10k_pci 0000:3f:00.0: could not init core (-22)
    [ 18.955685] ath10k_pci 0000:3f:00.0: could not probe fw (-22)

    and here is ifconfig -a

    root@darkstar:~# ifconfig -a
    lo: flags=73 mtu 65536
    inet netmask
    inet6 ::1 prefixlen 128 scopeid 0x10
    loop txqueuelen 0 (Local Loopback)
    RX packets 200 bytes 12000 (11.7 KiB)
    RX errors 0 dropped 0 overruns 0 frame 0
    TX packets 200 bytes 12000 (11.7 KiB)
    TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

    wlan0: flags=4163 mtu 1500
    inet netmask broadcast
    inet6 2602:306:bd1f:c8c0:221:2fff:fe33:e5be prefixlen 64 scopeid 0x0
    inet6 fe80::221:2fff:fe33:e5be prefixlen 64 scopeid 0x20
    ether 00:21:2f:33:e5:be txqueuelen 1000 (Ethernet)
    RX packets 539838 bytes 261619043 (249.4 MiB)
    RX errors 0 dropped 6575 overruns 0 frame 0
    TX packets 32482 bytes 6272889 (5.9 MiB)
    TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

    The wlan0 is the USB Adapter I plugged in to get online.

    Other users reported issues with the N1535 … some had to recompile the kernel, others have been able to get it going with a simple depmod arg …

    Will work on it after I install Slackware Current this weekend

    Thanks again !

    — kjh

    p.s. I just noticed that I posted this under the wrong Article !

    I meant to post under the Beta + Persistence article … oh well …

  99. Woo Hoo !

    Yes, I had already cut-n-pasted that thread in my todo-try-this directory.

    Your analysis of my dmesg output moves that one to the top of my list !

    Thanks again Eric. I will let you know next week when I can get at it.

    — kjh

  100. p.s. I forgot to add that the 2nd answer at the site below did work to activate eth0 ( a QualComm e2400 on the same killer wireless N1535 PCI Card ):

    modprobe alx
    echo 1969 e0a1 > /sys/bus/pci/drivers/alx/new_id

    I’ll need to rebuild the alx module for the new device id to make it permanent.

    I’ll write all this up for when it’s all done.

    Thanks again Eric.

    — kjh

  101. I haven’t tried the Full Monty yet but XFCE Live works fine. I’m pleased to see that even the generic 4x kernel has no issues with my box. My only problem with the XFCE build is I’m bitten by nVidia HDMI hda Intel bug so no lovely audio from my Elsa Juli@. It isn’t a huge issue even if it means a wasted CD (I’ll never use it as a real system without sound) but I do wonder why the choice is made to support that bug which is for hardware only generally useful for HTPC. Anyway it is solvable by rebuilding and/or persistence so I’m still very grateful and looking forward to the full build. I hope it’s OK that I’ve “advertised” the launch of Slackware Live on the OverClockers.Net fortum in the Linux section. It has already gotten good feedback and that place is all but married to Arch! 🙂

  102. Hi James,

    I don’t know what you mean by “I do wonder why the choice is made to support that bug which is for hardware only generally useful for HTPC”?
    I make no choices here, the Live ISO you get is a default software configuration.
    If I have to add something to make your sound work without recompiling any of the Slackware packages, just tell me what it is, so that you do not have to add it to the persistence directory and/or waste a CDROM.
    The Beta is meant to resolve as many issues as possible before the launch of Slackware 14.2 so I can provide an adequately working Live Edition of it.
    It’s OK to advertise the Live Edition anywhere of course! You just need to realize that there was a second article after the one you commented to. I think I will add a link to the second article.

  103. Pingback: Alien Pastures » Beta3 of Slackware Live Edition is available

  104. Pingback: Alien Pastures » Slackware Live Edition, updated

  105. I might suggest adding a script during boot to detect the Nvidia and ATI cards. I already have it wrote if you need it but it is for Slackware 11. The basic script works fine but for each card I have it going to another script to follow the proper setup for the xorg.conf file. If you would like to look at my scripts I can send them to you so you can follow what is going on and adapt it to these liveslak scripts.

  106. Beta 4 issues I have ran into: Nvidia does not work on nforce motherboards with a gtx550. Easy fix by adding geforce and nvidia to the detection script. On log out of live user, you cannot log back into the root account. I will retest these issues again with a fresh iso download. I also just used the dd command onto a 1GB flash drive so if there is an issue this might be it rather than setting up a persistent partition.

  107. Seems as I though I had a bad write to the USB or something. I am not having the log out issues now with a new iso and 3 burns to be sure it was not a bug. Have you thought about a script like linux-live has to build modules for additional packages. I am not sure if this may be a bug but while running live for several hours testing as well as rebuilding some packages to use in a live environment, while copying over files to my normal partition, I got a NFS stale entry when trying to delete from my normal install. Fixed with the fsck but still something that might be looked at. I also am not getting the same partitions shown on the root account as I do the live account and sometimes randomly unmounting them between log outs of users.

  108. Darin, the script “makemod” is copied to “/usr/local/sbin/” in the Live ISO.
    The script accepts either a Slackware package or else a directory as input and converts that into a .sxz module.

    # ./makemod
    — Usage:
    makemod <packagename|directory> modulename.sxz

  109. I ran into another issue which is pretty big. I made custom packages for Chrome with my settings and plugins. On the I added chown -R live:users /home/live/.config/google-chrome and chmod -R 777 (yes I know but testing) /home/live/.config/google-chrome. This breaks the xsession with not being able to log out and not being able to deactivate the screensaver. Basically I was just trying to see if I could get away with building a settings package to install with the additional programs I prefer running from my USB. I am just reporting some bugs from testing and running and thanks alienbob for letting me know where that script was.

  110. I fail to see how a “chmod -R 777 /home/live/.config/google-chrome” could break stuff like that. Are you sure you did not run that “chmod -R 777” on some other location?
    Anyway, I do not believe that this is a bug I should address – it’s your own private screw-up.

  111. I’m sure but you may be right as it might be a XFCE issue. I will try to isolate it as I also have openjdk being installed as well as a crystal white cursors and mousepad along with it’s dependency. I tested all the packages alone and each installed individual and worked without issues. Right now the way I am getting my personal settings for google chrome is copying over /.config/google-chrome I have saved on another partition. This approach seems to work fine without any of the issues I stated prior.

  112. Darin, I think you need to inspect that package you created for Chrome and look at your filesystem after you’ve installed it. Its installation may have modified higher-up directories if you made a logical error or a typo somewhere.
    Not being able to logout or de-activate the screensaver means you messed up something outside of that ~live/.config/google-chrome/ directory.

  113. In Slackware Live Edition when finish can you supply or make a pdf file for download? I would like to have a hard copy and a list of current files you need to create it. I’m all most 68 and mind is slipping.

  114. @Jack Carpenter: just repeating the question doesn’t help understand it. Could you please tell us what you mean by a “part”? Or better; list the 4 parts you are speaking of.

  115. All right you started with Slackware Live Edition then you have beta 2, beta3 and beta4 to me that 4 parts.

    How many more beta are there going to be?

    Hope that is going help or is that same as before.

  116. Now I understand. Just one more question: why does it matter to you? I ask because in my opinion the only important concern is the end result, not the number of intermediary steps to get there.

  117. Maybe more I read the I understand how to do it. I’ll keep using what I have. I wanted to see if I could do it. Don’t worry I won’t be back.

  118. Well, that’s alienbob’s blog but as far as I am in concern you are welcome here. I just wanted to know what you want to achieve, so that maybe we can help you.

    PS I am 67, so you are not _that_ old 😉

  119. I just want something to do then watch TV. And I do like Slackware over all the other distro.

    If you don’t know, just say you don’t know.

    What I wanted to achieve, I wanted to learn how to build a Live distro and more info the better I should get I hope.

    Like said in few post back is I like to have a Hard Copy to read.

    I have 4 years longer then any men in my family. I will 68 on Feb 9.

  120. Jack, there are no “four parts” here. There are four Beta releases until now (and Beta 5 will come this weekend hopefully). Each release is a product all by itself, you do not need the previous releases. The most recent release will usually be what you need.

    You are talking about PDF hardcopies of these “parts” which makes me think that perhaps you mean, how many blog articles are going to be written after the four already published? The articles I wrote until now each have some unique pieces of information which could make it somewhat harder to understand – but remember, these releases are called “Beta” because I am still developing the scripts, and you will see an all-in-one documentation when I release my 1.0 version of the liveslak scripts.
    I am writing pieces of this README document when I have time, soI will get there.
    In the meantime, use the print function of your browser to create PDF files of these articles in my blog.
    And do not hesitate to ask when something is not clear. This blog is interactive.

  121. alienbob do you know or about when we will see an all-in-one documentation? What I mean is could it be up to a year from now or longer?

  122. I intend to have a 1.0 release ready when Slackware 14.2 gets its release. But probably sooner than that.
    WIth the upcoming Beta 5 I think I have added all that I really need to be in the Live Edition. The documentation should be my focus for the release after that, and perhaps I will stamp that 1.0 if the Live OS is stable and without showstoppers.
    Think weeks.

  123. I downloading slackware64-live-mate-current.iso right now. I will test it and get back. Can it be install on a USB to try?

  124. Well I did it I burn a DVD with slackware64-live-mate-current.iso.

    My question is how can I remove the programs I don’t want?

    Or will I have to create a new DVD with the programs I want?

    What like it to do is save my Data when I shut down or power off.

    If I have any problem I will report them here if you don’t mind.

  125. Jack, my version of Slackware Live is not meant to give you the opportunity to remove programs. It is meant to demo Slackware.
    If you want to remove individual packages, you’ll have to have a very good understanding of how my scripts work because you will have to re-write the script in a non-trivial manner.

    If you want to save your data when you shutdown, I hope you realize that a DVD medium is not going to be of much help… the only way to save your data, command history or changes is to create a USB version of my Slackware Live Edition, because what you want is what’s called “persistence” (retain your changes across reboots) and only the USB version offers that feature.

  126. Can I create USB version with slackware64-live-mate-current.iso?

    And use the ‘‘ script to create a Live OS on the USB?

    How big of USB will need to have? I have a 8gb, 16gb or 32gb and I have all 3 and like to use the 32gb if I can.

  127. You should indeed use the ‘’ script with the ISO as the input parameter (-i) and the device file for your USB stick as the output parameter (-o).
    Any USB stick with a larger capacity than the size of the ISO plus 100 MB (for the UEFI partition) will be OK. So, any of your 3 USB sticks will be OK.

  128. So if I use the USB 32gb thumb drive it will use the whole 32gb as 1 parttiion?

    The format on the USB thumb drive can it be ext4 ext3 as 1 partition cause the USB thumb drive with fat32 only use a 4gb partition.

  129. Jack, if you want such detail I suggest you re-read my blog posts and then read the scripts.
    Otherwise, just run “./ -h” to see an overview of its parameters plus example.
    The script will _wipe_ your USB stick and then create 3 new partitions, copy the ISO content to the 2nd and 3rd partitions (EFI and BIOS boot files, plus the actual Live modules) and that’s it. NO further interaction needed.
    The 3rd partition will be the big partition, spanning almost the complete USB stick, and it will be ext4-formatted.

  130. Thank you Alien Bob for your help. I will go with the USB 3.0 32gb thumb drive.

    With it running off of a DVD rom it running real fast. The USB will much better.

  131. Pingback: Alien Pastures » Slackware Live Edition – on it’s way to 1.0?

  132. Pingback: 10 Mejores Distribuciones Linux Para Novatos | Capacity Academy Blog

  133. I have used Slackware since 1996, there-abouts. Thanks for the distro.
    Problem: It will not book on the machine I wanted it for, the error message is that it can not run 64 bit. This will be true for 6 of the 8 machines here, that I wanted to use a bootable Linux CD upon.
    Problem2: Memory sizes are 32M, 180M, 900M. Not everyone has Gigabyte sized memories. But with Linux I never use over 200M and still never use Swap, even running Gimp.

  134. SelfProgrammed, I did not try creating a 32-bit version of the Live ISO, but someone did and his patches have already been applied to the source scripts. It should be possible.
    I do not think anything recent will run in 32 MB of RAM, perhaps not even in 180 MB of RAM. If you stick with old releases of Slackware, those old machines should be able to run it.
    IN 900 MB of RAM you should be able to run XFCE, KDE4 and of course just the console. My Asus eeepc 1000H has 1 GB of RAM and runs KDE4 without real issues (it’s slower than modern hardware of course but it is perfectly manageable).

  135. Everyone has his or her preferences.
    I do not care for compiz but it is part of Slackware so I suppose you can use it with other window managers if you do not like KDE.
    LXDE is no more, it evolved into LXQT which is based on Qt5 like Plasma 5. I might provide a Live variant for LXQT sometime, but currently it is not on my TODO.

  136. "I might provide a Live variant for LXQT sometime"

    Nice to read. Am interested in Slackware and LXQT. Should be a nice combination.

    Thank you.

  137. Pingback: Alien Pastures » Slackware Live Edition Beta 8

  138. Pingback: Alien Pastures » Stable 1.0.0 release of liveslak

  139. Sorry, my english is very bad

    kde4 session
    audio stream not playing in amarok

    $ LANG=C amarok –debug

    $ amarok: BEGIN: void Playlist::PrettyListView::trackActivated(const QModelIndex&)
    amarok: BEGIN: void Playlist::Actions::play(const QModelIndex&)
    amarok: BEGIN: void Playlist::Actions::play(quint64, bool)
    amarok: BEGIN: void EngineController::play(Meta::TrackPtr, uint, bool)
    amarok: BEGIN: void EngineController::stop(bool, bool)
    amarok: END__: void EngineController::stop(bool, bool) [Took: 0s]
    amarok: [EngineController] play: bounded is QObject(0x0) current “????? (”
    amarok: [EngineController] Just a normal, boring track… 😛
    amarok: BEGIN: void EngineController::playUrl(const KUrl&, uint, bool)
    amarok: [EngineController] URL: KUrl(“”) “”
    amarok: [EngineController] Offset: 0
    amarok: END__: void EngineController::playUrl(const KUrl&, uint, bool) [Took: 0.003s]
    amarok: END__: void EngineController::play(Meta::TrackPtr, uint, bool) [Took: 0.003s]
    amarok: END__: void Playlist::Actions::play(quint64, bool) [Took: 0.003s]
    amarok: END__: void Playlist::Actions::play(const QModelIndex&) [Took: 0.003s]
    amarok: END__: void Playlist::PrettyListView::trackActivated(const QModelIndex&) [Took: 0.003s]
    amarok: [EngineController] slotTrackLengthChanged( -1 )
    amarok: BEGIN: void ProgressWidget::redrawBookmarks(const QString*)
    amarok: END__: void ProgressWidget::redrawBookmarks(const QString*) [Took: 0s]
    amarok: MPRIS2: Queueing up a PropertiesChanged signal
    amarok: [EngineController] slotStateChanged from Phonon::LoadingState to Phonon::StoppedState
    sh: kreadconfig5: command not found
    sh: kreadconfig5: command not found

  140. Interesting. That error about kreadconfig5 seems to come from xdg-settings but that script will only invoke kreadconfig5 if it determines that you are running KDE5:
    if [ x”${KDE_SESSION_VERSION}” = x”5″ ]; then …
    However on KDE4 that variable KDE_SESSION_VERSION has a value of “4”.
    I just checked, the same happens here in KDE4 on Slackware Live when I try to play an internet URL.
    I do not have a “real” computer running Slackware-current and KDE4 so I can not repeat this test. I am using Plasma5 here and Amarok plays an Internet URL just fine.

  141. Pingback: Alien Pastures » Updated ISOs for Slackware Live Edition

  142. Found it:
    The Slackware Live Edition comes with two user accounts: user ‘root’ (with password ‘root’) and user ‘live’ (with password ‘live’). My advice is to login as user live and use “su” or “sudo” to get root access.

  143. Hi Eric,
    I try to use the “” script, but it gives me an error that i need the iso-info package.
    I’m in a Kubuntu distro right now for work, and want to try the persistence with the plasma version of liveslack. The system has the “isoinfo” tool installed, but not the “iso-info” and can’t find it to install it. The question is, the “iso-info” that is referred in the script is a typo for “isoinfo” or i must have “iso-info” installed?

    Thanks for the awesome work!

  144. Hi Andres

    The “isoinfo” is part of the “cdrtools” package, whereas “iso-info” is part of “libcdio”. Slackware has both so I picked the one that gives nicer output. Both work however. And apparently other distros have isoinfo but not iso-info…
    So I will make a change to the script and use isoinfo in future.
    In the meantime, you can do one of three things:
    (1) find and install the Ubuntu package containing “iso-info”
    (2) as root, make a symbolic link “/bin/iso-info” that points to your “isoinfo” binary,
    (3) edit the iso2usb script and change the word “iso-info” to “isoinfo” everywhere. Then on the line that starts with:
    VERSION=$(isoinfo ${SLISO}
    add two parameters so that the start of that line looks like:
    VERSION=$(isoinfo -d -i ${SLISO}

    Next update of liveslak will have that last option implemented:

  145. Thanks Erick, I was thinking in do the third option, so i’ll try it, but I’ll try to install the right package too.
    Later I’ll tell you how it goes.

  146. Hello Erick,
    I changed the iso-info references in the script, and a few other more to match the location of some tools in the kubuntu machine (like mount, umount, gptmbr.bin, etc).
    Installation goes well, but the usb do not boot with error “failed to load COM32 file vesamenu.c32” or something like that.
    Do you know where the error is?
    I’ll try again later.


  147. Looks like Kubuntu has all these files in different locations. Can you tell me Andres what you had to do to make it work (other file locations)? Where is the file “vesamenu.c32” located on your computer?

    Edit: unfortunately Ubuntu uses different file locations. According to it is “/usr/lib/syslinux/vesamenu.c32” in Precise and Quantal but “/usr/lib/syslinux/modules/bios/vesamenu.c32” in Wily.

  148. Also it is safer to use all syslinux files at exactly the same version. For instance this applies to isolinux.bin and vesalinux.c32 (more generally to all .c32 files). In case of problem using the official binaries shipped in the same source tarball is recommended.

  149. I tried to boot IBM Lenovo machines :T420 and X220 using 16GB freshly built pendrive using ./ script, but nothing happened.
    I got only return to F12 boot option, where a choice of boot disks is given.
    I tried also with -w 15 option, no luck as above.

  150. OlekA if two computers were unable to boot from that USB drive then it is likely that there’s something with the USB stick or with the files installed onto it.
    I can boot a USB Live pendrive on my T450 and on my T400. If I hit “select boot option” during startup I see my USB stick listed as a selectable option. Do your laptops have Secure Boot enabled? Because in that case it is not going to work.

    When creating the USB stick, what was the commandline you used and was there anything peculiar in the script’s output?

  151. About the kubuntu, yes it’s a mess of locations. I have kubuntu 16.04.
    The vesamenu.c32 file was in /usr/lib/SYSLINUX directory, also gptmbr.ini.
    mount and umount are in /bin/ not in /sbin/.
    I think it cover all the changes.
    I tried using dd but it also fails to boot. I’ll change the USB drive and download again the ISO.

  152. I must admit that a Xubuntu 15.04 live stick boots well on my X220.
    Also a slackware usb-installer (66MB) boots well.
    In my bios setup there’s no strict “Secure Boot” option anywhere.

    This is a complete output of the script:

    bash-4.3# ./ -i slackware64-live-current.iso -o /dev/sdb
    # We are going to format this device (erase all data) – ‘/dev/sdb’:
    # Vendor : Kingston
    # Model : DataTraveler 2.0
    # Size : 14766 MB
    # GPT fdisk (gdisk) version 1.0.0
    # Partition table scan:
    # MBR: protective
    # BSD: not present
    # APM: not present
    # GPT: present
    # Found valid GPT with protective MBR; using GPT.
    # Disk /dev/sdb: 30240768 sectors, 14.4 GiB
    # Logical sector size: 512 bytes
    # Disk identifier (GUID):XXXXXXXXXXXXXXX
    # Partition table holds up to 128 entries
    # First usable sector is 34, last usable sector is 30240734
    # Partitions will be aligned on 2048-sector boundaries
    # Total free space is 2014 sectors (1007.0 KiB)
    # Number Start (sector) End (sector) Size Code Name
    # 1 2048 4095 1024.0 KiB EF02 BIOS Boot Partition
    # 2 4096 208895 100.0 MiB EF00 EFI System Partition
    # 3 208896 30240734 14.3 GiB 8300 Slackware Linux

    *** ***
    *** If this is the wrong drive, then press CONTROL-C now! ***
    *** ***

    Or press ENTER to continue:
    1+0 records in
    1+0 records out
    512 bytes copied, 0.037531 s, 13.6 kB/s
    Found valid GPT with corrupt MBR; using GPT and will write new
    protective MBR on save.
    The operation has completed successfully.
    Setting name!
    partNum is 0
    REALLY setting name!
    Setting name!
    partNum is 1
    REALLY setting name!
    Setting name!
    partNum is 2
    REALLY setting name!
    The operation has completed successfully.
    The operation has completed successfully.
    Disk /dev/sdb: 30240768 sectors, 14.4 GiB
    Logical sector size: 512 bytes
    Partition table holds up to 128 entries
    First usable sector is 34, last usable sector is 30240734
    Partitions will be aligned on 2048-sector boundaries
    Total free space is 2014 sectors (1007.0 KiB)

    Number Start (sector) End (sector) Size Code Name
    1 2048 4095 1024.0 KiB EF02 BIOS Boot Partition
    2 4096 208895 100.0 MiB EF00 EFI System Partition
    3 208896 30240734 14.3 GiB 8300 Slackware Linux
    3:2:1 (legacy BIOS bootable)
    mkfs.fat 3.0.28 (2015-05-16)
    mkfs.fat 3.0.28 (2015-05-16)
    mke2fs 1.43 (17-May-2016)
    /dev/sdb3 contains a ext4 file system labelled ‘LIVESLAK’
    last mounted on /mnt/alienusb.WwKyrc on Mon Jun 13 11:53:10 2016
    Creating filesystem with 3753979 4k blocks and 940240 inodes
    Filesystem UUID: f1f9339b-4b16-41be-ae45-512ebfcbfe09
    Superblock backups stored on blocks:
    32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208

    Allocating group tables: done
    Writing inode tables: done
    Creating journal (32768 blocks): done
    Writing superblocks and filesystem accounting information: done

    tune2fs 1.43 (17-May-2016)
    Setting maximal mount count to -1
    Setting interval between checks to 0 seconds
    mount: /dev/loop1 is write-protected, mounting read-only
    — Copying files from ISO to USB… takes some time.
    2,728,822,449 100% 3.15MB/s 0:13:47 (xfr#80, to-chk=0/89)
    — Making the USB drive ‘/dev/sdb’ bootable using extlinux…
    /mnt/alienusb.mCbLWW/boot/extlinux is device /dev/sdb3
    — Cleaning up the staging area…

  153. Hi Eric,
    Tank you for this amazing work.
    I’ve Just installed a peristent slackware mate on a 16gb usb stick. I’ve tried to install slapt get from jaos site, but the tgz don’t install. Installpkg reports that “tar archive is corrupt (error code 2)”. Anyway gzip and tar program work becouse I’m able to unpack the tgz manually. Can you help me?

    1. Hi, Thank you for the fast reply! I resolved, but there is still something strange, I try to explane maybe is interesting. As internet connection I use a blackberry passport whit a 4g speed and i connect slackare with a WiFi always throught the blackberry. When i download the jaos tgz throught the blackberry and I try to install IT, also moving the tgz on the HD or the usb stick everithing goes right. When i try to download the tgz trought the slackware firefox the tgz is corrupted. No idea… but I like to test this things…

  154. @giovanni: in Firefox, type about:config in the address bar, discard the warning, then check the value of the parameter “network.http.accept-encoding”. The default is “gzip,deflate” to help serving gzipped web pages thus saving some bandwith, but a side effect is that it deflates content even in cases it shouldn’t. To avoid that, you could change the setting but then you won’t get some gzipped web pages displayed. So, just avoid using Firefox to download gzipped files but use a dedicated ftp client like wget, lftp, whatever.


  155. Hallo, another question. I’ve localized the live distribution using the boot menu. that doesn’t affect properly x11 programs. Anyway I’ve configured X11 keyboard with

    ” cp /usr/share/X11/xorg.conf.d/90-keyboard-layout.conf /etc/X11/xorg.conf.d ” and editing the file.
    Is there a way to set the x11 localization according with the boot choice? thanks

  156. If I understand well Giovanni would like that X parameters XkbLayout, XkbVariant and XkbOptions be automatically set according to the kernel keymap chosen (the opposite conversion is easier, that’s what Debian do).
    A way that often (but not always) work to do that is is to just feed a table:

    This is done in Salix by the utility keyboardsetup shipped in the package salixtools and in Slint with a slightly different table.

    For Italian the conversion is trivial, not so for other language like Greek that need the ability to toggle between US and Greek layouts. However that help users, who can anyway tune the settings after installation.

  157. OK. Giovanni, you can specify X keyboard and variant using the “xkb” boot parameter. For italian I did not get any feedback about incorrect X keyboard configuration when selecting Italian language so nothing was added to the ‘languages‘ file of liveslak.
    The line for the italian configuration looks like this:


    I.e. no custom X keyboard configuration.

    1. Ok, sorry for the delay. The main problem is that the @ in not in the right position on the keyboard. I resolved as I told you modifing the 90-keyboard-layout.conf file. Thanks.

  158. giovanni I know you edited “90-keyboard-layout.conf” but you still have not told me what exactly you changed in there.
    If you use the “xkb” boot parameter then a file “/etc/X11/xorg.conf.d/30-keyboard.conf” is created with the X keyboard configuration (layout,variant) you specified and additionally the XkbOptions are set to “grp:alt_shift_toggle,grp_led:scroll,compose:ralt”.

    It’s as simple as this: give me more info and I can give a better answer.

  159. yes, sorry. I’ve just added
    Option “XkbLayout” “it”
    and everything work fine now. I understud your explanation, thank you very much.

  160. Hello alienbob,

    I came here to congratulation, as a coder, not a system code yet, hope one day enjoy the efforts and help Slackware environment, as I appreciate all your, and Patrick strength to do this for love, as we can see.

    I hope see some day, an improvement in site, using some new technologies, like angular and foundation, and html5, css3 and javascript.

    My dream is see the Slackware screaming that is not dead, and it is still alive, and very alive, open the arms and embrace everyone back. I know, is wanna so much, but we can see the respect that you have with everybody.

    Who knows, when we you and Patrick, feel comfortable, announces a new release, with this live capability, and with new desktops like the amazing, Plasma, Mate, and Cinnamon.

    You know when Slackware move any things, and breath, all Gnu/Linux stop, and pain attention the old father.

    The 21th Century, the modern days, have hope, and is awaiting for you.

    Maybe to you and Patrick this can be nothing, but to those, like me, we win the day, and the rest of days, when our favourite Linux Distribution, shows that is very alive, and who knows, prepare to grow, and conquer, what wanna be yours again, and embraced by Slackware.

    Yeah I know, talks about Slackware is speak a poem.

    Long live dear Slackware. Conquer the world in all area again (business, desktop, servers, and everywhere else).

    And thanks a lot for everything that you have done for us.

    Believe, we, will fight with you, and when this day happen, everyone here could be a most well succeed boss, or leader, that will contribute, with pleasure, with this project (my dream is one day do this too, contribute, coding, doc, or with resources, or money, and I believe that every slacker feels the same).

    Cheers buddy.

  161. Hi OlekA

    Since you own a X220 and a T420 and I do not, I guess you’ll have to figure it out and provide me the information I need to fix this in my scripts (if something needs fixing).
    I have no issues whatsoever on my T400 and T450 laptops.

  162. Hi I cannot watch any videos with the Slack-live. It is warned a plugin is missing. Also, the sound fails. It mixes the onboard sound card (which is disabled) and the offboard one (which is in use)…but in general it is quite nice…tkd

  163. cezar what ISO variant did you try and what plugin is missing?
    With regard to sound, can you use the sound applet/widget to select the proper sound card?

  164. Pingback: Alien Pastures » Slackware 14.2 released

  165. Hello Erick. I have problems with a new laptop with a nvidia graphic card. I boot the live usb but i have no video, only text.
    Then, if I startx, this dont start and hangs with “waiting for x server to begin accepting connections”.
    Any idea?

  166. Andres, does that laptop have a hybrid video? I.e. a Nvidia GPU as well as an Intel GPU? If so, you probably will have to look for something like bumblebee to support your hybrid graphics. The Slackware forum on has multiple topics about this.
    One solution is to disable the Nvidia GPU and only use the Intel GPU but that deprives you from fast graphics.
    I do not own such hardware so I can not test or experiment. I do take constructive feedback in case I need to change anything.

    And… my name is Eric not Erick – that is not so hard to find out on this blog, right? If you address me directly, I would like my name to be written correctly.

  167. Thanks Eric.
    First, sorry for the name misspelled, I did not want to disrespect you. I don’t often comment, and sometimes i do from my smartphone, which is not so smart. I’ll try to not do it again.

    About the problem, yes, it’s an hybrid video, now i can point in that direction to solve this. I’ll search in linuxquestions, if i can achieve some improvements, i will comment here.


  168. Andres, check out this information:
    If it helps you with the Nvidia card it would be worth trying to create a squashfs module for it. Let me know what you achieve.
    Alternatively, you could try the binary nvidia drivers. All ISOs except the SLACKWARE and the XFCE variants, have a nvidia module in the “optional” directory. Try adding “load=nvidia” boot parameter to your syslinux or grub commandline.

  169. Ok, with load=nvidia the xorg server fails but at least try to start.
    I installed 14.2 in the HD and the problem was the same, so searching i found that the culprit may be the nouveau driver. So i blacklisted it, and rebooted. All graphics worked like a charm.
    So, the key is to blacklist the nouveau driver at boot time.
    Now, one question: the live-current version comes with Plasma 5? If not, i will use the live-plasma version.

  170. Well, in the boot parameters from the live version i add “nouveau.blacklist=1 blacklist=nouveau” and the boot process goes to graphical interface smoothly.
    Now i’m installing to disk.

  171. Andres, great to hear. With nouveau blacklisted, which driver are you using now?
    The “slackware64-live-current” by the way, is the full standard Slackware edition without any other software. Therefore it does not contain PLasma 5. You need the “plasma” ISO for that.

  172. Now it’s using the intel board, with i915 module loaded.
    Ok, so i have made a good decision, i’ve installed to disk the plasma ISO. Now i’ll configure to update to current.
    Thanks Eric for your help.

  173. Eric, pretty cool project.
    I noticed a bug when redoing my USB stick with a home directory. If you mis-type the password when making the LUKS container (the two passwords don’t match), the script exits, leaves the mount directories in place and one of the directories is busy so the USB stick cannot be unmounted.

  174. Hi Ken

    I have tried to make the script as robust as possible with regard to errors and crashes but there is probably always room for improvement.
    If you have a patch I can look at it and apply it if it’s OK. Otherwise it will be added to my TODO but that is already a long list.

  175. Something like this might give the user a second chance. Your trap cleans up if the user aborts, but I’m not sure what is holding /mnt/alienusb.XXXXXX open.

    — 2016-08-01 18:25:11.000000000 -0400
    +++ 2016-08-03 21:12:41.559022751 -0400
    @@ -295,10 +295,16 @@
    if [ “${CNTENCR}” = “luks” ]; then
    # Format the loop device with LUKS:
    echo “— Encrypting the container file with LUKS; enter ‘YES’ and a passphrase…”
    – cryptsetup -y luksFormat $LODEV
    + until cryptsetup -y luksFormat $LODEV ; do
    + echo Enter try again, or Ctrl-C to cleanup and exit the script.
    + read
    + done
    # Unlock the LUKS encrypted container:
    echo “— Unlocking the LUKS container requires your passphrase again…”
    – cryptsetup luksOpen $LODEV $(basename ${CNTBASE})
    + until cryptsetup luksOpen $LODEV $(basename ${CNTBASE}) ; do
    + echo Enter try again, or Ctrl-C to cleanup and exit the script.
    + read
    + done
    CNTDEV=/dev/mapper/$(basename ${CNTBASE})
    # Now we allocate blocks for the LUKS device. We write encrypted zeroes,
    # so that the file looks randomly filled from the outside.

  176. Ken, a loop like that will indeed prevent the program from exiting uncleanly, and it is also a lot more userfriendly…. I experienced the issue of non-matching passwords myself once and I was frustrated by the loss of time.
    I will fix the script.

  177. Thanks for the support! I love the idea of the persistence and will use it daily if I can get a particular Lenovo laptop to boot it. After a BIOS update it boots the Slackware install image (legacy or UEFI), so its probably just a matter of me looking at what’s the difference between the two. No problems on other, newer Dell laptops I’ve tried.

  178. I thinks I found it under the links listed for the other maintainers such as Willy and Ryan. Would like to confirm if that is indeed what I was looking for. Thanks again!

  179. There will not be a . The directory contains an ISO which is regenerated from scratch everytime there is an update to the Slackware ChangeLog.txt. If you want to test the bleeding-edge slackware-current branch using my Live Edition, just find a 64bit capable computer. Period.

    If you want a 32bit Slackware Live Edition look inside grab . This 32bit ISO is re-generated whenever I release a new liveslak which is not as often.

  180. Hi, I have an Asus X555L with Slackware x64 14.2 installed.

    my partition is(something like):

    ELILO 100MB
    935.7 EXT4

    when I run your Slackware Live, works perfectly too.

    Include, find my disk and mount him, no problem until here.

    but when I do setup2hd show me a error that cannot find UEFI partition, but as you can see, it’s define in my previous installation.

    What can I do setup2hd script find my disk to install Slackware Live?

  181. I’m late to the party, but wow, this is an amazingly useful project! Great job, Eric. I’m writing this from a Slackware64 14.2 XFCE image that I just created using (in a VM, using a Slackware64-14.2 tree exported via NFS); as I expected, the script was user-friendly and intuitive to use. I’ve written this to a SD card using dd(1), and boot from a SD card reader plugged into my machine. Working perfectly so far. NetworkManager was going crazy for about 15-30 seconds (connecting/disconnecting all the time; wired connection), but it’s running fine and stays connected now. Thanks a lot!

  182. Pingback: Slackware Live Edition 1.1.4 |

  183. I am a slackware newbie, but arch-mint-debian user.
    Installed live to usb, OK, no problem.
    Installed to external hard drive with setup2hd, OK.
    But, BUT, on boot hangs in the middle of sequence.
    What I do wrong? Can you help me? I cannot installed directly to laptop because is a new machine with warranty.

  184. Quan – if you installed Slackware Live to the external drive then you will have a regular Slackware on that external drive, there will not be anything “live” installed to that drive.
    So if that installation fails to boot you can use regular (Slackware) troubleshooting.

    My first guess would be that the external disk changed its device name after you removed the USB stick with Slackware Live. Suppose the USB stick was /dev/sda and the external harddisk was /dev/sdb while you were running Slackware Live and installing Slackware to the harddrive, this drive may now have become /dev/sda after rebooting the computer without the USB stick plugged in.
    What you could do in such a case is: boot the Slackware Live USB again, fix the bootloader configuration on the external harddisk, and then reboot again without the USB stick.

    Fixing a bootloader when it is trying to boot from the wrong device name is a topic that I am not going to discuss here, the LQ forum is better suited for this than my blog’s comments section.

  185. Hello,

    First, thanks for all the job done.
    But secondly, I’m disappointed because I trie without succes to make a bootable USB ; here is the end of my work :

    — Note: UEFI boot file ‘bootx64.efi’ or ‘bootia32.efi’ not found on ISO.
    — UEFI boot will not be supported
    91342 blocs
    — Copying files from ISO to USB… takes some time.
    737,123,086 100% 4.80MB/s 0:02:26 (xfr#69, to-chk=0/77)
    — Making the USB drive ‘/dev/sdc’ bootable using extlinux…
    /mnt/alienusb.gltBwz/boot/extlinux is device /dev/sdc3
    — Cleaning up the staging area…
    *** Failed to make USB device bootable – ‘gptmbr.bin’ not found!
    — Cleaning up the staging area…
    rmdir: échec de suppression de ‘/mnt/alieniso.V1nNSy’: Aucun fichier ou dossier de ce type
    rmdir: échec de suppression de ‘/mnt/alienusb.gltBwz’: Aucun fichier ou dossier de ce type
    rmdir: échec de suppression de ‘/mnt/alienus2.Gn8nEd’: Aucun fichier ou dossier de ce type

    (I’m sorry, it’s in French)

    It seem that something is wrong, but I don’t understand what. If you could give me some help to resolve my problem, it would be fine.
    Thank’s a lot.

  186. Patounet, you are not running Slackware I assume?
    The boot record file “gptmbr.bin” is meant to make the USB stick with a GPT partitioning scheme bootable. It is part of the syslinux package and I would expect that any modern Linux distro would have that file somewhere.

    Can you search your computer for “gptmbr.bin” and tell me if you find it anywhere? I would like to know its file path.

  187. You were right ; I was running the script on a laptop with Mint, (and 32bits what’s more) and in fact the syslinux was not in my Path.
    So I returned to my desktop, (with a Slack) and it was allright, with the XFCE script ; now I’m gone trye with the full one with persistent.
    Anyway, thank you.

  188. Hello alienbob:
    I just installed the latest Slackware Live iso to disk and can not boot it for failure to install a boot loader, the created ‘stick’ failed, and I only get a ‘panic’.
    My problem is how to install GRUB from Slackware Live …. ???
    The installation has been done on a single alternate disk of a machine with W10 and other OS’s Linux, therefore the boot of the installed Slackware Live happens to be initiated through GRUB if or … correct?
    So …. the million dollar question … how to do it?
    Thanks for your reply, Pere

  189. Hello alienbob:
    With a ninety disk installation of Slackware Plasma Live I managed to start it with a pendrive created from the installation itself, which does not invalidate my previous question on how to boot the ‘Live’ installation to disk with GRUB2.
    The problem I had was the partitioning, achieving success in this way, namely:
    1st – Partition of 2MB, type ef00, to boot UEFI BIOS.
    2nd – 50GB partition for the root partition.
    3rd – 16GB partition for swap files.
    4th – 150GB partition for the normal user (/home).
    The system is stable with pendrive boot.
    I await your response, thank you, Pere

  190. Pere – when you install Slackware using the Slackware Live medium, the installation process will be exactly as with a regular installation medium. Grub is not a choice during installation of Slackware: just lilo, or elilo in case of an UEFI computer.
    If you want to install grub you will have to wait for the installation to finish (you can skip the installation of lilo of course), and before rebooting do a “chroot /mnt” after which you are in the installed system. In the chroot, you can configure and install grub. then you can “exit” the chroot and reboot the computer.

    I do not know what a “ninety disk installation” is?
    In any case, a partition size of 2 MB for the EFI system partition is way too small, because the EFI partition must be able to contain the Slackware efi bootloader and the kernel/initrd. A choice of 200 MB would be much wiser.

  191. Pere – the screenshot suggests you did not install the bash package? That would not be a smart move, as the root account expects bash to be present.
    The error “grub-install: error: failed to get canonical path of `overlay'” seems to be related to the fact that you are doing the install from a Live OS (the ‘overlay’ is actually the Live filesystem). You need to do a bit of investigation yourself to find a way around this. Grub should ignore the overlay. is “/dev/sde” really your harddisk and will your computer be able to boot from it?

  192. Hello – just a comment with a request.

    I’ve been having trouble getting Slackware onto my MacBook. Various flavors of Ubuntu seem to work fine, but some graphics issues with Slack. In any case, I booted up this live Slackware XFCE and it works! I was excited, but now I see that I can’t install with the XFCE version 🙁

    So, thanks for giving me a partial solution, and my request is to make it a full solution by adding setup2hd support in the XFCE live version 🙂

  193. Chris, adding setup2hd in the small XFCE ISO requires a change in Slackware itself (the (e)liloconfig program must be expanded with the capability to generate an initrd image), so I’ll have to wait for that (and this has no ETA).

    However you can just download the full SLACKWARE variant and install that to your harddisk, this ISO contains XFCE as well as KDE4.

  194. Pingback: Slackware-MATE | le blog d'Olivyeahh

  195. Hi,

    I just tried to make a live usb drive with persistence using the iso2usb script but get the following error:

    /dev/sdb1: No such file or directory
    *** /usr/local/bin/iso2usb FAILED at line 547 ***

    The full code looks like this:

    bash-4.3# iso2usb -i /home/cps/Downloads/slackware64-live-current.iso -o /dev/sdb -c 75%
    # We are going to format this device (erase all data) – ‘/dev/sdb’:
    # Vendor : SanDisk
    # Model : Ultra
    # Size : 59232 MB
    # GPT fdisk (gdisk) version 1.0.0
    # Partition table scan:
    # MBR: protective
    # BSD: not present
    # APM: not present
    # GPT: present
    # Found valid GPT with protective MBR; using GPT.
    # Disk /dev/sdb: 121307136 sectors, 57.8 GiB
    # Logical sector size: 512 bytes
    # Disk identifier (GUID): 02411C38-4F46-488A-B6C4-796D45E0C00E
    # Partition table holds up to 128 entries
    # First usable sector is 34, last usable sector is 121307102
    # Partitions will be aligned on 2048-sector boundaries
    # Total free space is 2014 sectors (1007.0 KiB)
    # Number Start (sector) End (sector) Size Code Name
    # 1 2048 4095 1024.0 KiB EF02 BIOS Boot Partition
    # 2 4096 208895 100.0 MiB EF00 EFI System Partition
    # 3 208896 121307102 57.7 GiB 8300 Slackware Linux

    *** ***
    *** If this is the wrong drive, then press CONTROL-C now! ***
    *** ***

    Or press ENTER to continue:
    1+0 records in
    1+0 records out
    512 bytes copied, 0.00265386 s, 193 kB/s
    Found valid GPT with corrupt MBR; using GPT and will write new
    protective MBR on save.
    Warning: The kernel is still using the old partition table.
    The new table will be used at the next reboot or after you
    run partprobe(8) or kpartx(8)
    The operation has completed successfully.
    Setting name!
    partNum is 0
    REALLY setting name!
    Setting name!
    partNum is 1
    REALLY setting name!
    Setting name!
    partNum is 2
    REALLY setting name!
    Warning: The kernel is still using the old partition table.
    The new table will be used at the next reboot or after you
    run partprobe(8) or kpartx(8)
    The operation has completed successfully.
    Warning: The kernel is still using the old partition table.
    The new table will be used at the next reboot or after you
    run partprobe(8) or kpartx(8)
    The operation has completed successfully.
    Disk /dev/sdb: 121307136 sectors, 57.8 GiB
    Logical sector size: 512 bytes
    Disk identifier (GUID): 573C8D0F-2DBF-4E8F-8F86-5ED4C57B6662
    Partition table holds up to 128 entries
    First usable sector is 34, last usable sector is 121307102
    Partitions will be aligned on 2048-sector boundaries
    Total free space is 2014 sectors (1007.0 KiB)

    Number Start (sector) End (sector) Size Code Name
    1 2048 4095 1024.0 KiB EF02 BIOS Boot Partition
    2 4096 208895 100.0 MiB EF00 EFI System Partition
    3 208896 121307102 57.7 GiB 8300 Slackware Linux
    3:2:1 (legacy BIOS bootable)
    mkfs.fat 3.0.28 (2015-05-16)
    /dev/sdb1: No such file or directory
    *** /usr/local/bin/iso2usb FAILED at line 547 ***
    — Cleaning up the staging area…

    Maybe you can help?

  196. Interesting. I guess that these lines are indication of your issue:

    Warning: The kernel is still using the old partition table.
    The new table will be used at the next reboot or after you
    run partprobe(8) or kpartx(8)
    The operation has completed successfully.
    Warning: The kernel is still using the old partition table.
    The new table will be used at the next reboot or after you
    run partprobe(8) or kpartx(8)

    The partitioning is apparently not being communicated to the kernel, and as a result the device file /dev/sdb1 (representing one of the partitions just created) is not created.

    Try this patch:

    --- 2017-01-23 12:23:32.381652010 +0100
    +++ 2017-04-25 21:01:25.185207752 +0200
    @@ -66,7 +66,7 @@

    # These tools are required by the script, we will check for their existence:
    -REQTOOLS="blkid cpio extlinux fdisk gdisk isoinfo mkdosfs sgdisk"
    +REQTOOLS="blkid cpio extlinux fdisk gdisk isoinfo mkdosfs partprobe sgdisk"

    # Initialize more variables:
    @@ -539,6 +539,8 @@
    -n 3:208896:0 -c 3:"Slackware Linux" -t 3:8300 \
    sgdisk -A 3:set:2 $TARGET
    + # Announce the new partitions to the kernel:
    + partprobe
    # Show what we did to the USB stick:
    sgdisk -p -A 3:show $TARGET

  197. Unfortunately your patch does not work. Now a get the error message :

    mkdosfs: unable to open /dev/sdb1: Device or resource busy

    Or press ENTER to continue:
    1+0 records in
    1+0 records out
    512 bytes copied, 0.00306942 s, 167 kB/s
    Found valid GPT with corrupt MBR; using GPT and will write new
    protective MBR on save.
    Warning: The kernel is still using the old partition table.
    The new table will be used at the next reboot or after you
    run partprobe(8) or kpartx(8)
    The operation has completed successfully.
    Setting name!
    partNum is 0
    REALLY setting name!
    Setting name!
    partNum is 1
    REALLY setting name!
    Setting name!
    partNum is 2
    REALLY setting name!
    Warning: The kernel is still using the old partition table.
    The new table will be used at the next reboot or after you
    run partprobe(8) or kpartx(8)
    The operation has completed successfully.
    Warning: The kernel is still using the old partition table.
    The new table will be used at the next reboot or after you
    run partprobe(8) or kpartx(8)
    The operation has completed successfully.
    Disk /dev/sdb: 121307136 sectors, 57.8 GiB
    Logical sector size: 512 bytes
    Disk identifier (GUID): 789B642B-81D0-44F7-B798-FB767114C5A9
    Partition table holds up to 128 entries
    First usable sector is 34, last usable sector is 121307102
    Partitions will be aligned on 2048-sector boundaries
    Total free space is 2014 sectors (1007.0 KiB)

    Number Start (sector) End (sector) Size Code Name
    1 2048 4095 1024.0 KiB EF02 BIOS Boot Partition
    2 4096 208895 100.0 MiB EF00 EFI System Partition
    3 208896 121307102 57.7 GiB 8300 Slackware Linux
    3:2:1 (legacy BIOS bootable)
    mkfs.fat 3.0.28 (2015-05-16)
    mkdosfs: unable to open /dev/sdb1: Device or resource busy
    *** /usr/local/bin/iso2usb FAILED at line 549 ***
    — Cleaning up the staging area…

  198. Pingback: Alien Pastures » liveslak 1.1.8 and new ISO images

  199. Hi, alienbob! Nice work with these live ISOs. 🙂 I\’m testing the Xfce one and I\’m wondering if you know why new gvfs versions are ignoring udev rules (i.e. Thunar shows loop devices). Have you noticed that? If we revert gvfs from 1.32.1 to 1.30.x everything should work as expected.

  200. user321 – I started a XFCE Live (liveslak 1.1.8) to check out your report. However, my Thunar does not show the loopmounts. Both 32bit and 64bit variants. and the ISOs contain gvfs-1.32.1.

  201. Yeah, I think this is the bug! I\’m glad the guys are aware of it. Let\’s wait for the next version then. Thanks, man! 🙂

  202. Newbie question- if I add data to live edition and then decide to install it on hard disk ; will it carry all my additions to the hard disk ? If so ; it will be an amazing preconfigured system. With additional apps and dot files etc.

  203. Your custom additions will not be part of the harddisk installation. You will get a standard Slackware installation, that’s the whole point of ‘setup2hd’.
    You could always copy your modifications over from the USB stick to the harddrive.

    Or else, you can just copy the full content of the live filesystem to your freshly partitioned harddisk. After mounting your harddive at /setup2hd, you could execute something like: rsync –exclude=proc –exclude=sys / /setup2hd/
    This will of course also copy the system modifications I had to make for a live OS – what you would get is not a proper Slackware plus your own add-ons but a non-standard Slackware. I would not do such a thing myself.

  204. Eric,

    Thank You for the Slackware Live!

    By default, creates gpt disklabel.

    What needs to be done in order to create
    mbr disklabel? I have looked into,
    but this kind of change does not seem to be

    Is converting gpt to mbr the only option?

    Would be really grateful for any pointers!

  205. HappySlackwareLiveUser – the script does not support creating an MBR on your USB drive. It would just add complexity and I don’t see where I would gain anything.
    What’s your use-case for desiring a MBR?

  206. Eric,

    Thank You for your reply!

    > the script does not support creating an
    > MBR on your USB drive

    Well, hence my question: “What needs to be done in
    order to create MBR disklabel?”. As I see it, a large
    part of the script needs to be rewritten.

    I do not know how exactly the “Live” part works so I am
    trying to find out if it is worth experimenting with ideas
    on how to make it run on top of MBR.

    In Your opinion, what is the path of least resistance in
    this case?

    > It would just add complexity and I don’t see where
    > I would gain anything.

    I perfectly understand and justify that. Simplicity (or
    should I call it “relative minimalism”) is an important
    and nice part of it!

    > What’s your use-case for desiring a MBR?

    I perfectly understand, that booting from MBR is moving
    backwards, but it seems to me that my Dell 3750 would
    boot only from MBR disklabel (I mean by using USB).
    For example, CloneZilla-20130226-quantal-i386 boots fine.

    I have tried to install to HDD as well, but the result is the

    It is not SlackwareLive specific, it is only about the general
    choice between MBR or GPT, right?

    I am not expecting that You will write the script for me.
    I am just asking You, the Author of the SlackwareLive,
    about directions and plausibility of such custom change.

    Also, what is Your preferred way of supplying You with
    more details (if they are needed) on this? dmesg, fdisk

  207. Eric,

    > the script does not support creating an
    > MBR on your USB drive had all the answers that I needed.

    Thank You!

  208. HappySlackwareLiveUser, glad you made itwork for you.
    If your solution is something that can be added to the script via a patch and it does not break existing functionality, and if you are willing to share it, I can add it.

  209. Hey Eric!
    First of all, thanks so much for all your work and contributions, I’m happily testing now on my old laptop (a Satellite A305D), and have couple of questions:
    1. Does the live is already pre-configured with multilib or should be added?
    2. if I install on HD, and decide to install wine from the extra packages that comes in the livestick, should I add miltilib or it is done with the setup2hd script?

    Thanks in advance and happy slacking time 🙂

  210. Cuetz, only the PLASMA5 ISO comes with full multilib enabled. If you want to add multilib to one of the other variants you need to download the multilib module separately from and add that .sxz file to the /liveslak/addons/ directory of your USB stick. Obviously you can not add that module to a ISO file afterwards as easily.

    If you have installed Slackware Live to your harddisk using the ‘setup2hd’ command, then that is the point where you must stop looking at liveslak modules. Once you have your Slackware running on a harddisk, it is *exactly* the same as any other regular Slackware installation. It is no longer a “Slackware Live”.

    If you want to install wine on 64bit Slackware, you will need multilib. Installing wine and multilib must be done from my package repositories, not from a squashfs module.

  211. Thank you for all your Slackware-related work and for this version of liveslack. It worked “out of the box” with my new Asus S705UQ. I had to add boost_1_63_0 alongside with boost_1_65_0 for mkvmerge to run,but it was so a little thing.
    Thank you four your time.

  212. Thanks so much for the reply Eric, yes, that was exactly my question.

    I’m using the PLASMA5 ISO, so I’m fully covered, but in case I need to install it to any compurer I’ll take a look on your repos for that multilib and wine packages.

    Once again, thanks for all your support and hard work. I’ll would like to be like you when older 😀

  213. Cuetz, read this if you want to learn how to extend slackpkg’s capabilities and add 3rd party repositories (like mine):

    With slackpkg+ installed and properly configured and the slackpkg database refreshed with “slackpkg update”, installing wine would be as easy as “slackpkg install OpenAL ; slackpkg install wine”. And keeping multilib uptodate would be a simple “slackpkg install multilib ; slackpkg upgrade multilib”

    1. SLACKWARE_LIVE plasma is 4.4 GB and does not fit on a standard dvd 4.35 GB or so. I have slackware-current running perfectly fine, but I wanted to try the plasma one, it has openjdk and icedtea-web which I need because the ones installed on hard drive don’t work; get errors.

  214. Antonio, indeed. I was pointed to the DVD incompatibility by Pat Volkerding, so next release of the PLASMA5 ISO I will make certain that it will fit on a DVD again. I hope it can be done without removing any of the packages. I have some ideas to generate the ISO smarter.

    1. Thank you very much Alienbob! This is excellent news as last time I used plasma 5 live variant of SLACKWARELIVE it had/s/ lumina minimal desktop. I can put it in a usb disk and have a full fledge desktop with an excellent choice of programs. If I get error messages with icedtea/openjdk, I will try to post them here. I was a heavy slax/porteus user with copy2ram, but now slax is moving to debian and porteus is luckily still using slackware-current as base. It is great to have a true slackware-live-current DVD as a true slackware install would be like.

  215. Antonio, the PLASMA5 ISO still contains Lumina as well as LXQT as alternative desktops.
    I have never seen reports of issues with my openjdk package, so if you do have issues I would like to hear about them.

    1. Java works correctly, problem is on one of my machines running slackware current there is no firefox-esr which supports icedtea-web plugin. I have to use seamonkey and it runs javaws or something like that the icead-tea window opens but as soon as it loads, it crashes with a exception* error somewhere. I will try to copy this error message if I can tomorrow at work. Best Regards && thanks for your help.

  216. I am trying from palemoon. Sorry for taking long. The error message I get is the following:

    net.sourceforge.jnlp.LaunchException: Fatal: Initialization Error: Could not initialize application. The application has not been initialized, for more information execute javaws from the command line.
    at net.sourceforge.jnlp.Launcher.createApplication(
    at net.sourceforge.jnlp.Launcher.launchApplication(
    at net.sourceforge.jnlp.Launcher$
    Caused by: net.sourceforge.jnlp.LaunchException: Fatal: Application Error: Cannot grant permissions to unsigned jars. Application requested security permissions, but jars are not signed.
    at net.sourceforge.jnlp.runtime.JNLPClassLoader$SecurityDelegateImpl.getClassLoaderSecurity(
    at net.sourceforge.jnlp.runtime.JNLPClassLoader.setSecurity(
    at net.sourceforge.jnlp.runtime.JNLPClassLoader.initializeResources(
    at net.sourceforge.jnlp.runtime.JNLPClassLoader.(
    at net.sourceforge.jnlp.runtime.JNLPClassLoader.createInstance(
    at net.sourceforge.jnlp.runtime.JNLPClassLoader.getInstance(
    at net.sourceforge.jnlp.runtime.JNLPClassLoader.getInstance(
    at net.sourceforge.jnlp.Launcher.createApplication(
    … 2 more

    I have not gotten it to work since last year on another machine from which the hard drive passed to a better life 🙁
    javac from command line works, the browser test runs. For some reason or another this application does not work.

  217. I just wanted to say thank you! I don’t know why I even bothered trying to install other distros as a persistent live usb, when here it was my lovely slackware ready to install and use. Tested in both my new laptop and old computer and it works like a charm. 😀

  218. I’m afraid to say that I was somewhat disappointed,
    for various reasons I had to burn to dvd, slow to load,
    very slow to install despite renicing, and the install not
    at all like the live desktop. Flailing around trying to make sense of it! But worst of all, the mouse cannot
    ‘grab’ window edges, most annoying.
    There doesn’t seem to be a way to get a normal ‘start’
    button, and I haven’t found the panel button either
    (and no choice apparent to pick an alternative DE,
    except perhaps startlxde? BTW, plasma)
    libltheme…so seems to be missing despite being installed

  219. Dave, the experience when booting off a DVD drive will be worse than using a USB drive, that is to be expected. A big desktop environment like Plasma5 takes time to load in such a case, although LXQT should load faster.
    The install using “setup2hd” is slower than when you would install from a regular Slackware DVD, this is because of the overhead of squashfs (used on the Live OS) compared to a regular installation (where the extraction of xz-compressed packages will be much more efficient).

    The installed system is the unmodified version, without the stuff I added to make it a Live OS. The installed system should not be *that* different from the Live OS, though.
    Your description of mouse issues, missing start bitton, no panel, makes me wonder what happened during installation. It sounds like an incomplete or broken installation.
    Sorry for the disappointment.
    Try a USB stick instead of a DVD.

  220. It’s not obviously broken anywhere else, just mouse resize. The md5 of the dl and the k3b burn both checked
    OK . It’s just the lumina DE, it is so different it needs
    a FAQ on the desktop to give hints on the “tricks”
    The start button is there, just so very limited,
    the panel is there, just no way to add or remove items,
    no easily findable settings button. With wifi, NetManager can be …difficult…,, by now I know how to bend it to my will, this last not just slackware
    It would be good to have wicd as an alternative

  221. OK Dave, so your gripe is with the Lumina desktop and not with the Live ISO.
    Please visit a Lumina support forum and get the answers there, to your doubts and questions. This blog is not the place to give functional support, as I do not use Lumina.

  222. Just a sidenote on Slackware live XDE:

    Needs talloc and tevent so we can access to smb shares using (and not only) thunar.

  223. PCManiac – talloc and tevent (and tdb) are included in the XFCE Live ISO image that you can download from my website. It’s the ISO based on liveslak-

  224. Pingback: A list of non-systemd distributions | systemD-free linux community

  225. Hi Eric. I am really astonished with your work. I am a 14.2 stable user and I have decided to take a look at your liveslak so to have a portable OS for security reasons. It is so fast and stable I couldn’t notice I was using a live usb OS. I always use fluxbox in my machines but this way I decided to play with Plasma – I am really surprised how fast and stable it is. From now on I will always carry Slackware in my pocket (I don’t like carrying a notebook because everywhere I go I have a desktop available, and now I will have Slack with persistance with me). This work of yours is impressive. I have played with some other live distros and they are not even closer to Liveslak. Thank you and congratulations! I will try to give you more feedback on liveslak from an end-user.

  226. Pingback: Slackware Linux исполнилось 25 лет — — Всероссийский портал о UNIX-системах

  227. Thanks a lot for new SlackLive!
    I was wondering how can I install slacklive xfce edition to my HD since it doesn’t come with setup2hd

  228. Victor001 – what you want is not a supported option (i.e. supported by me or by liveslak). As far as I am concerned, the 700 MB ISO is meant purely as a Live system and will result in a crippled system once installed to harddisk.

    But if you want an unsupported HOWTO, read this:

  229. Pingback: Slackware Linux исполнилось 25 лет

  230. Pingback: Slackware Live |

  231. I was trying to create a live USB stick with an encrypted home directory using the script. But the attempt fails with iso2usb complaining about an unknown compression method. I reproduce below the terminal messages just before failure.

    This will overwrite data on /dev/loop20 irrevocably.

    Are you sure? (Type uppercase yes): YES
    Enter passphrase:
    Verify passphrase:
    — Unlocking the LUKS container requires your passphrase again…
    Enter passphrase for /mnt/alienusb.JopgN6/slhome.img:
    12171264+0 records in
    12171264+0 records out
    6231687168 bytes (6.2 GB, 5.8 GiB) copied, 376.767 s, 16.5 MB/s
    mke2fs 1.44.4 (18-Aug-2018)
    64-bit filesystem support is not enabled. The larger fields afforded by this feature enable full-strength checksumming. Pass -O 64bit to rectify.
    Creating filesystem with 1521408 4k blocks and 380512 inodes
    Filesystem UUID: 40ae1be5-278d-4f62-801b-ae662405b7b6
    Superblock backups stored on blocks:
    32768, 98304, 163840, 229376, 294912, 819200, 884736

    Allocating group tables: done
    Writing inode tables: done
    Creating journal (16384 blocks): done
    Writing superblocks and filesystem accounting information: done

    tune2fs 1.44.4 (18-Aug-2018)
    Setting maximal mount count to -1
    Setting interval between checks to 0 seconds
    Setting reserved blocks percentage to 0% (0 blocks)
    — Copying ‘/home’ from LiveOS to container…
    Filesystem uses unknown compression, this is unsupported by this version
    Decompressors available:
    The drive created failed to boot.

  232. K P Rajeev, I assume that you are running the “” script from within the Live OS?

    The latest Live ISOs have been created with a version of the squasfs-tools that were not part of Slackware-current at the time, capable of using a new kind of compression.
    That means, the Live OS will work flawlessly (the kernel will take care of squashfs filesystem reads) but if you want to access a squashfs module from within the Live OS using its squashfs-tools, you will get an error about the new compression (ZSTD) used in the Live ISO.

    In the meantime, zstd has been added to slackware-current and the squashfs-tools have been rebuilt to add support for zstd.

    So the fix is simple: Upgrade squashfs-tools and add the zstd package from Slackware’s repository. The slackpkg tool will assist you. As root:
    # slackpkg update
    # slackpkg install zstd
    # slackpkg upgrade squashfs-tools
    And then run the “” script again.

  233. david, if you write a decent sentence with actual information it it, I can probably give a decent answer. I can do zero with what you wrote.
    What version of Slackware Live? What did you try to do? Etcetera.

  234. Thanks very much alienbob. I was able to make an encrypted live slackware USB stick successfully following your advice. Thanks again!

  235. Hi Eric, your liveslack works great in my laptop, while I get hardware compatibility issues with 14.2. Is the .config of your liveslack kernel just the default config of the current or you did modifications? Thank for any answer

  236. sagredo – in liveslak, everything (kernel, packages) is taken from Slackware without modification.
    Myself, I use a kernel compiled from the Slackware-current sources on my Slackware 14.2 server. The 4.14 kernels work a lot better than the 4.4 kernels with the new hardware you can buy these days.

  237. Hello Eric,

    Thank you for your work! And: is there an issue tracker, or something serving as one?

    This one time, I’ll add an issue description here: with recent 64-current xorg packages (recent = modified during the last 2-3 weeks), the TrackPoint in my laptop stopped working in X. Installing the xf86-input-libinput package solved the issue immediately. Add it to x_base.lst, maybe?

  238. Hi Yuri,

    I do not have an issue tracker. I will address any issues when they are reported via this blog or when I get emailed.

    If adding ‘xf86-input-libinput’ fixes the TrackPoint then indeed, I will add that package to x_base.

  239. Pingback: Slackware Linux исполнилось 25 лет | RebelTech

  240. I had formatted that partition using the kde disk manager you included on the live plasma iso, but i went back and deleted and recreated the linux partition in cgdisk, and its now working. Thanks for replying!!!

  241. It’s not clear to me how to create the ISO from a local directory. I rsync 64-bit -current to a local directory, but if I want to create the Plasma ISO then surely I would be missing the extras Eric adds to that ISO – VLC, for example?

  242. Gerard, everything gets downloaded locally first. Depends on the variant of Live you want to make. Check out the pkglist/*.conf files relevant for you for the URLs where stuff gets downloaded. It all goes into /var/cache/liveslak/ .

  243. There’s an issue with setup2hd, won’t know how to replicate, happened here in my setup. The system which was set up on the internal drive wouldn’t boot, producing lots of 99 codes starting with LI, I think.

    And when after that I tried to install LILO on the internal drive I’ve got errors w/r to the graphical boot screen, so everything referencing bitmaps had to be commented out of lilo.conf. After that LILO managed to install and is working (with red-backgrounded text menu).

  244. Yury that is not an issue with setup2hd, the same would have happened with a regular installation using a Slackware boot medium. Looks like the lilo installation on your computer requires a bit of tweaking to get it to work properly.

  245. Eric, I understand /that/ much, only I don’t even remember when was the last time I encountered such kind of errors.

    So there must be some misuse of setup2hd (quite possibly on my side) plus the minimal environment packages list might be lacking some bootmenu-related stuff.

    What I did was I’ve made a USB stick with minimal liveslak plus kernel-huge and ran setup2hd on an actual laptop, following the procedure as outlined by dialogs.
    I’ll try to replicate in virtual machine

  246. While using liveslak, I’ve found that the following two patches, which regulate the CPU cores utilisation, are of help.

    — make_slackware_live.conf.prev ^2018-01-12 09:30:02.173667596 +0300
    +++ make_slackware_live.conf ^2019-02-16 10:26:21.065328238 +0300
    @@ -91,6 +91,10 @@
    +SQ_COMP_JOB=”-processors 2″
    +# OPTIONAL:
    # Add your own Live OS customizations to the function custom_config() :
    #custom_config() {
    # # Add your own stuff here which is not covered in the main script:


    —^2019-02-15 21:45:52.082567761 +0300
    +++ ^2019-02-16 17:48:26.040176345 +0300
    @@ -231,6 +231,8 @@
    # the alternative is gzip (which adds ~30% to the initrd size).
    COMPR=${COMPR:-“xz –check=crc32”}
    # What compressors are available?
    SQ_COMP_AVAIL=”gzip lzma lzo xz zstd”
    @@ -1238,13 +1240,13 @@
    rm -rf ${LIVE_BOOT}/boot
    mv ${INSTDIR}/boot ${LIVE_BOOT}/
    # Squash the boot files into a module as a safeguard:
    – mksquashfs ${LIVE_BOOT} ${LIVE_MOD_SYS}/0000-${DISTRO}_boot-${SL_VERSION}-${SL_ARCH}.sxz -noappend -comp ${SQ_COMP} ${SQ_COMP
    + mksquashfs ${LIVE_BOOT} ${LIVE_MOD_SYS}/0000-${DISTRO}_boot-${SL_VERSION}-${SL_ARCH}.sxz -noappend -comp ${SQ_COMP} ${SQ_COMP
    # Squash the installed package series into a module:
    – mksquashfs ${INSTDIR} ${LIVE_MOD_SYS}/${MNUM}-${DISTRO}_${SPS}-${SL_VERSION}-${SL_ARCH}.sxz -noappend -comp ${SQ_COMP} ${SQ_COMP_
    + mksquashfs ${INSTDIR} ${LIVE_MOD_SYS}/${MNUM}-${DISTRO}_${SPS}-${SL_VERSION}-${SL_ARCH}.sxz -noappend -comp ${SQ_COMP} ${SQ_COMP_
    rm -rf ${INSTDIR}/*
    # End result: we have our .sxz file and the INSTDIR is empty again,
    @@ -2292,7 +2294,7 @@
    # Squash the configuration into its own module:
    umount ${LIVE_ROOTDIR} 2>${DBGOUT} || true
    -mksquashfs ${INSTDIR} ${LIVE_MOD_SYS}/0099-${DISTRO}_zzzconf-${SL_VERSION}-${SL_ARCH}.sxz -noappend -comp ${SQ_COMP} ${SQ_COMP_PARAMS
    +mksquashfs ${INSTDIR} ${LIVE_MOD_SYS}/0099-${DISTRO}_zzzconf-${SL_VERSION}-${SL_ARCH}.sxz -noappend -comp ${SQ_COMP} ${SQ_COMP_PARAMS
    rm -rf ${INSTDIR}/*
    # End result: we have our .sxz file and the INSTDIR is empty again,
    @@ -2427,7 +2429,7 @@
    mv ${LIVE_BOOT}/boot/initrd_${KVER}.img ${LIVE_STAGING}/boot/initrd.img
    # Squash the boot directory into its own module:
    -mksquashfs ${LIVE_BOOT} ${LIVE_MOD_SYS}/0000-${DISTRO}_boot-${SL_VERSION}-${SL_ARCH}.sxz -noappend -comp ${SQ_COMP} ${SQ_COMP_PARAMS}
    +mksquashfs ${LIVE_BOOT} ${LIVE_MOD_SYS}/0000-${DISTRO}_boot-${SL_VERSION}-${SL_ARCH}.sxz -noappend -comp ${SQ_COMP} ${SQ_COMP_PARAMS}
    # Determine additional boot parameters to be added:
    if [ -z ${KAPPEND} ]; then


  247. Sorry, didn’t notice cutoffs on long lines in the 2nd one:

    — 2019-02-15 21:45:52.082567761 +0300
    +++ 2019-02-16 17:48:26.040176345 +0300
    @@ -231,6 +231,8 @@
    # the alternative is gzip (which adds ~30% to the initrd size).
    COMPR=${COMPR:-“xz –check=crc32”}

    # What compressors are available?
    SQ_COMP_AVAIL=”gzip lzma lzo xz zstd”

    @@ -1238,13 +1240,13 @@
    rm -rf ${LIVE_BOOT}/boot
    mv ${INSTDIR}/boot ${LIVE_BOOT}/
    # Squash the boot files into a module as a safeguard:
    – mksquashfs ${LIVE_BOOT} ${LIVE_MOD_SYS}/0000-${DISTRO}_boot-${SL_VERSION}-${SL_ARCH}.sxz -noappend -comp ${SQ_COMP} ${SQ_COMP
    + mksquashfs ${LIVE_BOOT} ${LIVE_MOD_SYS}/0000-${DISTRO}_boot-${SL_VERSION}-${SL_ARCH}.sxz -noappend -comp ${SQ_COMP} ${SQ_COMP


    # Squash the installed package series into a module:
    – mksquashfs ${INSTDIR} ${LIVE_MOD_SYS}/${MNUM}-${DISTRO}_${SPS}-${SL_VERSION}-${SL_ARCH}.sxz -noappend -comp ${SQ_COMP} ${SQ_COMP_
    + mksquashfs ${INSTDIR} ${LIVE_MOD_SYS}/${MNUM}-${DISTRO}_${SPS}-${SL_VERSION}-${SL_ARCH}.sxz -noappend -comp ${SQ_COMP} ${SQ_COMP_
    rm -rf ${INSTDIR}/*

    # End result: we have our .sxz file and the INSTDIR is empty again,
    @@ -2292,7 +2294,7 @@

    # Squash the configuration into its own module:
    umount ${LIVE_ROOTDIR} 2>${DBGOUT} || true
    -mksquashfs ${INSTDIR} ${LIVE_MOD_SYS}/0099-${DISTRO}_zzzconf-${SL_VERSION}-${SL_ARCH}.sxz -noappend -comp ${SQ_COMP} ${SQ_COMP_PARAMS
    +mksquashfs ${INSTDIR} ${LIVE_MOD_SYS}/0099-${DISTRO}_zzzconf-${SL_VERSION}-${SL_ARCH}.sxz -noappend -comp ${SQ_COMP} ${SQ_COMP_PARAMS
    } ${SQ_COMP_JOB}
    rm -rf ${INSTDIR}/*

    # End result: we have our .sxz file and the INSTDIR is empty again,
    @@ -2427,7 +2429,7 @@
    mv ${LIVE_BOOT}/boot/initrd_${KVER}.img ${LIVE_STAGING}/boot/initrd.img

    # Squash the boot directory into its own module:
    -mksquashfs ${LIVE_BOOT} ${LIVE_MOD_SYS}/0000-${DISTRO}_boot-${SL_VERSION}-${SL_ARCH}.sxz -noappend -comp ${SQ_COMP} ${SQ_COMP_PARAMS}
    +mksquashfs ${LIVE_BOOT} ${LIVE_MOD_SYS}/0000-${DISTRO}_boot-${SL_VERSION}-${SL_ARCH}.sxz -noappend -comp ${SQ_COMP} ${SQ_COMP_PARAMS}

    # Determine additional boot parameters to be added:
    if [ -z ${KAPPEND} ]; then

  248. Comments on the minimal Slackware set, as produced by the sequence “${MINLIST},noxbase,x_base,xapbase”.
    1. Leaving out the ‘acpid’ package is dubious – what about switching off with power button?
    2. As C compiler isn’t left out, pkg-config, autoconf, automake, libtool, m4 are also rather needed.
    3. For some popular toolkits used in builds of simple X software, some of their dependencies aren’t included (so builds fail): zlib and expat
    4. (unrelated issue from 64-current, got found in the process of working with liveslak installation) pcre2 leaves its .pc files in /usr/lib64/pkgconfig without any symbolic link to libpcre.pc (like libpcre2-posix.pc->libpcre.pc). So configuring anything requiring glib-2.0 fails too.

  249. Purging the doc directory (‘-t doc’ in creates partly-usable CUPS installation. CUPS package needs its ‘doc’ subdir for the web interface to work…

  250. Yury,

    About your SQ_COMP_JOB=”-processors 2″ patch: mksquashfs by default already sets this number to the amount of local processors available, so I see no reason for this patch.

    Regarding your comments on usability: the 700 MB large XFCE image is *not* meant to be your daily driver. It lacks a lot of software and is mainly meant to test the Live OS scripts, and to give you a small Live OS which boots fast and which you can use for testing your hardware. It also gives you enough tools that you can surf, chat, scan, write, print and do some games if you need to. I have a Slackware Live USB stick attached to my key chain so I can get every computer to boot into my own custom Slackware environment in a minute or so.

    The C compiler is included because I think that a Linux computer without C compiler is too crippled to be taken seriously. Consider that a heritage from my UNIX era. The autotools etc which you are missing – again this kind of work you want to do (compiling software) is not the intended purpose of the XFCE image. Use one of the other (complete) ISO images please.

    Regarding your CUPS observation in the XFCE image, I think that is a valid remark and I will have to look into fixing that.
    Thank you.

  251. Eric, thank you for the answer.

    The patch was created precisely because by default mksquashfs consumes all the cores available. I have 4 and I set this to 2, so as not to have myself eaten out of the CPU when make_live script runs. (I’m keeping the patch, obviously :))

    I understand your reasoning on 700 Mb ISO. This image is, in fact, not more than 5-7 packages ‘under’ what I myself consider to be a fairly comfortable daily use system. Not having ACPID included, however? Power button not working? (And meanwhile there’s GIMP sitting there…)

    Now, I understand the reasoning behind the minimal setup not being a real developer’s workstation, but is a build from source a ‘real developing activity’? And, having bare-arse C compiler is kind of pointless these days, don’t you think?

  252. On plasma5 liveslak subject (not the newest checkout, however):

    In plasma5 taskbar, the panel to the left of the dock shows what seems to be a part of a giant close button on a red square; the text in that panel, to the right of the ‘button’ says :
    Error loading QML file: file:///usr/share/plasma/plasmoids/org.kde.plasma.private.systemtray/contents/ui/main.qml:373:19: Type ExpandedRepresentation unavailable

  253. > On plasma5 liveslak subject (not the newest checkout, however):
    Looks like you have some very old ISO? That was fixed a _long_ time ago. Cause was a re-packaging of the qt5 package on a system with a broken tar (some filenames would be cut off at 100 characters when re-tarring the package).

    I am not going to comment on your opinions in the other post, questioning my decisions as what needs to go into the ISO. Feel free to spin your own, after all the scripts are all there for you to use.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.