My thoughts on Slackware, life and everything

Liveslak 1.8.0 – more filesystems supported, lots of fixes

Liveslak updates! Quite soon after my August ISO refresh, I used some free moments to implement a request of sorts and fix some longstanding bugs.
Version 1.8.0 of the liveslak scripts is now available, containing these enhancements and fixes.
Links to the liveslak git repository and download locations are at the bottom of this post. Of course, the new functionality and fixes are also present in a fresh batch of Slackware Live ISO images.

New features of liveslak 1.8.0

  • LUKS encrypted containers for your homedirectory and for persistence are now supporting many more filesystems, not just ext2/4 but also btrfs, f2fs, jfs or xfs. The lack of f2fs support was mentioned by a visitor of this blog and I thought that was useful feedback.
    The accompanying scripts iso2usb.sh and isocomp.sh now support this filesystem choice via a new ‘-F‘ switch.
    Note that the Linux partition of a USB Live thumbdrive remains ext4 formatted, because liveslak uses extlinux to boot on a BIOS computer.
  • The upslak.sh script can now extend the size of the  LUKS encrypted container files on your USB thumbdrive, in case you run out of storage there.
  • I fixed the pxeserver script and expanded its functionality:
    • PXE boot of a UEFI computer finally works.
      Note that this may not work for you out of the box, because there are two implementations in dnsmasq to support UEFI PXE boot… and sometimes, one will work and the other won’t. So, you may have to open the /usr/local/sbin/pxeserver script in an editor and look for the section where a number of ‘dhcp-match‘ and ‘dhcp-boot‘ lines is commented out. If you remove the comment characters from these 8 lines and instead, add a comment character ‘#’ in front of the ‘dhcp-match‘ and ‘pxe-service‘ lines a bit higher up, your UEFI computer might actually succeed in booting over the network.
    • NAT firewalling can be optionally enabled in case PXE clients wouldn’t have Internet access otherwise.
  • I fixed the hang during shutdown/reboot when liveslak is a PXE client.
  • I fixed UEFI boot using GRUB when the live ISO had been ‘dd’-ed or ‘cp’-ed directly to a USB thumbdrive. You would end at the GRUB prompt instead of booting into the OS.
    It took me quite a while because this bug was introduced in Feb 2019 (!), and I never found the time to investigate. Eventually looking into it during a weekend of solitude caused an epiphany.
  • I added support for a dark theme in KDE Plasma based ISOs, with the LEAN ISO as an example (that one also gets a new login/desktop background image taken from my photo collection with every ISO refresh).
  • Lots of other small fixes and enhancements, read the Git log for more information.

Booting from an on-disk ISO file

Liveslak supports Ventoy, a multi-boot manager for removable media like USB thumbdrives which lets you boot any ISO image you store on the disk, selecting from a GRUB menu it creates on the fly.
Because liveslak  implements the “Ventoy-compatible” guideline, any Slackware Live ISO works out of the box on Ventoy. Support for encrypted persistence and homedirectory containers on a Ventoy disk is offered by the ISO companion script ‘isocomp.sh‘.
You can find the details in the git commit message.

Install Slackware using a liveslak ISO

A quick reminder that you can use a liveslak ISO to install Slackware to your hard drive from its official package repository (using a network installation from a HTTP, FTP, NFS or Samba server).
You can also install the actual content of the Live ISO to your harddisk if you like. In this case all “live aspects” will be skipped during the copy, so that you will in fact end up with a completely regular Slackware on your harddisk.
The program to run these installations is available on all liveslak ISOs and is called ‘setup2hd‘. It is derived from the ‘setup‘ program of a Slackware install media, but has some nice enhancements: it launches cfdisk/cgdisk for you to partition your disks, lets you create a regular user, and allows you to configure a basic firewall.
Best of all, you can run setup2hd in an X-terminal and let the installer chomp through the packages while you browse the internet, watch a video or perform any other kind of leisurely activities on your Live OS.

And by the way: booting Slackware Live is the only way (using setup2hd) to install the official Slackware distro from a network server across a wireless connection. The official Slackware installer only supports wired network connections.

Get liveslak ISOs

The various variants of Slackware Live Edition can be found in the “latest” subdirectory at https://download.liveslak.org/ or its US mirror https://us.liveslak.org/ . A fast UK mirror is provided by Darren Austin at https://slackware.uk/liveslak/ .
You’ll be able to download ISO Live images of 32bit and 64bit Slackware proper, also of the small XFCE variant for (both architectures), and then CINNAMON, DAW, LEAN and MATE ISOs that only come in 64bits.
Big thanks to Willy Sudiarto Raharjo (willysr) for maintaining the Mate and Cinnamon Slackware package repositories.
Also have a look in the “bonus” subdirectory! There you’ll find Nvidia graphics and Broadcom wireless binary drivers, Wine 8 and multilib modules to add if you use the persistent version of liveslak.

All ISOs containing a 64bit Live Slackware have support for SecureBoot.

Get liveslak sources

The liveslak project is hosted in git. Its browsable cgit interface is here: https://git.liveslak.org/liveslak/

A set of the liveslak scripts can also be downloaded from http://www.slackware.com/~alien/liveslak/ or https://slackware.nl/people/alien/liveslak/

Have fun! Eric

11 Comments

  1. Konrad J Hambrick

    Awesome !
    I have been wanting to try Ventoy.
    Thanks for making it so easy Eric !!
    — kjh

  2. Bob Funk

    I grabbed a copy of the latest slackware-live-current.iso and ‘cp’d it to my trusty flash stick, which booted up perfectly. Nice to see you have that pesky problem sorted out now. There were a few times over the years where I had to direct people on LQ to use the iso2usb.sh script and not dd/cp.

    I’ll still have to make a proper slackware-live usb with iso2usb.sh to check out the luks and filesystem changes of course.

    Thanks for the fixes and improvements!

    • Bob Funk

      I ended up using the following line to put slackware64-current on my 8GB stick:

      sh iso2usb.sh -i /home/bob/Downloads/slackware64-live-current.iso -o /dev/sdd -C 2G -F ext4

      I figured using a 2GB persistence file would leave around 1 to 1.5GB for dropping things in addons/ like the nvidia driver. Seems to work fine so far, and boots and runs well on my nvidia desktop machine and laptops.

      The ‘-C’ option is documented as “for use on a FAT filesystem”. However, the way I see it is that you can use either ‘-c’ to have a LUKS encrypted file for /home while the rest of persistence is unencrypted, or, use ‘-C’ to have a LUKS encrypted file for all of persistence, which would include /home inside it. Would that be correct?

      Also, I ended up using the default ‘ext4’ filesystem format for persistence, though I did a test run with f2fs to see if it worked. Is there a benefit to using alternative filesystems for the /home directory or persistence file filesystems? In the overall scheme, the /home directory or persistence file is mounted in the overlayfs with the ext4 linux system partition and squashfs modules. Would you get a speed benefit from f2fs being used to format the persistence file?

      I’d be curious to know what you use for your Slackware Live USB setups.

      • alienbob

        I did not add the filesystem choice for myself. In fact, I could not care less. I have used ext2/3/4 all my life and that will not change. This was the “implement a request of sorts” thing I mentioned in the first sentence of the blog post.

        The statement that the ‘-C’ option is ‘for use on a FAT filesystem’ originates in one of liveslak’s TODO list items, to support any kind of USB stick partitioning and formatting scheme. When you put all your stuff in containers, it does not really matter what the media filesystem is. I would just need to implement an alternative for my choice for extlinux as the BIOS bootloader.
        But nowadays I would rather recommend creating a Ventoy disk if you need your USB stick to have a (ex|v)fat filesystem. Lots easier and with full support for encrypted persistence and homedirectory containers.

  3. rizitis

    Thank you Eric!

  4. Sattva

    Thank you Eric.
    As always, your contributions are invaluable and appreciated!
    Regards.

  5. jorge

    Liveslak 1.8.0 is wonderbaar
    I noticed it is booting faster than 1.7.0 I am glad to have the opportunity to take advantage of this project.
    By the way I have to uncomment this line. in order to build my own liveslak
    # The rsync URI of our default Slackware mirror server:
    #SL_REPO_URL=”rsync.osuosl.org::slackware”

    for
    SL_REPO_URL=”rsync.slackware.uk::slackware”

    due osuosl.org, was very slow or busy yesterday.

    Many thanks

  6. Indus

    Hello Eric,
    Like others a massive thank you for all of your work on slackware. I have a question regarding liveslak and more specifically “upslak.sh”.

    I have used a usb stick and went via ventoy installation as mentioned above
    I also have a home partition on the disk
    I have successfully used the usb drive to install slackware and in general use it if required.
    I wanted to update the kernel and module, but getting error when running “upslak.sh” saying “*** ./upslak.sh FAILED at line 1098 ***”
    Checking that I can see we are expecting three partitions on the disk, how ever I only have two partitions
    fdisk -l /dev/sde | grep ^/dev/sde | cut -d” ” -f1
    /dev/sde1
    /dev/sde2
    Is this something that I’ve done wrong?
    Once again massive thank you.
    Best regards

    • alienbob

      Upslak.sh script only works on a USB stick with Slackware Live that has been created using the iso2usb.sh script.
      I cannot determine from your post how you installed Slackware to that partition. In any case upslak.sh won’t work with the ISO on a Ventoy disk.

      • Indus

        Sorry for the delay in response.

        Thank you v much for the confirmation. Understood.

  7. antenista procaz

    typo “Finished” in tools/create_liveslak_iso.sh line 344:

    echo “[$(date -u +%Y%m%d_%H%M) UTC] Finshed.” >>${ISODIR}/${PUBLOG}

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.

© 2024 Alien Pastures

Theme by Anders NorenUp ↑