Artikel top billede

(Foto: Computerworld)

Boot Linux over et netværk - del 2

Installer en ny kopi af Ubuntu med blot et netkabel og en
fjernforbindelse.

Af Redaktionen, Alt om Data

Denne artikel er oprindeligt bragt på Alt om Data. Computerworld overtog i november 2022 Alt om Data. Du kan læse mere om overtagelsen her.

I første afsnit tog vi fat på, hvordan du kan boote en pc fra en anden maskine. Sidst lavede vi en DHCP-konfigurering og installerede en TFTP-server. Nu skal vi for alvor i gang med at boote.

Opret bootfilerne

4 Nu, da vi har begge de servere, som PXE skal bruge til at oprette en forbindelse og finde de filer, den skal bruge til at boote, består næste skridt i at gøre disse filer tilgængelige. Der findes mange kilder og metoder, når det gælder om at oprette og tilføje disse filer.

Hvad du vælger, afhænger helt af, hvad du vil have dit netbootede operativsystem til at lave. Man kan for eksempel boote til et fuldt funktionelt Live CD-system, men vi satser i stedet på en netbaseret Ubuntu-installation.

Tidligere versioner af Ubuntu omfattede PXE-bootfilerne på distributions-cd’en, men pladskrav har betydet, at disse filer i stedet blev lagt i et onlinelager. Find filen på www.tinyurl.com/5waq63 og læg den i den mappe, som aTFTP venter at finde den i, nemlig ”/var/lib/tftpboot”.

Netbootfilen leveres i form af et ”tar.gz”-arkiv”. Det kan man åbne med en filmanager, men de bedste resultater får man ved at skrive ”tar xvf netboot.tar.gz” i kommandolinjen.

Alle filerne og mapperne bliver så pakket ud og gemt i den aktuelle mappe. Blandt disse filer er ”pxelinux.0”, som vi tidligere pegede dnsmasq-konfigurationsfilen i retning ad.

En PXE-bootmenu bliver konfigureret vi mappen ”pxelinux.cfg”, der indeholder en fil, som burde se bekendt ud, hvis du nogen sinde har redigeret Grubs bootloader. Den omfatter en tekst til hver bootmenu – der indeholder bootkernens og ram-diskens placering – og oplysninger om, hvor rodfilsystemet kan findes. Det er denne fil, som du skal redigere, hvis du tilføjer dine egne PXE-installationer.

Mappen ”ubuntu-installer” er en beskåret udgave af Ubuntus installations-cd. Den er begrænset til teksort og onlinelagre med det formål at holde pladsforbruget og netbåndbredden nede på et minimum.

Boot klienten

5 Nu er du på det sted i processen, hvor en netboot burde fungere. Men før du prøver alt, hvad du her har været igennem, er det en god ide at tjekke serveren for at sikre dig, at alt er indstillet rigtigt. Sørg især for, at både dnsmasq- og atftp-serverne kører, og at de venter på en forbindelse.

Det kan man gøre ved hjælp af kommandoen ”netstat –nulp” efterfulgt af ”| grep”, der bruges til at filtrere outputtet til det specifikke servernavn, som du vil have oplysninger om. Hvis du for eksempel skrev ”netstat –nulp | grep dnsmasq”, ville netstat levere de tre linjer, der rapporterer om dnsmasq-serveren aktuelle status – hvis den altså virker. Hvis den ikke gør det, skal du genstarte serveren manuelt, efterfulgt af den samme procedure, som vi brugte i andet trin.

Gentag netstat-processen og tjek atftp-serverens status. Hvis du konstaterer, at genstart af en af tjenesterne stadig ikke giver brugbart netstat-output, er der sandsynligvis en syntaksfejl i den servers konfigurationsfil. Du burde kunne få flere oplysninger om problemet ved at se i ”/var/log/messages”.

Når du er tilfreds med, at begge servere kører, og at der ikke er nogen firewall, som står i vejen for processen, er tiden inde til at starte din PXE-bootmaskine.

Hvis der ikke er andre bootbare enheder på denne maskine, burde PXE automatisk slå til. Hvis den ikke gør det, skal du gå ind i bios og manuelt ændre bootrækkefølgen på den maskine, idet du skubber netboot op øverst på prioritetslisten.

Man kommer ind i de fleste bios-konfigurationsmenuer ved at trykke enten [F2] eller [Delete], når bios første gang kommer frem på skærmen. Hvis det ikke lykkes, har nogle bios’er en netboot-hotkey (som regel [F12]) eller en manuel bootmenu (som regel [F8]).

Når det er lykkedes at netboote, kan du se, at netenheden første prøver at hente en ip-adresse fra din nye DHCP-server, før den tager den bootfil, vi har lagt på aTFTP-serveren. Det burde alt sammen ske meget hurtigt.

Nu får du den PXE-bootmenu, der er blev oprettet af din bootfilkonfiguration, og herefter er installationen af Ubuntu over nettet en ret enkel sag, hvor man følger anvisningerne på skærmen, indtil man er færdig.

Boot fra en Live CD

Brugen af PXE-netboot for at starte en Ubuntuinstallation uden installationsmedier på klientmaskinen er et praktisk eksempel på netboot, fordi distributionen leverer netboot-pakken. Netboot-arkivet omfatter al den kode og alle de konfigurationsfiler, der skal til for at få PXE-klienten til at boote, og opsætningen er ikke en triviel, manuel omgang.

Netboot-pakken er imidlertid et strålende sted at begynde, hvis man vil udvide denne konfiguration og boote en Ubuntu Live CD. Man kan endda boote en anden Linuxdistribution, selv om man er nødt til at holde sig til en Live CD, for det er de eneste distributioner, der kan initialisere hardware i farten i stedet for via en installation.

Det første trin består i at downloade en ISO af desktopinstallationen. Dernæst skal man kopiere indholdet til en mappe på sine Linuxserver og dele indholdet af denne mappe ved hjælp af Network File System. Det kan man installere via Synaptic, men man skal redigere filen ”/etc/exports” for at tilføje den ISO-mappe, man har oprettet og kopieret filer til.

Derefter skal man redigere netboot- konfigurationen og kopiere ”vmlinuz” og ”initrd.gz” fra mappen ”casper” til et sted i aTFTP-serverens sti.

Vi har brugt ”/var/lib/tftpboot/hardy”. Til sidst skal man redigere netboot- konfigurationsfilen og tilføje det følgende, idet man ændrer stierne og ip-adresserne.

LABEL Hardy-Heron kernel hardy/vmlinuz append boot=casper
netboot=nfs
nfsroot=192.168.198.128:/path/to/nfs/share initrd=hardy/initrd.gz

[themepacific_accordion]
[themepacific_accordion_section title="Fakta"]

Det skal du bruge...

[/themepacific_accordion_section]
[/themepacific_accordion]