Wouldn't it be great if you could just click your way to a custom distro?
After all, most of the packages you will need are sitting on a well-connected web server somewhere, so it makes sense to build ISO images and repositories directly on that server. And since that server has a HTTP interface, why not make the distro building software into a web application?
This is the principle behind www.instalinux.com, created by Chris Slater. It's based on the SystemDesigner CGI scripts from the Linux Common Operating Environment project, originally developed as a tool for internal use at HP, and now released under the GNU GPL.
According to HP's Jeffrey Wade, quoted last year at the time of the LinuxCOE 4.0 release, the company has installed over 15,000 of its own desktops and servers using LinuxCOE. It also uses the software to install Linux on the servers it sells, and as part of its services offering too.
For the new distro creator, it certainly beats having to download all the source code over a domestic broadband connection, then figure out how to build it. The setup is very straightforward, and it supports a range of base distros. The only questions you have to answer in SystemDesigner are the same ones you would have to in a standard install.
It's also very useful for a more experienced system administrator who has to apply an identical, pre-seeded configuration to a large number of machines. In the following example, we're going to take a look at creating a 64-bit Ubuntu Hardy desktop distro with additional educational packages from Edubuntu and support for Japanese – just because we can.
To create your custom distro, click on the Designer link on the Instalinux homepage and select your base distro. You currently have a choice of CentOS 4 or 5, Debian Etch, Fedora up to version 8, OpenSUSE up to 10.3, Scientific Linux up to 5.0, SUSE 9.3 or Ubuntu up to Hardy Heron.
All base distros are available in both 32-bit and 64-bit Intel/AMD versions. Apart from these considerations, your only other option on the first page of the System Designer is to set the hostname, or set the target machine to grab a hostname via DHCP.
Check your sums
There's also an MD5SUM provided, which you should take a note of now – it's best to save the web page to your local machine, along with the preseed.txt file offered.
Once your image download is complete, test it with the md5sum command. You should have the md5sum package already installed in any decent Linux distro, but if not, it's a standard package and should certainly be available from your current distro's online repository. Simply type md5sum in a terminal and append the name of the ISO image, like so:
daniel@64studio: $ md5sum iso8574.iso 41a0b070302bae85ec8d5a0159969eb6 iso8574.iso
The output of the md5sum command should be exactly the same as the one shown on the final Instalinux page. Your check sum will almost certainly be different from mine, unless you specified exactly the same options.
Having verified that your download is OK (because it would be really embarrassing to distribute a corrupted install image), you can burn it to CD using your preferred application.
Remember to back up any personal data before testing the disc on a PC or laptop, especially if you specified automatic hard disc formatting during the setup process; as the boot screen warns, the contents of some or all drives may be erased.
Despite the preseed file containing language settings, in manual mode, the LinuxCOE version of the Ubuntu installer still asked us to set the install language and dialect. The rest of the install wasn't exactly bug-free either – at one point, the install halted with a 'Loading apt-mirror-setup failed for unknown reasons' message. We had to select Continue with the Tab and Enter keys before the downloading of packages from the Ubuntu apt mirror could continue.