aptosid via het netwerk opstarten (netwerk block device - nbd)

Waarschuwing: dnsmasq bevat een dhcp server welke voor conflicten kan zorgen met een bestaande dhcp server op je netwerk (je router kan er 1 bezitten). Het is het veiligst om maar een dhcp server in het netwerk te gebruiken. Dit betekent dat je andere dhcp servers in hetzelfde netwerk moet uitschakelen. De dnsmasq proxy optie welke hieronder beschreven is zou in principe naast een andere dhcp server in hetzelfde netwerk moeten kunnen werken, maar voer dit alleen uit wanneer je het netwerk beheerd, want er kunnen onvoorziene problemen optreden welke je dan zelfs moet oplossen aangezien jij weet hoe je netwerk inelkaar zit.

De basis

Het opstarten via het netwerk vereist dat je een machine hebt welke in staat is om vanaf het netwerk opgestart kan worden, zodat deze een connectie met je netwerk kan maken en een verbinding kan maken met een machine waarop software geinstalleerd is welke netwerk booting (opstarten) aanbiedt.

Je wilt dit niet doen op je werkplek netwerk, of elke ander netwerk die je niet beheerd, tenzij je het netwerk beheerd of toestemming en hulp van de netwerkbeheerders gekregen hebt. If you are co-operating in a larger network you can investigate all the options to dnsmasq, such as limiting the interfaces it listens on or the clients it will respond to, to restrict the impact of your setup on the network.

De vereisten

Een 2009-04 (of nieuwere) aptosid iso opgestart welke gebruikt wordt als netwerk-opstartserver. De instructies zijn ongeveer gelijk als elke andere up-to-date aptosid of debian sid machine en zou alle informatie moeten leveren die je nodig hebt om op de andere systemen te kunnen gebruiken. Linux moet de nbd devices beschikbaar hebben.

dnsmasq wordt gebruikt om alles te leveren wat voor de initiele opstartfase nodig is, ook hier zal het niet hard zijn om de benodigde kennis over te dragen naar andere software.

Installatie
apt-get install nbd-server dnsmasq

Het opzetten van een nbd-server

Er vanuit gaan dat de iso hier gevonden kan worden /dev/scd0, (die het waarschijnlijk kan worden als je geboot van cd, anders vervang in elke geschikte bestand of apparaat), dan kan je de setup van de nbd-server conf bestand oproepen nbd-aptosid.conf met een sectie genaamd aptosid-iso om de cd te exporteren door het volgende uit te voeren:

echo '[generic]' > nbd-aptosid.conf
nbd-server 0.0.0.0:10809 /dev/scd0 -o aptosid-iso >> nbd-aptosid.conf

De generic kop ie altijd noodzakelijk. Indien je de setup van de nbd-server automatisch op een echt systeem wilt laten werken dan zal je waarschijnlijk /etc/nbd-server.conf willen gebruiken. Er zijn veel meer opties voor een nbd-server dan hier getoond worden, zie ook man nbd-server.

Om nu de de server echt op te starten als een normale gebruiker zonder de setup of het copieren van het bestand naar /etc/nbd-server.conf, dan kun je het volgende uitvoeren:

nbd-server -C nbd-aptosid.conf

Het doel van de nbd-server hoeft geen iso of een cd/dvd/usb stick te zijn, het moet alleen uit een geschikt filesysteem image bestaan.

dnsmasq

In het volgende voorbeeld gaan we er vanuit dat je op een simpel netwerk aangesloten bent en dat je machine via dhcp van een andere machine ip instelling gekregen heeft en welke de netwerkboot clients kunnen gebruiken om de interfaces in te stellen via dhcp.

De hoofd relevante opties van dnsmasq om aptosid via netwerk boot in te stellen is een pad aan te maken voor de tftp server bestanden en een bestand voor het opstarten.

Creeer een tftp directory voor het opstarten in /home (je kunt het overal plaatsen waar jij dit wilt). Het pad in ons voorbeeld wordt dus /home/tftp.

Creeer nu een bestand genaamd pxe-aptosid.conf en kopieer het volgende hierin:

dhcp-range=0.0.0.0,proxy
pxe-service=x86PC, "boot linux", pxelinux
enable-tftp
tftp-root=/home/tftp
tftp-secure

Wanneer je gebruikt maakt van de dhcp proxy dan moet je een pxe menu aanmaken met pxelinux met dit als enige waarde erin, zodat dit automatisch opgestart wordt. Dit is wat de enige pxe-service item is.

Als root, verplaatst de nieuwe gecreeerde pxe-aptosid.conf bestand naar /etc/dnsmasq.d/:

su
mv pxe-aptosid.conf /etc/dnsmasq.d/

Notitie: Voor een netwerk (bv. 192.168.0.*) met geen andere dhcp server ydan kun je de eerste twee regels veranderen in:

dhcp-range=192.168.0.100,192.168.0.199,1h
dhcp-boot=pxelinux.0

Om de ip adressen range uit te geven beginnend met 192.168.0.100 en eindigen met 192.168.0.199 met een lease tijd van een uur, en om de bestandsnaam te leveren om alleen pxelinux.0 te starten als onderdeel van de dhcp aanvraag (indien je de proxy gebruikt, dan moet je een pxe menu leveren met alleen pxelinux als waarde waardoor het automatisch zal opstarten). Dit zal waarschijnlijk je netwerk niet instellen zoals je het wenst tenzij je dnsmasq server ook als je dns server en gateway voor je boot clients moet dienen.

Om je nieuwe bestand in te schakelen moet je de regel conf-dir=/etc/dnsmasq.d uit commentaar mode halen, welke onderin het bestand /etc/dnsmasq.conf staat en hierna moet je dnsmasq herstarten.

dnsmasq heeft erg veel opties en kan acteren als dns, dhcp, pxe en tftp server. Wat hierboven is aangegeven is een minimale weergave van het gebruik van pxelinux.

tftp

tftp is het netwerk equivalant van de boot directory. Gebruikmakend van het voorbeeld van de /home/tftp directory moet je deze vullen. Indien de cdrom is aangekoppeld op /fll/scd0:

cp /fll/scd0/boot/isolinux/* /home/tftp
mkdir /home/tftp/pxelinux.cfg
mv /home/tftp/isolinux.cfg /home/tftp/pxelinux.cfg/default
mkdir /home/tftp/boot
cp /fll/scd0/boot/vmlin* /fll/scd0/boot/initr* /fll/scd0/boot/memtest* /home/tftp/boot/
cp /usr/lib/syslinux/pxelinux.0 /home/tftp/
# required for the tftp-secure option to dnsmasq
chown -R dnsmasq.dnsmasq /home/tftp/*

Nu kun je de boot opties naar je believen aanpassen in /home/tftp in beide bestanden pxelinux.cfg/default en gfxboot.cfg

In bijzonder is het aanbevolen om onder de [install] sectie, je de install= naar install=nbd, install.nbd.server naar de server's IP op het netwerk en install.nbd.port naar de naam van de ndb export sectie zet, bijvoorbeeld : aptosid-iso (vermits nbd exports nu vrij eenvoudig worden genoemd met poort nummers).

Als alternatief kun je de F3 menu volledig uitschakelen en wijzig je de kernel commandline welke er dan als volgt uitzien:

fromhd=/dev/nbd0 root=/dev/nbd0 nbdroot=192.168.1.23,aptosid-iso nonetwork
toram boot code

Indien je toram aan de boot opties toevoegd, zullen machines met genoeg geheugen de server vrijgeven zodra ze het bestand gecopieerd hebben en de machines zonder voldoende geheugen zullen doorgaan met het normaal opstarten. Minimaal 1 gig is nodig, (ideaal 2 gig of meer), voor toram.

Network booten

Wees er zeker van dat alle BIOSsen van de client PC's ingesteld staan op Boot from Network.

Zolang als de bios het booten over netwerk ondersteunt, zal de machine is verbonden aan het netwerk met je server en de aptosid kernel en initrd.img ondersteuning voor je netwerkkaart, aptosid opstarten vanaf het netwerk.

Sommige netwerk kaarten vereissen een niet gratis firmware dit zal dan een rebuild van de initrd image betekenen om ook deze firmware te ondersteunen.

Inhoud het laatst gewijzigd op 11/06/2011 1305 UTC