Kurze Beschreibung, wie das im SmartClient-Projekt entwickelte 
netboot-devel benutzt wird. 

joerg.steffens@dass-it.de
goetzr@suse.de

1. Was ist netboot-devel?

Das netboot-devel System ist im Rahmen des SmartClient-Projektes entwickelt
worden. Es soll die Einrichtung und Anpassung der netboot-Umgebung erleichtern.

Das netboot-devel umfasst die für das Booten via PXE und TFTP nötigen Dateien
(PXE-Loader, tftpoot-Verzeichnis, ggf. Kernel) sowie ein System für die schnelle
Erstellung eines root-Filesystems als initrd. Als Grundlage für die initrd kommt
Debian (20041231: Sarge, testing) und Busybox zum Einsatz. Weitere nicht in
Busybox enthaltene Programme können einfach per netboot-devel
Konfigurationsdatei oder ins initrd Verzeichnis zugefügt werden.

Im Verzeichnis initrd gibt es die SmartClient-spezifischen
Dateien /init /usr/local/sbin/functions.sh und getldapurld.

2. Installation

Auf dem netboot-devel-Server ist das RPM sc_netboot-devel zu installieren.

Teilweise befinden sich noch zusätzliche Dateien im Versionskontrollsystem die
nicht im RPM enthalten sind, wie z.B. eingesetze Kernel, inklusiv Patches und
Quellen. 

Neben den RPMs wird noch ein Buildsystem benötigt. Es
handelt sich um ein in ein chroot Verzeichnis installiertes Debian System. Die
Datein INSTALL-buildsystem_initrd.txt beschreibt seine Installation. Zukünftig
könnte INSTALL-buildsystem_initrd.txt auch ein Install Skript werden. Derzeit
verwendet man es eher als Dokumentation.

3. Konfiguration

Die konfigurierbaren Optionen lassen sich in der Datei
/etc/smartclient/netboot-devel festlegen.

Als TFTP_DIR evtl. ein anderes Verzeichnis als 
das produktiv tftpboot-Verzeichnis gewählt werden, um nicht
versehentlich eine initrd zu berschreiben.

Der wichtigste Punkt ist aber die Angabe der
Programme, die unter BINARIES angegeben werden müssen.

4. Erstellung einer initrd

Sind alle Installationsschritte ausgeführt, kann mit sc_create_initrd.sh
automatisch eine initrd erzeugt werden.
Wesentlicher Bestandteil dieses Programmes ist, dass die benötigten Libraries
automatisch erkannt, erkleinert und in die initrd aufgenommen werden.
Die Ausgabe des Skriptes sollte auf Fehler kontrolliert werden.

5. Hinzufügen weiterer Programme

Werden weitere Programme in der initrd benöigt, braucht man diese
nur aus dem Verzeichnis buildsystem_initrd an die entsprechende Stelle
in dem Verzeichnis initrd zu kopieren und in der Datei /etc/smartclient/
netboot-devel unter BINARIES eintragen.

