Als ich mein neues Notebook mit Linux beglücken wollte, stand die Frage des “wie” im Vordergrund. Das Gerät hat nämlich kein eingebautes CD/DVD-ROM, und das als Zubehör mit einer Art Dockingstation verkaufte Gerät ist sauteuer.
Für’s erste begnügte ich mich damit, mein externes USB-Laufwerk zu nehmen, die Festplatte daraus zu entfernen und ein älteres CD-ROM-Laufwerk daran anzuschliessen. Das ganze sah sehr abenteuerlich aus, musste aber nur solange laufen, bis die Installation gelungen war.
Eine elegantere Möglichkeit bietet die Installation über’s Netzwerk. Dazu gibt es ebenfalls schon genügend howto’s. Aber eine wirklich funktionierende Konfiguration hinzubekommen, ist nicht ganz trivial, denn die eingesetzten divergieren sehr
Für mich tat’s ein Standardsetup mit dem Fedorapackage “tftp-server” (ein absolut simpler und unsicherer FTP-Client speziell für dieses Einsatzgebiet) und “dhcp” (der DHCP-Server, der auf die BOOTP-Anfragen der Netzwerkkarten antworten soll). Mit der Installation vom “tftp-server” wird direkt das Verzeichnis /tftpboot/linux-install eingerichtet, welches den pxe-Bootloader pxeboot.0 enthält. Dorthin muss man dann auch folgende Dateien von der Fedora-Installations-DVD aus dem Verzeichnis images/pxeboot kopieren: initrd.img und vmlinuz. Dann muss man noch eine Datei default im /tftpboot/linux-install/pxelinux.cfg (ja das ist wirklich ein Verzeichnis, keine Datei) erstellen. Diese sieht so aus:
default linux
timeout 5
label linux
kernel vmlinuz
append initrd=initrd.img ramdisk_size=8192 method=http://192.168.0.6/inst/fedora8 ip=dhcp
Damit ist auch schon die Installationsmethode angegeben. Hier kann natürlich auch eine der anderen Methoden (NFS, FTP, CDROM) verwendet werden oder die Option kann ganz weggelassen werden, dann wird man während dem Installationsprozess nach einer Methode gefragt.
Was man nun auch noch von Hand machen muss, ist: den DHCP-Server als BOOTP-Server konfigurieren. Dies war der schwierigste Teil, da in keiner Anleitung ein funktionierendes Beispiel zu finden war. In einem Forum wurde ich fündig. Und so sieht sie also aus, die funktionierende dhcpd.conf:
# # DHCP Server Configuration file. # see /usr/share/doc/dhcp*/dhcpd.conf.sample # allow bootp; allow booting; next-server 192.168.0.6; ddns-update-style none;
option routers 192.168.0.1;
option domain-name-servers 192.168.0.1;
option subnet-mask 255.255.255.0;
option domain-name "bootynet";
subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.200 192.168.0.254;
default-lease-time 14400;
max-lease-time 172800;
}
host client1 {
hardware ethernet 00:16:D3:C2:FE:91;
fixed-address 192.168.0.254;
option host-name "client1";
filename "linux-install/pxelinux.0";
}
host client2 {
hardware ethernet 00:18:F3:2D:F8:3B;
fixed-address 192.168.0.253;
option host-name "client2";
filename "linux-install/pxelinux.0";
}
Auch wenn im Netz ein Router DHCP-Services anbietet, funktioniert diese Methode. Solange der Router nicht auch auf BOOTP-Anfragen antwortet, gibt es keinen Konflikt.
Es gibt übrigens auch ein Redhat-Tool “system-config-netboot”, welches die Erstellung von Diskless Clients oder Netzwerkinstallations-Servern erleichtern soll. Ich habe es aber noch nicht getestet. Diskless Clients sind zwar toll, aber da PXE (noch) nicht wirklich via WLAN möglich ist, sehe ich noch kein Einsatzgebiet dafür bei mir zu Hause.
