next up previous contents
Next: First Preparation Up: Getting Linux into Small Previous: Contents   Contents



This document serves as an instruction to build a minimal Linux system for use on rescue diskettes, installation diskettes and embedded projects.

The Bootdisk Howto from the Linux Documentation Project also describes how to build a bootable diskette, but a diskette created in this way has a few shortcomings:

Therefore a boot disk created in this way contains not many useful programs and it needs a comparatively large RAM disk to load. If you have 8MB of RAM, this works, but you can forget this on a 4MB or even 2MB machine.

There are two excellent software packages that are specially designed for saving precious memory and disk space when you are on a tight budget:

While the use of Busybox on rescue disks is common, uClibc is rarely used. There are toolkits to create Busybox based diskettes, but IMHO there is no good instructional document that describes how to create a bootable Linux diskette with both Busybox and uClibc. The BootE diskette is a bootable Linux diskette with Busybox and uClibc. When I wrote the original text, there used to be no instructions on the site how to customize that disk to your needs, but now at least there is a tar archive with useful scripts and documentation.

In order to achieve huge space savings, we need to recompile everything from source.

The Mission

Suppose we have an old 386 machine in the basement that comes with only 4MB of RAM. We want to show our friends that this old beast can still run Linux.

We must be able to perform the following tasks:

So basically we have everything to install a Linux root file system on the hard disk.

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 300MB would be enough. The unpacked Linux kernel source tree alone takes around 150MB these days. Paradoxically enough the end result will fit on a single 1.44MB diskette.

The target system is an old 386 PC with 4MB of RAM or more and zero, one or two hard disks.

next up previous contents
Next: First Preparation Up: Getting Linux into Small Previous: Contents   Contents
Lennart Benschop 2003-05-29