This document explains in detail how to set up a Debian Linux system in order to create new versions of Alka-linux. Alka-linux is based on Morphix, which provides a collection of tools in order to automate many procedures required for building and customizing a Linux Live CD/DVD.
The reader is expected to understand the basics of Linux command-line usage. Commands and programs are specified in italics. Filenames are specified in bold.
- Debian GNU Linux (etch, lenny or sid) installed on a i386-based machine (Intel/AMD)
- Root access
- Minimum of 2 GB RAM
- Minimum of 20GB of free harddisk space
Setting up the build-system
The first step is to add the Morphix package repository to the build-system. All Morphix tools are packaged as Debian (.deb) packages, which allow them to be installed with ease on any Debian-based system. The latest details can be found on www.morphix.org/debian, at time of writing this is as simple as adding the following line to /etc/apt/sources.list:
deb http://www.morphix.org/debian unstable/
Then execute apt-get update in order to update the system's list of available packages.
In order to install the most frequently used Morphix tools, execute apt-get install morphing-tools. The morphing-tools package will be installed, together with everything that is required in order to build a Morphix-based Live CD.
An introduction to morphix's mmaker
The commands mmaker and isomaker provide the core functionality in building a Live CD from scratch. Building a Live CD from scratch is required both for automating and for large-scale selection of required Debian software packages.
Both tools use a user-specified XML-based file (called a 'template') for repository and package selection. Included in appendix A is the template used for building Alka-linux: it specifies all repositories required together with all the package names that are to be installed. The Alka-linux template can be edited either in a XML editor or in any normal text editor.
After the packages have been determined (for example in the template alka-linux-template.xml, creating the main Alka-linux module is simply a matter of running the following command: mmaker alka-linux-template.xml Alka-linux-main.mod. This can take a while, depending on network and processor speed. The output of mmaker can be used in order to determine which sub-commands are being used in order to build the module.
Morphix uses the concept of 'modules' internally in order to build a complete Live CD/DVD image. The largest and most important module is the main module. This contains all the standard files present for the user. There are two other types of modules: the base module, which provides the CD/DVD-booting and hardware detection, and mini modules, which allow arbitrary post-build functionality like the storing of user-specific files.
Morphing a Morphix image into Alka-linux
With only a main module you aren't done completely. As indicated in the previous section a base module is also required. A Morphix base iso with all required files can be obtained from www.morphix.org, or it can be generated using isomaker together with a base template file. See man isomaker and the documentation in /usr/share/doc/morphix-mmaker/ for details.
With a base iso and the isomorph tool it is childs-play to add the main module. Simply run isomorph --add main Alka-linux-main.mod old-base.iso Alka-linux.iso and the resulting iso CD/DVD image is ready for usage.
The image built in the previous section should work, and all the specified software is available in the resulting Live CD/DVD. However, by default all the images are either Morphix or Debian-branded. The morphix-rebrand tool allows you to easily rebrand the image into an Alka-linux image together with a single screen-sized graphical image:morphix-rebrand -T Alka-linux -b alka-background.png -g alka-linux -u morph -h Alka-linux Alka-linux.iso Alka-linux-rebranded.iso alka-background.png
This command uses the single alka-background.png image and places it in multiple locations within the Alka-linux iso image. The background image will be shown at boot-time, during boot-time and be the background for the user.
Further personalization is naturally also possible, but it requires manual intervention. The user of a Morphix Live CD/DVD can use the tool make-mini in order to store all modifications since boot-time into a Morphix mini module. Run make-mini --homedir-all Alka-linux-home.mod while running the Alka-linux image in order to store all contents in the user's home directory into the Alka-linux-home.mod file. The command make-mini-home is a graphical tool for less-experienced users to create the same module and store it upon a connected USB storage device, like a thumbdrive.
With this module copied to the build-system, it is easy to integrate into the build process. The single command isomorph --add mini Alka-linux-home.mod Alka-linux-rebranded.iso Alka-linux-personalized.iso completes the process: a new Alka-linux image has been created from scratch, with branding and user-specified personalizations.
Appendix A: Alka-linux XML template
For each release a new Alka-linux template is made available to accompany it. Use the steps detailed above and this file to build a basic version of Alka-linux from scratch: