4.3. Tiedostojen valmistelu verkosta käynnistämiseen TFTP:llä

Jos tietokone on kytketty paikallisverkkoon, se voidaan ehkä käynnistää verkosta toisella koneella olevista tiedostoista TFTP:tä käyttäen. Jos asennusjärjestelmä käynnistetään toiselta koneelta, on käynnistystiedostot tallennettava toisella koneella tiettyihin paikkoihin, ja sen asetukset tehtävä siten, että asennettavan koneen käynnistämistä tuetaan.

On asennettava TFTP-palvelin, ja useille koneille tarvitaan DHCP-palvelin.

DHCP (Dynamic Host Configuration Protocol) on joustavampi alaspäin yhteensopiva BOOTP:n laajennus. Joissakin järjestelmissä verkkoasetukset voidaan tehdä vain DHCP:llä.

Trivial File Transfer Protocol (TFTP) siirtää käynnistyslevyn otoksen asiakaskoneelle. Periaatteessa voidaan käyttää mitä tahansa nämä protokollat toteuttavaa palvelinta millä tahansa laitealustalla. Tämän luvun esimerkeissä näytetään käyttöjärjestelmissä SunOS 4.x, SunOS 5.x (eli Solaris) ja GNU/Linux käytettävät komennot.

4.3.1. DHCP-palvelimen asetukset

Eräs vapaa DHCP-palvelinohjelmisto on ISC dhcpd. Debian GNU/Linuxille suositellaan pakettia dhcp3-server. Tässä on esimerkki sen asetustiedostosta (katso /etc/dhcp3/dhcpd.conf):

option domain-name "example.com";
option domain-name-servers ns1.example.com;
option subnet-mask 255.255.255.0;
default-lease-time 600;
max-lease-time 7200;
server-name "servername";

subnet 192.168.1.0 netmask 255.255.255.0 {
  range 192.168.1.200 192.168.1.253;
  option routers 192.168.1.1;
}

host clientname {
  filename "/tftpboot/tftpboot.img";
  server-name "servername";
  next-server servername;
  hardware ethernet 01:23:45:67:89:AB;
  fixed-address 192.168.1.90;
}

Tässä esimerkissa on yksi palvelin, servername, joka tekee kaikki DHCP-palvelimen, TFTP-palvelimen ja verkon yhdyskäytävän työt. Asetuksen domain-name arvoa joudut lähes varmasti muuttamaan, samoin kuin palvelimen nimen ja asiakaskoneen MAC-osoitteen. Asetuksen filename on oltava TFTP:llä noudettavan tiedoston nimi.

Kun dhcpd:n asetustiedosto on muokattu, käynnistetään se uudestaan komennolla /etc/init.d/dhcpd3-server restart.

4.3.2. TFTP-palvelimen käyttöönotto

Jotta TFTP-palvelin saataisiin toimintakuntoon, on ensin varmistettava tftpd:n olevan käytettävissä. Tavallisesti se otetaan käyttöön kirjoittamalla tämän tapaista tiedostoon /etc/inetd.conf:

tftp dgram udp wait nobody /usr/sbin/tcpd in.tftpd /tftpboot

Debianin paketit tekevät tämän asetuksen yleensä oikein kun ne asennetaan.

Huomaa

Perinteisesti TFTP-palvelimet ovat jakaneet hakemiston /tftpboot tiedostoja. Debian GNU/Linuxin paketit voivat kuitenkin käyttää muita hakemistoja, jotta ne noudattaisivat Filesystem Hierarchy Standard-määrittelyä. Esimerkiksi tftpd-hpa käyttää oletusarvona hakemistoa /var/lib/tftpboot. Saatat joutua säätämään tämän luvun asetusesimerkkejä vastaavasti.

Lue tiedosto /etc/inetd.conf ja muista in.tftpd:n parametrina oleva hakemisto[2]; sitä tarvitaan tuonnempana. Jos tiedostoa /etc/inetd.conf on jouduttu muuttamaan, on käynnissä olevalle inetd-prosessille huomautettava muutoksesta. Debian-koneella komennetaan /etc/init.d/inetd reload; muilla koneilla etsitään prosessin inetd numero ja komennetaan kill -HUP inetd-pid.

Asennettaessa Debiania SGI:n koneelle kun TFTP-palvelin on GNU/Linux-kone jossa on Linux 2.4, on palvelimella tehtävä seuraavat asetukset:

# echo 1 > /proc/sys/net/ipv4/ip_no_pmtu_disc

Tämä ottaa Path MTU discoveryn pois päältä, muuten SGI:n PROM ei osaa noutaa ydintä. Lisäksi on varmistuttava TFTP-paketteja lähetettävän portista, jonka numero on enintään 32767, tai nouto pysähtyy ensimmäisen paketin jälkeen. Taaskin se on Linux 2.4.X joka löytää tämän vian PROM:sta, ja se voidaan välttää asetuksella

# echo "2048 32767" > /proc/sys/net/ipv4/ip_local_port_range

jolla säädetään aluetta jolta Linuxin TFTP-palvelimen valitsee käyttämänsä lähdeporttit.

4.3.3. Siirretään TFTP-otokset paikalleen

Seuraavaksi on tarvittava TFTP-käynnistysotos (kohdasta Kohta 4.2.1, “Mistä asennusotokset löytyvät?”) tallennettava tftpd:n käynnistysotosten hakemistoon. Tuosta tiedostosta on ehkä tehtävä linkki tiedostoon jota tftpd käyttää tietyn asiakkaan käynnistämiseen. Harmittavasti tiedoston nimen määrää TFTP-asiakas, eikä nimeämiskäytännölle ole kunnollisia standardeja.

4.3.3.1. SGI:n käynnistys TFTP:llä

SGI:n koneilla bootpd noutaa TFTP-tiedoston nimen. Se annetaan joko rivillä bf= tiedostossa /etc/bootptab tai direktiivissä filename= tiedostossa /etc/dhcpd.conf.

4.3.3.2. Broadcom BCM91250A:n ja BCM91480B:n käynnistys TFTP:llä

DHCP:n asetuksia ei tarvitse tehdä tavallisesta poikkeavalla tavalla, koska annetaan CFE:hen ladattavan tiedoston koko polkunimi.



[2] Valitsin -l käynnistää joissakin in.tftpd:n versioissa kaikkien pyyntöjen lokkaamisen järjestelmän lokeihin; tästä on hyötyä käynnistyksen vianjäljityksessä.