Our guide to building your own online distro

Once the installation was complete and the test laptop rebooted into GDM, we found the Japanese language support packages had not been fully installed, and so when changing the language setting in Gnome, additional packages had to be downloaded. But considering the breadth of Linux distros that SystemDesigner attempts to support, it's still an impressive tool. The other system settings were correctly preseeded, including the user and network details.


If you're now happy with your custom Ubuntu install, then it's worth having a look at that preseed.txt file to understand how automated installs work. Although Ubuntu is normally installed with a GUI from a Live CD, automated installs are usually done with Debian's text-mode installer, known as d-i, because it's much more scriptable than a point and click environment.

The preseed file is all commented in English, so it's easy to understand. For example, here's the part about the base distro's package repository:

# Where are we pulling bits from?
d-i mirror/http/hostname string us.archive.ubuntu.com
d-i mirror/http/directory string /ubuntu/

And here's the part about our initial user account:

# Mortal User
d-i passwd/user-fullname string Dave Smith
d-i passwd/username string dave
d-i passwd/user-password-crypted passwd $1$QOimuo6b$4/wHzeVqXbQjpclCYDtbK/

No need to attempt to decrypt that user's password; we can save you the bother, and tell you that it's just 'dave'. Of course, in real life, you would never set such an easily guessed default password, would you? In fact, Ubuntu's user and groups tool wouldn't let you.

If you find the Instalinux site useful, you have the option to create and manage your profiles for SystemDesigner. Just click Profiles on the Instalinux web page, select your base distro, version and architecture of choice, then the 'Create a new LinuxCOE profile' button to get started. By using the Display button, you can recall profiles that you, or other Instalinux users, have already created.

Re-spinning Fedora and Debian Live

If you're a fan of the Fedora Project, you'll be pleased to discover that the Fedora Unity team has created a GUI application for making 'Re-Spins' of install and live media. Known as Revisor, it's a front-end to programs including Pungi and live-cdtools.

On Fedora 7 or later, simply type in a terminal (as root):

# yum install revisor

Using Revisor is similar to running SystemDesigner, except that the action is taking place on the local machine. Revisor has the advantage over the online tool in that it can also make Live CDs, or images for live booting from USB sticks, but it's very much a Fedora-only affair.

The nearest equivalent to Revisor for Debianbased distros is live-magic which is a GUI front-end for the live-helper scripts. As the names of these packages suggest, the Debian tools were originally meant just for the creation of Live images.

Having said that, there is now support for including the Debian installer as an alternative entry in the bootloader of the Debian Live CD, which copies the live filesystem to the target hard disk. See http://alioth.debian.org/ lamby-guest/live-manual/html/commontasks.html for details.

Implications for support The major limitations of SystemDesigner, Revisor or live-magic are that you can only select packages and meta-packages that are already featured in the base distro, and that there isn't any mechanism for tweaking those packages (beyond pre-seeding installation options, or running a post-install script).

These limitations are actually helpful, if you want to ensure that commercial support services for all the packages in the custom distro will be available from the organisation behind the parent distro, such as Novell or Canonical. Most service agreements for Linux offerings indicate that you are perfectly free to modify the code, but if you do so, you cannot expect support for the modified packages. That's fair enough, because you might have screwed them up royally.

Even if the packages in question still work, it's a bit much to expect the parent distro to support an indeterminate number of modifications are floating around deployment sites.

If you're not constrained by the need to keep individual packages unmodified from the base distro, and you want more customisation than that afforded by SystemDesigner, then there is a tool that can help: PDK. More on that soon!

Now read The pain-free guide to switching Linux distros

First published in Linux Format, Issue 113