Hvis din maskine er forbundet på et lokalt områdenetværk, så kan du måske starte den op over netværket fra en anden maskine, via TFTP. Hvis du har tænkt dig at starte installationssystemet op fra en anden maskine, så vil opstartsfilerne skulle placeres på specifikke placeringer på den maskine, og maskinen skal konfigureres til at understøtte opstart fra din specfikke maskine.
Du skal opsætte en TFTP-server, og for mange maskiner en DHCP-server, eller BOOTP-server.
BOOTP er en IP-protokol, som informerer en computer om dens IP-adresse og hvor på netværket du kan finde et opstartsaftryk. DHcP'en (Dynamic Host Configuration Protocol) er en mere fleksibel, bagud kompatibel udvidelse af BOOTP. Nogle systemer kan kun konfigureres via DHCP.
Trivial File Transfer Protocol (TFTP) bruges til at levere opstartsaftrykket til klienten. Teoretisk kan enhver server på enhver platform, som implementerer disse protokoller, anvendes. I eksemplerne i dette afsnit angiver vi kommandoer for SunOS 4.x, SunOS 5.x (a.k.a. Solaris) og GNU/Linux.
Bemærk | |
---|---|
For en Debian GNU/Linux-server anbefaler vi |
En fri DHCP-server er ISC dhcpd. For Debian GNU/Linux anbefales pakken isc-dhcp-server
. Her er et eksempel på en konfigurationsfil for den (se /etc/dhcp/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.img"; server-name "servername"; next-server servername; hardware ethernet 01:23:45:67:89:AB; fixed-address 192.168.1.90; }
I dette eksempel er der en server servername
som udfører al arbejdet på DHCP-serveren, TFTP-serveren og netværksadgangspunktet. Du har med stor sandsynlighed behov for at ændre indstillinger for domænenavnet samt servernavnet og klientens udstyrsadresse. Indstillingen filename
skal være navnet på filen, som hentes via TFTP.
Efter du har redigeret konfigurationsfilen dhcpd, så genstart den med /etc/init.d/isc-dhcp-server restart
.
Her er et andet eksempel for dhcp.conf
, der rbuger Pre-boot Execution Environment (PXE)-metoden for TFTP.
option domain-name "example.com"; default-lease-time 600; max-lease-time 7200; allow booting; allow bootp; # The next paragraph needs to be modified to fit your case subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.200 192.168.1.253; option broadcast-address 192.168.1.255; # the gateway address which can be different # (access to the internet for instance) option routers 192.168.1.1; # indicate the dns you want to use option domain-name-servers 192.168.1.3; } group { next-server 192.168.1.3; host tftpclient { # tftp client hardware address hardware ethernet 00:10:DC:27:6C:15; filename "pxelinux.0"; } }
Bemærk at for PXE-opstart, er klientfilnavnet pxelinux.0
en opstartsindlæser, ikke et kerneaftryk (se Afsnit 4.5.4, “Flyt TFTP-aftryk på plads” below).
Hvis din maskine bruger UEFI til opstart, så skal du angive en opstartsindlæser passende for UEFI-maskiner, for eksempel
group { next-server 192.168.1.3; host tftpclient { # tftp client hardware address hardware ethernet 00:10:DC:27:6C:15; filename "debian-installer/amd64/bootnetx64.efi"; } }
Der er to BOOTP-servere tilgængelige for GNU/Linux. Den første er CMU bootpd. Den anden er faktisk en DHCP-server: ISC dhcpd. I Debian GNU/Linux er disse indeholdt i pakkerne bootp
og isc-dhcp-server
respektivt.
For at bruge CMU bootpd, skal du først aktivere (eller tilføje) de relevante linjer i /etc/inetd.conf
. På Debian GNU/Linux kan du køre update-inetd --enable bootps
, og så /etc/init.d/inetd reload
for at gøre det. Bare i tilfælde af, at din BOOTP-server ikke kører Debian, skal den omtalte linje se således ud:
bootps dgram udp wait root /usr/sbin/bootpd bootpd -i -t 120
Nu skal du oprette en /etc/bootptab
-fil. Den har samme slags kendte og kryptiske format som det gode gamle BSD printcap
-, termcap
-, og disktab
-filer. Se manualsiden bootptab
for yderligere information. For CMU bootpd, skal du bruge udstyrsadressen (MAC) for klienten. Her er en eksempel /etc/bootptab
:
client:\ hd=/tftpboot:\ bf=tftpboot.img:\ ip=192.168.1.90:\ sm=255.255.255.0:\ sa=192.168.1.1:\ ha=0123456789AB:
Du skal mindst ændre “ha”-tilvalget, som angiver udstyrsadressen for klienten. Tilvalget “bf” specificerer filen en klient skal hente via TFTP; se Afsnit 4.5.4, “Flyt TFTP-aftryk på plads” for yderligere detaljer.
Som kontrast er opsætning af BOOTP med ISC dhcpd virkelig nemt, da det opfatter BOOTP-klienter som et moderat specieltilfælde for DHCP-klienter. Nogle arkitekturer kræver en kompleks konfiguration for opstart af klienter via BOOTP. Hvis din er en af disse, så læs afsnittet Afsnit 4.5.1, “Opsætning af en DHCP-server”. Ellers vil du sandsynligvis kunne slippe af sted med at tilføje allow bootp
direkte til konfigurationsblokken for undernettet, der indeholder klienten i /etc/dhcp/dhcpd.conf
, og genstarte dhcpd med /etc/init.d/isc-dhcp-server restart
.
For at få TFTP-serveren klar, skal du først sikre dig, at tftpd er aktiveret.
I tilfældet tftpd-hpa
er der to måder at tjenesten kan køres. Den kan startes efter behov af systemets dæmon inetd
, eller den kan opsættes til at blive kørt som en uafhængig dæmon. Hvilken af disse metoder der bruges vælges når pakke installeres og kan ændres ved at rekonfigurere pakken.
Bemærk | |
---|---|
Historisk brugte TFTP-servere |
Alle in.tftpd alternativer tilgængelige i Debian bør logge TFTP-forespørgsler til systemets logge som standard. Nogle af dem understøtter et -v
argument for at øge uddybningen. Det anbefales at kontrollere disse logbeskeder i tilfælde at opstartsproblemer, da de er et godt udgangspunkt for diagnosticering af fejltilfælde.
Placer så TFTP-opstartsaftrykket du skal bruge som set i Afsnit 4.2.1, “Her kan du finde installationsfiler”, i opstartsaftryksmappen tftpd. Du skal måske lave en henvisning fra den fil til filen som tftpd vil bruge til opstart af en bestemt klient. Desværre bestemmes filnavnet af TFTP-klienten, og der er ingen udbredte standarder.
For PXE-opstart befinder alt du bør sætte op sig i tarball'en netboot/netboot.tar.gz
. Udpak denne tarbal i mappen for opstartsaftrykket tftpd. Sikr dig at din dhcp-server er konfigureret til at sende pxelinux.0
til tftpd som filnavnet at starte op. For UEFI-maskiner skal du sende et passende EFI-opstartsaftryksnavn (såsom /debian-installer/amd64/bootnetx64.efi
).