PXE booten gaat alsvolgt:
Je met een dhcp server hebben (dnsmasq is een goeie). Die dhcp server stuurt de bootende computer een server adres en bestandsnaam. De bootende computer download via tftp het bestand van de server en start op. (dnsmasq doet ook tftp server).
Je kan 2 images gebruiken: pxelinux of gPxe.
pxelinux krijg je kant-en-klaar met het pakket syslinux in de map /usr/lib/syslinux. Het makkelijkste in een symlink maken van je tftp dir (/var/lib/tftp) naar pxelinux.0
gPxe image kan je zelf laten maken op:
http://rom-o-matic.net . Voordeel van gPxe is dat er veel meer protocollen ondersteund worden voor de vervolgboot (http, ftp, AoE, iSCSI, tftp, ...ehhh), nadeel is dat pxelinux veel mooier, makkelijker en eenvoudiger is.
Het booten via pxe loopt zo:
met dhcp wordt server adres en bestandsnaam opgehaald
pxelinux wordt gedownload en opgestart
pxelinux haalt zijn configuratie over tftp op van de server
pxelinux toont menu's etc etc tot een keuze wordt gemaakt
pxelinux download de initial ramdisk over tftp
pxelinux download de kernel over tftp
Kernel wordt gestart en voert initrd uit.
(als je met nfs wilt combineren)
De initrd mount de root over nfs
En chroot naar de root en start init
Eitje dus
Dan zal ik hier mijn config bestanden nog even dumpen, kan je er zelf lekker mee spelen. Ik heb het allemaal nodeloos ingewikkeld gemaakt met allerhande fail-safes. Bij veel computers is de pxe ondersteuning nogal brak en pxelinux/gPxe hebben soms moeite met sommige grafische kaarten en dat heb ik geprobeerd allemaal af te vangen. Daarnaast kan je met mijn opstelling debian, ubuntu, openSUSe, fedora en mandriva installeren en KNOPPIX5, KNOPPIX6, gparted, debian en ubuntu live draaien.
/etc/network/interfaces:
iface installer inet static
address 172.30.30.1
netmask 255.255.255.0
broadcast 172.30.30.255
network 172.30.30.0
up /etc/init.d/thttpd start
up /etc/init.d/dnsmasq start
# up /etc/init.d/iscsitarget start
up /etc/init.d/portmap start
up /etc/init.d/nfs-common start
up /etc/init.d/nfs-kernel-server start
up shorewall restart /etc/installer/shorewall
post-down /etc/init.d/shorewall restart
post-down /etc/init.d/thttpd stop
post-down /etc/init.d/dnsmasq stop
# post-down /etc/init.d/iscsitarget stop
post-down /etc/init.d/nfs-kernel-server stop
post-down /etc/init.d/nfs-common stop
post-down /etc/init.d/portmap stop
Met bovenstaande regel kan je je met
ifup eth0=installer
je interface configureren