PXEBootInstall

Forord

Installasjon ved hjelp av nettverksstart må ikke forveksles Med DebianNetworkInstall. I nettverksinstallasjon starter DU MED EN CD (ELLER USB-flashminne eller lignende) for å installere et minimalt Linux-system før du fortsetter å laste ned flere pakker over nettverket. Installasjon ved hjelp av nettverksoppstart er også forskjellig fra å bruke nettverket til å starte opp et allerede installert system: i så fall forblir klientmaskinen avhengig av at serveren er oppe og går ved hver fremtidig oppstart. Linux Terminal Server Project (LTSP) fungerer som det, for eksempel.

denne siden beskriver installering av Et Nytt Debian-system uten CD, DVD, USB i det hele tatt. Ved slutten av installasjonsprosessen kan den nye maskinen kjøre uten støtte fra serveren. Under installasjonen trenger du en nettverksstartserver.

da det ikke er noen fiducial boot-servere ute i naturen, må du sette opp din egen. Dette er betydelig mer komplisert enn å installere Debian FRA CD (forkortelse FOR CD ELLER USB eller …). Normalt brukes nettverksstart bare hvis det egentlig ikke er mulig å starte opp FRA CD. Hvis oppstart fra CD mislykkes, kan DETTE skyldes BIOS-problemer som også forhindrer nettverksstart (typiske feilsøkingsforsøk inkluderer å slå av sikker oppstart, bytte FRA UEFI til eldre oppstartsmodus og lignende).

på Nettet finner du flere artikler som beskriver mer eller mindre detaljert hvordan du konfigurerer en nettverksstartserver. Alle har samme svakhet: du må utføre en lang liste med instruksjoner uten å få tilbakemelding før slutten av prosedyren når du prøver å starte opp. Hvis det fungerer, fint. Hvis ikke, vil feilsøking bli veldig veldig vanskelig. Derfor, i det følgende, bryter vi ned prosedyren i trinn som kan feilsøkes separat.

http://www.debian.org/releases/stable/amd64/ch04s05 – Debian Installasjonsveiledning – 4.5. Klargjøre Filer for Tftp Net Booting

Merk: hvis systemet støtter iPXE, bruker du netboot.xyz er sannsynligvis mye enklere.

Forutsetninger

datamaskinen du vil installere til vil bli kalt Klienten.

datamaskinen du installerer fra vil bli kalt Serveren. Vi antar At Serveren kjører Debian.

for å være spesifikk antar vi At Klienten og Serveren er en DEL av ET LAN med FØLGENDE IP-adresser:

du vil finne ut verdien av x senere.

Merk at mange rutere også gir EN DHCP-server: du må slå den av, siden bare EN DHCP-server kan kjøre i et gitt LAN. Med mindre du kan konfigurere RUTERENS DHCP-server for å overholde ISC DHCP-serverkonfigurasjonen nedenfor, men dette er utenfor omfanget av dette dokumentet.

det er også mulig at ruteren og serveren er den samme maskinen, dvs. At Debian-serveren din er standard gateway for DETTE LAN. Dette vil fungere fint.

følgende instruksjoner har blitt testet Med Debian 8.2 (Jessie) i September 2015.

Aktiver pxe boot

Sett OPP BIOS-oppstartsmenyen Til Klienten for å starte opp fra nettverket.

Omstart. På de fleste systemer produserer dette en utgang som inneholder Klientens MAC-adresse. Da vil DET mislykkes med

 PXE-E53: no boot filename received.

Merk MAC-adressen; Det vil være nyttig for å tolke loggmeldinger.

på mange servere er det også mulig å midlertidig bytte TIL pxe boot uten permanent å endre BIOS-innstillingene. Det vil være en slags tastetrykk å treffe UNDER BIOS-INNLEGGET. På Dell-servere vil F12 gjøre trikset (Eller Esc deretter @ fra en seriell eller IPMI-konsoll).

Sett OPP DHCP-server

På Serveren må VI sette OPP EN DHCP-server. Gjeldende beste praksis synes Å være å bruke pakken isc-dhcp-server, som gir en daemon dhcpd.

konfigurasjonsfilen er / etc / dhcp / dhcpd.conf. Endre denne filen slik at DEN inneholder omtrent følgende; tilpass IP-og MAC-adresser til dine lokale behov:

etter hver endring av ovenstående, start DHCP-serveren på nytt med

 # /etc/init.d/isc-dhcp-server restart

eller med systemd-ekvivalenten

 # systemctl restart isc-dhcp-server

Kontroller at DEN faktisk kjører:

 # pgrep -lf dhcpd 32277 /usr/sbin/dhcpd -q

eller

 # systemctl status isc-dhcp-server

som gir litt mer informasjon.

før du starter klienten på nytt, kan du kjøre

 # journalctl -fu isc-dhcp-server

som viser de siste linjene I DHCP-serverloggen, og oppdaterer skjermen med hver ny loggoppføring. (Hvis du ikke vil «følge» loggen, bare la ut «f»)

 PXE-E32: TFTP open timeout

og samtidig vil du se loggmeldinger på serverskjermen som viser DHCP-forespørsler og tilbud som ligner på utgangen under alternativkommandoen under

hvis du foretrekker å ikke bruke systemd, eller ønsker å sammenligne den tradisjonelle loggutgangen for diagnostiske formål, kan du slå opp /var/log/syslog, for eksempel med dette kommando

 # grep DHCP /var/log/syslog
  • hvor du skal se noe som:

(Merk at Tidligere Debian-utgivelser brukte /var / log / daemon.log i stedet for syslog)

hvis ingenting vises i loggen med en av kommandoene, sjekk nettverkskoblingene Mellom Serveren og Klienten. Merk at noen nettverkssvitsjer kan pålegge alvorlige begrensninger PÅ DHCP-trafikk; For Cisco – enheter, bruk «portfast» hvis mulig (se http://www.cisco.com/en/US/products/hw/switches/ps708/products_tech_note09186a00800b1500.shtml).

Sett OPP TFTP-server

Neste må vi sette OPP En TFTP-server på Serveren.

Igjen er det flere pakker som gir TFTP(trivial FTP, usikre, som skal brukes i LAN bare). Det synes beste praksis å bruke pakken tftpd-hpa. Ved installasjon blir noen spørsmål spurt. Svaret på disse spørsmålene går inn i en konfigurasjonsfil, / etc / default / tftpd-hpa. Det bør ikke være nødvendig å endre følgende standardinnhold:

 TFTP_USERNAME="tftp" TFTP_DIRECTORY="/srv/tftp" TFTP_ADDRESS="0.0.0.0:69" TFTP_OPTIONS="--secure"

Ignorer eldre Nettsteder som ber deg om å sette inn noe som ‘RUN_DAEMON= «ja»‘.

etter hver endring av konfigurasjonsfilen ovenfor, start tftp-serveren på nytt med

 # /etc/init.d/tftpd-hpa restart

eller

 # systemctl restart tftpd-hpa

på Jessie vil katalogen /srv/tftp automatisk bli opprettet. Dette betyr at de neste to trinnene ikke er nødvendige hvis Du bruker Jessie.

i utgangspunktet, på Pre-Jessie versjoner, kan omstart AV tftp-serveren mislykkes med en melding som

 Restarting HPA's tftpd: in.tftpd/srv/tftp missing, aborting.

derfor, som rot, opprett katalogen / srv / tftp. Start tftp-demonen på nytt. Sjekk at det faktisk kjører:

 # pgrep -lf tftpd 12555 /usr/sbin/in.tftpd

eller

 # systemctl status tftpd-hpa

som igjen gir noen linjer i loggen i stedet for bare det faktum at oppgaven er (ikke) kjører. du kan ganske enkelt bruke tftp-hpa-pakken til dette formålet:

 # cd /tmp # uname -a >/srv/tftp/test # tftp 192.168.0.2 tftp> get test tftp> quit # diff test /srv/tftp/test (nothing, they are identical)

Det er også nyttig å se hvilke loggoppføringer du får når du laster ned en fil som eksisterer, og når du prøver å laste ned en som ikke gjør det. Mens du bruker tftp til å teste tftpd-serveren, kan du prøve å spore eksperimentene dine med gamle og nye former for loggkommandoen mens DU bruker tftp-klienten til å laste ned filer som gjør, samt filer som ikke eksisterer.

den tradisjonelle kommandoen På Jessie

 # tail -f /var/log/syslog

(Merk igjen at Tidligere Debian-utgivelser brukte / var / log / daemon.logg i stedet for syslog.)

på systemd

 # journalctl -fu tftpd-hpa

Dessverre ser Disse Ut til å gi forskjellige resultater, fra januar 2017. Kommandoen systemd viser ikke filanmodninger for filer som ikke finnes.

det er ganske nyttig å vite hva klienten ber om, da det hjelper deg med å flytte filer til forventet plassering hvis du gjør feil senere. I dag er det sannsynligvis verdt å bruke den tradisjonelle måten å logge sporing FOR TFTPD.

Start Klienten på Nytt. Du bør se feilmeldinger på klientskjermen som starter med

 PXE-T01: File not found

som er ganske riktig siden vi ennå ikke har gitt noen filer. På serverskjermen ser du nøyaktig hva klienten ba om.

Gi oppstartsbildet

Last ned netboot / netboot.tjære.gz fra Et Debian-speil (se http://www.debian.org/distrib/netinst#netboot).

Valgfritt: for å bekrefte den digitale signaturen, skriv inn disse kommandoene:

Pakk ut netboot.tjære.gz til / srv / tftp, som nå skal inneholde

 debian-installer/ pxelinux.0@ pxelinux.cfg@ version.info

det kan være nødvendig å chmod-R a + r * for å gjøre alle filene i denne katalogen lesbare for TFTP-demonen.

du må kanskje også redigere grub / grub.cfg for å sette seriekonsollen din, om nødvendig (jeg erstattet delen om den grafiske terminalen):

serial --speed=115200 --unit=1 --word=8 --parity=no --stop=1terminal_input console serialterminal_output console serial

i tillegg til seriekonsollen for debian-installer ved å legge til dette i kjernekommandolinjen:

console=ttyS1,115200n8r console=tty1

Start tftp-daemonen PÅ nytt, og igjen kan du følge loggoppføringene som de vises

 # tail -f /var/log/syslog

start deretter klienten på nytt. Du bør komme til En Debian-installasjonsskjerm.

hvis du slår opp i/var / log / syslog, vil du se hva som er lastet ned fra TFTP-serveren AV pxe bootloader, og DERETTER AV SYSLINUX. DU kan også se noen «NAK» svar når SYSLINUX bedt om filer som ikke finnes (den prøver flere steder for noen viktige filer).

pxe-lasteren (fastvaren i BIOS eller nettverkskontrolleren til klienten) prøver å laste i denne rekkefølgen:

  • pxelinux.0 (eller mer nøyaktig, hva du fortalte det å laste ned i’ filnavn ‘ – feltet I DHCP-svaret)

DA VIL SYSLINUX / PXELINUX prøve å søke konfigurasjonen på forskjellige baner, fra det mest spesifikke til det minste:

  • pxelinux.cfg / GUID
  • pxelinux.cfg / MAC
  • pxelinux.cfg /default

og hvis konfigurasjonsmenyen avhenger av andre konfigurasjonselementer, lastes de også ned. Debian vil i det minste trenge ‘ bootmenu.txt ‘ fil som er hovedmenyen.

som standard kommer du til den grafiske Debian install start menu-skjermen. Trykk ‘enter’ for å starte installasjonen. Vær tålmodig: det kan ta over et minutt før neste skjermbilde (‘Velg et språk’) vises.

Alternativ måte å skaffe oppstartsbildet

hvis Du har Et Debian-system med samme versjon som du ønsker å installere, kan du installere oppstartsbildet ved hjelp av apt. pek nå tftp-serveren til / usr / lib / debian-installer/images/$VERSION/$ARCH / $INTERFACE der INTERFACE=tekst for tekstmodusinstallatøren eller INTERFACE=gtk for den grafiske installatøren. En enkel måte å oppnå dette på er å slå / srv / tftp til en symbolsk lenke.

En Annen Måte – bruk Dnsmasq

dnsmasq er en lett, enkel Å konfigurere DNS speditør OG DHCP-server MED BOOTP/TFTP / PXE funksjonalitet. Det vil si at du kan erstatte isc-dhcp-server og tftpd-hpa Med Dnsmasq.

Følgende er/etc / dnsmasq.conf gir samme funksjonalitet som metoden for installasjon og konfigurasjon av isc-dhcpd-server og tftpd-hpa beskrevet ovenfor.

Last ned netboot.tjære.gz og trekk den ut i / srv / tftp som tidligere beskrivelse.

Potensielle Problemer

hvis kjernen i netboot-bildet blir synkronisert med kjernemodulpakker, vil modulene ikke lastes inn og installasjonen vil mislykkes, de vanlige symptomene er at meldinger om «manglende symboler» vises i ctrl-alt-f4-konsollen.

for å fikse dette, oppdater kjernen og initrd på netboot-serveren.

Det er sannsynligvis Et Debian BTS-problem åpent for dette, men jeg finner det ikke nå.

Se Også

  • http://www.debian.org/releases/stable/amd64/ch04s05 – Debian Installasjonsveiledning – 4.5. Di-netboot-assistant automatiserer de fleste trinnene som er beskrevet ovenfor: DebianInstaller/NetbootAssistant

  • lenny installer i netboot.tjære.gz støtter ikke installering ved hjelp av seriell konsoll som standard nå. Du finner mer informasjon om dette problemet og en oppdatering for å aktivere seriell konsolltilgang i 309223.

  • https://networkboot.org/

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *