Create Slackware ISO from Slackware File Tree

October 22, 2020 • ☕️ 5 min read

WARNING: Don’t buy Slackware CD / DVD from the official Slackware Store!

July 23th, 2018. Patrick Volkerding, the Benevolent Dictator for Life of Slackware drop a message that shock the Slackware community. The Slackware store has been ripping him off horribly, for almost two year’s they never paid the loyalty to him. Good news the store took down and Patrick launch Patreon for Slackware, so what you wait for, become Slackware Patron and help the sustainability of Slackware now.

Without monetary issue, you could expect the Slackware development will sail smoothly. The question now as the user, is how to obtain Slackware installer if the store is closed?

The only way is to obtain the Slackware Iternational Organization for Standardization (ISO) file and burn it into CD / DVD or create a bootable USB from that ISO file. To get Slackware ISO you could download from the official mirrors. For you who prefer Torrent, this for you.

Started as a series of fixes for various bugs in SoftLandingSystem (SLS) that for whatever reason never went back into Peter MacDonald’s SLS. By popular demand and since SLS development stalled, Patrick made these available on his university’s FTP server for others and release it as Slackware 1.0 on July 16th, 1993.

- Eric Hameleers (Allien BOB)] source

Pssst, did you know that the latest Slackware stable release version, when this article was written, is 14.2. Which is released on June 30th, 2016. Make sure to update your Slackware if you’re installing from this release version, because imagine how many patches and updates that already release?

There is a way that will save you from this trouble.

Slackware is unique, no source code version control, no public code repository, no issue tracking system, any contributions and bug reports done informally, mostly via email or linuxquestions.org. But, for me, the interesting part is how reasonable the Slackware repository size.

The Slackware ISO file is the Slackware repository itself.

Slackware does not make any assumptions about what the user intends to do with his or her software. This is unlike the majority of other distros, which do make assumptions and try to automate as much as possible in line with those assumptions.

- Ruarí Ødegaard source

Thus, instead of downloading the out-date Slackware ISO file, which requires you to upgrade after installation, I recommend you to create the Slackware ISO file from the latest Slackware repository.

Slackware repository, or refer to the official name is Slackware File Tree could be found on the official mirrors. You could try nearest mirrors with you which support FTP / HTTP / HTTPS / RSYNC. Slackware repositories contain all version of Slackware release, including the current which is a next stable release candidate. This means you not only could create ISO from the stable version but from the current version too.

Now, this is my secret!

  • Use mirrors that support rsync.
  • Download both the stable version and current version.

RSYNC

Rsync is an open-source fast incremental file transfer, it could be used for the local and online situation. With rsync, you could pause and resume the activity, it’s also capable to delete data on the target that not exist from the source. Thus, you could sync between your local repository with the mirrors.

Why bother to download both stable and current repositories?

Because, when the next stable version released, what you could do is:

  • Delete the current stable repository.
  • Copy the current repository, which means now you have two identical current repository.
  • One of your copy will sync with the latest stable repository.
  • The other, will sync with the active current repository.

This will save you from download from the beginning.

Here is my script to rsync both stable and current repository.

echo "Download stable repository..."
rsync -avzP --bwlimit 100 --delete repo.ukdw.ac.id::slackware/slackware64-14.2/ /home/slacker/repository/stable/

echo "Download current repository..."
rsync -avzP --bwlimit 100 --delete repo.ukdw.ac.id::slackware/slackware64-current/ /home/slacker/repository/current/

To create the ISO file from Slackware File Tree, there is documentation about that on $SLACKWARE_FILE_TREE/isolinux/README.txt.

What you need to do is open your terminal and go to Slackware File Tree directory (which contains ChangeLog.txt file). From here, execute the command below.

mkisofs -o /tmp/slackware-dvd.iso 
-R -J -A "Slackware Install" 
-hide-rr-moved 
-v -d -N 
-no-emul-boot -boot-load-size 4 -boot-info-table 
-sort isolinux/iso.sort 
-b isolinux/isolinux.bin 
-c isolinux/isolinux.boot 
-eltorito-alt-boot -no-emul-boot -eltorito-platform 0xEF 
-eltorito-boot isolinux/efiboot.img 
-m 'source' 
-V "SlackDVD" .

Don’t forget about the period (.) at the end of the command, it’s necessary. The command will create slackware-dvd.iso on /tmp directory.

Burn to DVD

Before burning the ISO file into DVD, need to execute the command below.

isohybird -u /tmp/slackware-dvd.iso

Next, use your favourite tools to burn the ISO file to DVD.

Bootable USB stick

There are several ways to make a bootable USB stick, one of them is dd and this tool is already in Slackware.

Prepare USB stick with a size of ~4GB and plug it into your machine, but don’t mount it!.

The dd tool needs the name of the device, not the partition name.

The device name usually likes this /dev/sdb and partition name is like this /dev/sdb1. So, use the former.

To check your USB stick device name and partition name, execute the command fdisk -l as superuser.

Create bootable USB stick with the command below.

dd if=/tmp/slackware-dvd.iso of=/dev/sdb

© Sukma Wardana - All rights reserved.