next up previous contents
Next: First Preparation Up: Making Linux Installation Disks Previous: Contents   Contents



In my previous article ``Getting Linux into Small Machines'' I described how to create a bootable Linux diskette with Busybox (shell with many built in utilities) and uClibc (a small C library). These programs save an enormous amount of memory and disk space, so that they are usable even on small machines.

In this article I want to carry the idea of creating a small boot diskette a step further. Especially I want to achieve the following goals:

I will draw many ideas from the Debian installer. Busybox was created for the Debian install diskettes in the first place and the Debian installer made heavy use of the dialog utility.

The ideas described in this article should not only be useful for installation disks, but also for special-purpose stand-alone Linux versions such as routers or print servers.

Albeit reluctantly, I will abandon the idea of targeting a 386 system with only 4MB or RAM. As even a stripped down Linux kernel needs around 3MB of memory to run and I plan to use a RAM disk of at least 2MB, the use of a RAM disk on a 4MB machine is definitely out if the installation is to be considered useful. Systems without a RAM disk would need their root file system on a diskette and that would be limited to 1.44MB (it cannot be compressed).

The Mission

We want to create an installation diskette that enables us to install a Linux distribution onto a hard disk. The system is considered to meet the following requirements:

The Linux installer would need to pull a huge tarball from somewhere, either from a CD-ROM or from a network connection. We could devise other methods to get the tarball into the machine. We could use another operating system to put the tarball onto a hard disk partition and we could write the tarball onto a large pile of floppies and read them one by one. Especially the latter is considered unwieldy.

At the moment the system does not support PCMCIA or USB devices to install from. For laptops it means that their Ethernet cards would not be accessible. The Debian installer (version 2.1) could do this though.

The aim of this article is to assist in creating a simple boot diskette for your own Linux distribution. This is only the infrastructure for the installation diskette, not a completely working installation diskette.

What needs to be added:

What needs to be on the diskette?

In order to get a Linux system up and running we need the following items:

The root file system has to contain the following items:

The Host and Target System

The host system is the computer on which we build the bootable diskette. It is assumed to be a fairly modern PC with a modern installation of Linux. We will assume that it is a Pentium with at least 32MB of RAM.

Also we assume that it contains a modern Linux system that contains the following software:

You will need lots of hard disk space. Around 400MB would be enough. The unpacked Linux kernel source tree alone takes around 170MB these days. Paradoxically enough the end result will fit on one or two 1.44MB diskettes.

The target system is the system on which the diskette will be booted. It is supposed to be at least a 486 with 8MB of RAM.

next up previous contents
Next: First Preparation Up: Making Linux Installation Disks Previous: Contents   Contents
Lennart Benschop 2003-07-16