Netinstall ohne Boot-Medium

Workshop: Linux-Installation über LAN

29.12.2008 von Jörg Thoma
Laptops, Notebooks, Netbooks oder Server-Systeme besitzen nicht immer ein optisches Laufwerk. Wie Sie einen passenden Boot-Server aufsetzen, um Betriebssysteme wie Linux in einem solchen Fall auch über das Netzwerk zu installieren, zeigen wir Ihnen in diesem Workshop.

Gerade die neue Netbook-Geräteklasse zeigt es: CD/DVD-Laufwerke sind längst keine Selbstverständlichkeit mehr. Allerdings lassen sich auch auf diesen Systemen problemlos neue Betriebssysteme installieren. Wenn Sie nur ein einzelnes System neu aufsetzen wollen, mag es noch reichen, eine ISO auf einen bootfähigen USB-Stick zu entpacken oder ein externes optisches Laufwerk anzuschließen.

Doch spätestens wenn es um mehrere Rechner geht, ist es schneller und komfortabler, die Betriebssysteme über das Netzwerk zu installieren. In diesem Workshop wollen wir Ihnen zeigen, wie Sie einen passenden Server aufsetzen, der die Geräte mit den notwendigen Informationen zu Systemstart und Installation versorgt.

Voraussetzungen

Ihr Endgerät muss in der Lage sein, über das Netzwerk zu booten. Überprüfen Sie das im Bios oder in den Bootoptionen des Geräts. Gängige Bezeichnungen für diese Option lauten Boot from Network Card, PXE-Boot oder Onboard NIC. Auf dem Rechner, der als Server fungieren soll, muss zeitweilig ein DHCP-Server laufen. Falls Sie einen Internet-Router verwenden, der ebenfalls per DHCP IP-Adressen vergibt, sollten Sie dessen Server vorübergehend ausschalten, damit sich die beiden nicht ins Gehege kommen.

Die zu installierende Linux-Distribution muss außerdem als Netzwerk-Installations-CD oder Diskette vorliegen. Sie können hierfür beispielsweise die Ubuntu Alternate-Installations-CD verwenden, in deren Verzeichnis /install/netboot die benötigten Dateien liegen. Die Verbindung zum Zielrechner, für die natürlich eine IP-Adresse nötig ist, erfolgt zunächst über einen DHCP-Server der speziell konfiguriert werden muss. Den Bootloader pxelinux, der Teil des Syslinux-Pakets ist, stellt dann einen sogenannten Tftp-Server bereit. Über den Webserver Apache zieht dann der Installer die benötigten Dateien auf den Zielrechner.

Software per Apache: Die Installationsdateien zieht sich der Installer über das Netz, Sie müssen die Quelle aber selbst konfigurieren.

Wenn Sie die Installationsdateien unter Windows bereitstellen wollen, verwenden Sie die Software Tftp32 3.26 und Apache2 2.2.9.

DHCP-Server konfigurieren

Zunächst müssen Sie auf dem Quellrechner den DHCP-Server konfigurieren. Unter Ubuntu installieren Sie dazu das Paket dhcp3-server. In der Text-Datei /etc/dhcp3/dhcpd.conf definieren Sie dann mit folgendem Eintrag die IP-Adressen:

subnet 192.168.2.0 netmask
255.255.255.0 {
range 192.168.2.10 192.168.2.15
}

Wir haben in diesem Beispiel das Subnetz 192.168.2.x gewählt, damit der DHCP-Server sich nicht mit laufenden DHCP-Servern eines Routers ins Gehege kommt, die meist im Subnetz 192.168.0.x werkeln.

Bootloader per DHCP: Damit der Zielrechner über das Netzwerk starten kann, muss er die Datei pxelinux.0 auf dem Quellrechner finden.

Außerdem stellt der DHCP-Server mit der Zeile filename "pxelinux.0" den Bootloader bereit. Damit der DHCP-Server richtig startet, müssen Sie dem Rechner eine feste IP-Adresse im gleichen Subnetz zuteilen, etwa 192.168.2.5. Das können Sie über das grafische Tool unter System, Systemverwaltung, Netzwerk oder mit dem Befehl sudo ifconfig eth0 192.168.2.5 erledigen. Den DHCP-Server starten Sie mit:

sudo /etc/init.d/dhcp3-server start.

TFTP- und Apache-Server einrichten

Installieren Sie auf dem Quellrechner das Paket tftpd-hpa, und ändern Sie in der Datei /etc/default/tftpd-hpa den Eintrag no in der Zeile RUN_DAEMON in yes. Außerdem müssen Sie unter Debian noch mit

sudo /etc/init.d/inetutils-inetd stop

den Netzwerk-Superserver ausschalten. Unter Ubuntu ist dieser nicht standardmäßig installiert. Legen Sie nun die Installations-CD oder -DVD der Linux-Distribution ein, die Sie auf dem Zielsystem installieren wollen. Suchen Sie dort nach dem Verzeichnis in dem der Bootloader „pxelinux.0“ liegt, etwa /install/netboot auf der Ubuntu Alternate-Installations-CD. Dieses Verzeichnis binden Sie mit dem Befehl

sudo mount -o bind /media/cdrom/install/netboot /var/lib/tftpboot

vorübergehend in das Verzeichnis ein, in dem der Tftp-Server Daten für das Netzwerk bereitstellt, hier /var/lib/tftpboot. Danach starten Sie den Tftp-Server mit:

sudo /etc/init.d/tftpd-hpa start

Stellen Sie die Installationsdaten über Apache bereit. Dazu installieren Sie das Paket „apache2“ und verknüpfen das Stammverzeichnis der Installations-CD mit sudo ln -s /media/cdrom /var/www/ubuntu mit dem Daten-Ordner des Apache-Servers. Nun starten Sie den Apache-Server mit

sudo /etc/init.d/apache2 start

Installation

Fahren Sie den Ziel-Rechner (den Laptop) hoch, und wählen Sie dabei als Bootoption das Booten über die Netzwerkkarte. Nach wenigen Sekunden sollte bereits eine IP-Adresse erscheinen. Danach sucht der Rechner auf dem Tftp-Server nach der Pxelinux-Datei.

Setup über das Netzwerk: Damit lässt sich Linux auf Laptops ohne Laufwerk installieren.

Einige Augenblicke später erscheint dann das Bootmenü, in dem Sie wie gewohnt die Installation starten. Nachdem Sie Sprache, Land und Tastatur konfiguriert haben, schreitet der Installer zur Netzwerkkonfiguration per DHCP. Die Frage „Ohne Default-Route fortsetzen“ beantworten Sie mit Ja. Auch auf den DNS-Server können Sie momentan verzichten, beides lässt sich nach der Installation konfigurieren.

Nachdem Sie einen Rechnernamen definiert haben, kommen Sie zur Auswahl des Spiegel-Servers. Dazu scrollen Sie mit den Pfeiltasten auf den ersten Eintrag „Daten von Hand eingeben“ und bestätigen mit <Return>. Als Rechnername tragen Sie die IP-Adresse des Quellservers ein, hier 192.168.2.5. Im nächsten Feld belassen Sie den Eintrag /ubuntu/, denn wir haben das Verzeichnis zuvor im Apache-Daten-Ordner verlinkt. In der nächsten Eingabemaske lassen Sie den Eintrag leer und starten mit <Return> die Installation.

Aufräumen und Fazit

Schalten Sie die Server-Anwendungen auf dem Quellrechner wieder ab, und entfernen Sie sie aus den Startdiensten, wenn Sie sie nicht mehr brauchen. Um die Server im laufenden System abzuschalten, verwenden Sie die oben genannten Startbefehle, ersetzen aber start durch stop. Um die Server beim Systemstart zu deaktivieren, geben Sie sudo update-rc.d -f <Dienst> remove“ ein und verwenden als Dienst die Namen aus den Startbefehlen, etwa dhcp3-server.

Damit sollten Sie einen laufenden Installations-Server im LAN besitzen, auf den Sie bei Bedarf zurückgreifen können. Der Server hat neben den genannten Vorteilen (Brennen neuer Installations-CDs, Suche nach optischen Laufwerken…) noch einen weiteren Vorteil: Die darauf abgelegten Distributionen lassen sich ohne viel Aufwand aktuell halten oder an spezielle Anforderungen anpassen. So sparen Sie sich Patch- und Einrichtungszeit auf dem Endsystem. (mja)

Dieser Artikel basiert auf einem Beitrag unserer Schwesterzeitschrift PC-Welt.