LiveCD per pxe booten (german)

NOTE
This Site is migrated from my old site www.pieczewski.de


Einleitung

Hi da bei meinem Laptop das CD-ROM Laufwerk kaputt gegangen ist und ich das System was drauf war total verhunst habe musste ich mir was neues einfallen Lassen dort ein neues System drauf zu bekommen, OK ich weiß das ich das mit nem USB-Sticken total einfach hinbekommen hätte aber ich habe mir gedacht, öfter mal was neues ;-). Und da habe ich mir vorgenommen die alten Daten die mir wichtig waren besonders komfortabel zu sichern, und das geht doch bestimmt mit ner LiveCD, und wie gesagt da ich kein USB benutzen wollte halt per Netzwerk boot.


Server Vorbereitung

mein Server System läuft unter gentoo aber sollte auch unter anderen System ähnlich sein, also erstmal brauchen wir ein dhcp server das bekommen wir mit
emerge -av dhcp
dann müssen wir dort die config anpassen "/etc/dhcp/dhcpd.conf"
option domain-name "alien-park";
default-lease-time 600;
max-lease-time 7200;
ddns-update-style ad-hoc;
allow booting;
allow bootp;
subnet 192.168.42.0 netmask 255.255.255.0 {
range 192.168.42.100 192.168.42.120;
next-server 192.168.42.1;
}

host client{
hardware ethernet 00:00:E2:94:25:E9;
fixed-address 192.168.42.10;
filename "/pxelinux.0";
}
Mein Server hat die IP 192.168.42.1 das teilen erklären wir dem dhcp demonen mit "next-server". Außerdem geben wir unserem Client eine Feste IP das wird anhand der MAC Adresse gemacht hier die Zeilen "hardware ethernet" und "fixed-address" Außerdem müssen wir ihm noch mitteilen wo der pxe Bootmanager zu finden ist mit der "filename" zeile.
Jetzt das ganze noch starten mit "/etc/init .d/dhcp start"

So jetzt kommen wir zu dem tftp server dazu einfach mal
emerge -av  tftp-hpa
dort müssen wir dann auch noch die config "/etc/conf.d/in.tftpd" anpacken
INTFTPD_PATH="/opt/diskless"
INTFTPD_USER="nobody"
INTFTPD_OPTS="-u ${INTFTPD_USER} -l -vvvvvv -p -c -s ${INTFTPD_PATH}"
unsere LiveCD befindet sich nach dieser Konfiguration in "/opt/diskless" nach der einstellung nur noch den tftp server mit "/etc/init.d/in.tftpd start" starten.

jetzt brauchen wir das pxelinux.0 binary das wir aus dem packet syslinux bekommen, und es in unser diskless Verzeichnis kopieren
emerge -av syslinux
cp /usr/lib/syslinux/pxelinux.0 /opt/diskless
auch das pxelinux will Konfiguriert werden dazu muss man ein Verzeichnis im diskless Verzeichnis anlegen das "pxelinux.cfg" heißt und dort eine Datei namens "default" anlegen, in der wir dann die Bootkonfiguration angeben.
mkdir /opt/diskless/pxelinux.cfg
touch /opt/diskless/pxelinux.cfg/default
In die "default" Datei schreiben wir dann einfach
DEFAULT /vmlinuz
APPEND initrd=/initrd.img ip=dhcp root=/dev/nfs
nfsroot=192.168.42.1:/opt/diskless
Da wir in unserer config was von nfs stehen haben sollten wir uns auch noch ein nfs server fertig machen da gehen wir folgender massen vor. Im Kernel sollte nfs Server Unterstützung mit drinnen sein ausserdem brauchen wir dann noch die nfs-utils, die bekommen wir mit
emerge -av nfs-utils
und passen dann noch die "/etc/exports" an
/opt/diskless 192.168.42.10(rw,sync,no_root_squash,no_all_squash)
So jetzt fehlt uns nur noch eine LiveCD ich habe das ganze mit der ubuntu Installations CD gemacht weil dort auch eine LiveCD mit drinnen ist leider müssen wir da noch ein paar schen machen weil man das iso so leider nicht zum boot bekommt also ein wenig aus der CD auspacken dazu mounten wir das ISO dann mounten wir noch das squashfs Dateisystem was sich auf der CD befindet, um es in unser diskless ordner zu kopieren.
mount -o loop ubuntu-7.04-desktop-i386.iso /mnt/cdrom
mount -o loop /mnt/cdrom/casper/filesystem.squashfs /mnt/ubuntu
cp -a /mnt/ubuntu/* /opt/diskless
Client

Der Client ist ganz einfach zu configurieren einfach im BIOS (sofern es unterstütz wird) per Netzwerk booten lassen. Dann sollte alles Funktionieren.

1 comment:

  1. Thank you for the useful article.
    We face constant growing of data amount in both the Web and personal computers. And the more information we need to proceed the more time it takes. That is why I think that online data room could be perfect for world’s needs today.

    ReplyDelete