Building LiveCDs

This page is in help of those that are interested in building LSD GNU/Linux LiveCD ISO images.

Things you should know before getting started
The build tool requires the following packages to be present in the host OS environment: How and what versions doesn't matter much, those provided with the distribution you are using should be decent enough to do the job.
 * git
 * pacman
 * squashfs-tools
 * syslinux
 * xorriso

Tools of the trade
The tool you are going to use is lsd-build, or LSDB. Its sources are located at https://bitbucket.org/smil3y/lsd-build.

LSDB is a set of scripts to assist in building LiveCDs using profiles. The base profile is used as shared, meaning that files from it are used only if files in the profile you choosed at runtime don't exists in the profile directory. This is to minimize the impact on the files you need to worry about when creating your own profile.

Getting your hands dirty
First you will need the sources of LSDB. To obtain a fresh copy issue the following in Terminal: git clone --depth=1 https://smil3y@bitbucket.org/smil3y/lsd-build.git Or, if you already have a copy of the sources, just update them: cd lsd-build git pull origin master

To create a new profile you can create an empty directory in the profiles directpry of the LSDB main tree: cd lsd-build mkdir profiles/custom

Now, you can copy only the preferences.conf file from the base profile so that the defaults provided in the base profile and used for the rest of the build: cp profiles/base/preferences.conf profiles/custom

The next step is editing the preferences.conf file to your liking, in this example Vim will be used as it is shipped by default by almost every disitribution out there: vim profiles/custom/preferences.conf

Quick notes:
 * Press "A" to switch to "INSERT" mode
 * Press escape to switch back to "VIEW" mode
 * Type ":wq" and then "ENTER" to save and exit

After you are fine with the changes you've made build an ISO image: su -c "./build.sh custom -d -b"

The final ISO image you can find in the main LSDB directory.