HomeMapIndexSearchNewsArchivesLinksAbout LF
[Top Bar]
[Bottom Bar]

von:Mooneer Salem

Inhalt:

  1. Einführung
  2. Den Kernel Kompilieren
  3. Das Dateisystem
  4. Alles auf Diskette kopieren.

Ein nützliches Mini-Linux auf Diskette selbst erstellen

Zusammenfassung: Dieser Artikel zeigt, wie man unter Linux seine eigenen root/boot Disketten erstellt.



Einführung

Haben Sie schon mal die Webpages gesehen, auf denen Ihnen eine nutzbare Linux-Version auf einer oder zwei Floppies angeboten wird? In den meisten Fällen haben diese Versionen nicht viele Programme im Lieferumfang und sind auch sonst nicht sehr funktionsreich.
In diesem Text werde ich Ihnen zeigen, wie Sie eine Boot- und Rootdiskette erstellen, auf der sich nahezu Alles befindet, was Sie jemals benötigen werden.

Zuerst benötigen wir eine oder zwei leere, formatierte Disketten, je nachdem wie viel Software Sie in Ihre "eigene Linux-Version" packen wollen.
Im Grunde genommen wird dieses Linux aus einer Startdiskette und vielleicht einer Diskette mit häufig genutzten Utilities.
Wenn Ihnen "Boot-" oder "Rootdiskette" nichts sagt, dann sollten Sie, bevor Sie weiterlesen, einen Blick in das Bootdisk-HOWTO, Kapitel 2, werfen.

Zuerst einmal die Grundschritte, die uns zu unserer eigenen Linux-Diskette führen werden:

  1. Einen eigenen, abgespeckten Kernel kompilieren
  2. Auf der Diskette ein Dateisystem erzeugen
  3. Alles, was wir benötigen, auf die Diskette(n) kopieren

Den Kernel Kompilieren

Da unsere Diskette nur 1,44 MB Daten fassen kann, können Sie nicht einfach Ihren Kernel auf die Floppy kopieren. Besorgen Sie sich die Kernelquellen und entpacken Sie diese nach /usr/src/linux. Wechseln Sie in das Verzeichnis und geben Sie

ein.

Während der Konfiguration wählen Sie nur die Dinge aus, die Sie wirklich benötigen. Auf meinem Kernel habe ich nur die Unterstützung für das ext2-Dateisystem, Floppyunterstützung und PPP aktiviert. Ihre Einstellungen können natürlich variieren, je nachdem was Sie benötigen.

startet die Kompilierung, wobei zImage sehr wichtig ist: Der Kernel wird komprimiert und befindet sich nach der Kompilation in dem Unterverzeichnis arch/i386/boot/zImage.

Das Dateisystem - nicht einfach nur ein paar Dateien.

Jetzt erstellen wir das Dateisystem für die Diskette. Statt den Disketteninhalt einfach dorthin zu kopieren, werden wir die Daten vorher komprimieren, was es leicht umständlicher macht, Dinge im Nachhinein zu modifizieren.
Zuerst führen wir am Kommandoprompt

aus, wobei DEVICE ein Platz auf Ihrer Festplatte ist, in dem Sie ein unkomprimiertes Abbild des Dateisystems erstellen wollen. Danach geben Sie das folgende Kommando ein und ersetzen Sie DEVICE wieder wie oben. Wenn Sie mke2fs fragt, ob Sie wirklich sicher sind, antworten Sie mit JA.

Jetzt müssen wir das Device mounten. Da es sich dabei um ein Dateisystem in einem Dateisystem handelt, muß das Loopback-Device im Kernel aktiviert sein, kompilieren Sie es zur Not in Ihren aktiven Linuxkernel hinein, bevor wir fortfahren.

Wenn das Mount-Programm den Befehl nicht ausführen will, versuchen Sie Das Dateisystem ist jetzt gemountet und wir können die Verzeichnisstruktur dafür erstellen. Wechseln Sie nach /mnt und erstellen Sie die folgenden Verzeichnisse: Nach /dev kopieren wir die Dateien aus unserem /dev mit wenn Ihnen die Inodes ausgehen, wechseln Sie nach /nt/dev und löschen Sie die Devices, die Sie nicht benötigen. So viel zu unseren Devices, kommen wir jetzt zu /etc. Am sichersten ist es, alle Dateien aus /etc in unser neues Dateisystem zu kopieren: dann noch alles aus /lib nach /mnt/lib ... und nur die Sachen, die wir benötigen aus /bin nach /mnt/bin

Alles auf Diskette kopieren.

Um Alles auf die Diskette(n) kopieren zu können, müssen wir zuerst das Dateisystem komprimieren:

Danach ist es wichtig, die Größe des Kernels zu überprüfen.
Gehen Sie nach /usr/src/linux/arch/i386/boo und überprüfen Sie die Größe des Kernels mit "ls -l".
Teilen Sie das Ergebnis durch 1024. Hat der Kernel beispielsweise eine Größe von 250000 Byte, dann sind das 245 Kilobytes. Dieses Ergebnis geben Sie immer dann ein, wenn ich den Platzhalter ROOTBEGIN verwende.

Kopieren Sie den Kernel auf die Diskette

und weisen Sie diesen mit an, das Rootsystem auf der Diskette zu suchen.

Jetzt müssen wir uns ein bisschen mit Hex-Rechnungen befassen. Addieren Sie 4000 zum Hexadezimalwert von ROOTBEGIN (was in unserem Beispiel F5 ist).
Konvertieren Sie das Ergebnis in dezimale Form und tippen Sie das Folgende ein, wobei Sie 16629 durch das erhaltene Ergebnis ersetzend:

Zum Schluß kopieren Sie noch das Dateisystem auf die Diskette: Fertig!

Die Erstellung der zweiten Diskette ist bei Weitem einfacher. Kopieren Sie einfach alle Dateien, die Sie verwenden wollen, dorthin. Geben Sie nach dem Booten von der ersten Diskette

ein um diese nutzbar zu machen.

Eine letzter Hinweis: Mit etwas Herumspielen können Sie sich so Ihre eigene Linx-Version erstellen, die ich ja vielleicht irgendwann einmal zu Gesicht bekomme .... nur so ein Gedanke :)

Weitere Informationen finden sich im Bootdisk-Howto aus dem Linux Documentation Project

Webpages maintained by Miguel Ángel Sepúlveda
© Mooneer Salem 1998
Übersetzt von:Jonas Luster
LinuxFocus 1998