Minimales Linux-System im Eigenbau

Ferdinand Thommes
40 Kommentare

Der bulgarische Java-Entwickler Ivan Davidov hat einen Satz von Shell-Skripten veröffentlicht, mit dem sich ein minimales Linux-System erstellen lässt. Das resultierende ISO-Image ist nicht einmal zehn Megabyte groß und startet in eine BusyBox.

Der Weg zum selbst gebauten Linux ist recht unkompliziert. Nach dem Download der Skripte und dem Auspacken des Archivs in ein eigenes Verzeichnis sind die Skripte lediglich mit dem Befehl chmod +x *.sh ausführbar zu machen, um startklar zu sein. Je nach verwendeter Distribution sind noch einige grundsätzliche Paket-Voraussetzungen zu erfüllen, die auf vielen Systemen bereits standardmäßig gegeben sind. So müssen beispielsweise auf einem auf Debian basierenden System die Pakete wget, make, g++, syslinux und genisoimage vorhanden sein. Auf dem Downloadserver liegt auch ein bereits fertiges ISO-Image in jeweils 32- und 64-Bit.

Dann gilt es lediglich noch, aus dem Verzeichnis mit dem entpackten Zip-Archiv das erste Skript namens build_minimal_linux_live.sh aufzurufen, das seinerseits dann die übrigen acht Skripte aufruft. Darin wird nacheinander ein Arbeitsverzeichnis erstellt, der Kernel-Quellcode geladen und der Kernel gebaut. Daraufhin passiert das gleiche mit der BusyBox: Quellcode holen und das Paket erstellen. Danach wird das Initial RAM Filesystem (initramfs) erstellt und verpackt. Zum Schluss wird noch das ISO erstellt und bootfähig gemacht.

Minimal Linux Live
Minimal Linux Live
Dateibaum
Dateibaum
Ausgangsskripte
Ausgangsskripte

Dieses kann nun auf eine CD/DVD gebrannt oder mit Universal USB Installer beziehungsweise mit dem Kommando dd auf einen USB-Stick oder eine SD-Karte gelegt werden. Eine weitere Möglichkeit ist das Starten in VirtualBox. Die Möglichkeiten, die solch ein ISO bietet, sind natürlich im Vergleich mit Ubuntu oder anderen voll ausgebauten Distributionen minimal. Allerdings sollte man die Möglichkeiten einer BusyBox auch nicht unterschätzen. So findet diese oft Verwendung in eingebetteten Systemen und verfügt über einen Satz an Standard-Unix-Dienstprogrammen, die an den Kernel-Schnittstellen ansetzen und oft zu Rettungszwecken verwendet werden. BusyBox wird nicht nur unter Linux, sondern auch bei Android und FreeBSD verwendet.

Davidov liefert aber nicht nur den Satz an Skripten für ein minimales Linux-System aus, sondern auch ein Tutorial, in welchem er auf sehr lehrreiche Art und Weise den Ablauf der Scripte erläutert und Erweiterungsmöglichkeiten anspricht. Vom Prinzip her ähnelt der Ansatz den Projekten wie Linux From Scratch oder Arch Linux, die ebenfalls als Baukasten daherkommen. Diese führen allerdings zu etwas umfangreicheren Ergebnissen. Minimal Linux Live ermöglicht aber vor allem für Interessierte einen schnellen Blick darauf, was ein Linux-System im Innersten ausmacht.

25 Jahre ComputerBase!
Im Podcast erinnern sich Frank, Steffen und Jan daran, wie im Jahr 1999 alles begann.