Booting GRUB from the network

Från Wiki.linux.se
Hoppa till navigering Hoppa till sök

Följande instruktioner fungerar inte för *-emu, i386-qemu, i386-coreboot, i386-multiboot, mips_loongson, mips-arc och mips_qemu_mips.

För att generera en nätverksstartbar katalog, kör:

grub-mknetdir --net-directory=/srv/tftp --subdir=/boot/grub -d /usr/lib/grub/<plattform>

Exempel för i386-pc:

grub-mknetdir --net-directory=/srv/tftp --subdir=/boot/grub -d /usr/lib/grub/i386-pc

Följ sedan instruktionerna som skrivs ut av grub-mknetdir för att konfigurera din DHCP-server. Filen grub.cfg placeras i samma katalog som sökvägen som ges av grub-mknetdir, härmed kallad FWPATH. GRUB kommer att söka efter sina konfigurationsfiler i ordning enligt följande regler där det tillagda värdet motsvarar ett värde på klientmaskinen.

  • '(FWPATH)'/grub.cfg-'(UUID OF MACHINE)'
  • '(FWPATH)'/grub.cfg-'(MAC ADDRESS OF NIC)'
  • '(FWPATH)'/grub.cfg-'(IPv4 OR IPv6 ADDRESS)'
  • '(FWPATH)'/grub.cfg

UUID är klientmaskinidentifierarens optionsdefinition som specificeras i RFC 4578. Klienten kommer endast att försöka hämta en UUID-konfigurationsfil om den har tillhandahållits av DHCP-servern.

Klienten kommer endast att försöka hämta en IPv6-adresskonfiguration en gång, men den kommer att försöka med IPv4 flera gånger. Det konkreta exemplet nedan visar vad som skulle hända under IPv4-fallet.

UUID: 7726a678-7fc0-4853-a4f6-c85ac36a120a
MAC: 52:54:00:ec:33:81
<IPv4: 10.0.0.130 (0A000082)
  • '(FWPATH)'/grub.cfg-7726a678-7fc0-4853-a4f6-c85ac36a120a
  • '(FWPATH)'/grub.cfg-52-54-00-ec-33-81
  • '(FWPATH)'/grub.cfg-0A000082
  • '(FWPATH)'/grub.cfg-0A00008
  • '(FWPATH)'/grub.cfg-0A0000
  • '(FWPATH)'/grub.cfg-0A000
  • '(FWPATH)'/grub.cfg-0A00
  • '(FWPATH)'/grub.cfg-0A0
  • '(FWPATH)'/grub.cfg-0A
  • '(FWPATH)'/grub.cfg-0
  • '(FWPATH)'/grub.cfg

Denna funktion är aktiverad som standard men kan inaktiveras genom att ställa in 'feature_net_search_cfg' till 'n'. Eftersom detta sker innan konfigurationsfilen läses av GRUB, måste detta alternativ inaktiveras i en inbäddad konfigurationsfil (se Inbäddad konfiguration).

Efter att GRUB har startat kommer filer på TFTP-servern att vara tillgängliga via enheten '(tftp)'.

Serverns IP-adress kan kontrolleras genom att ändra enhetsnamnet '(tftp)' till '(tftp,server-ip)'. Observera att detta bör ändras både i prefixet och i eventuella referenser till enhetsnamnet i konfigurationsfilen.

GRUB tillhandahåller flera miljövariabler som kan användas för att inspektera eller ändra beteendet hos PXE-enheten. I följande beskrivning är <interface> en platsinnehavare för namnet på nätverksgränssnittet (plattformsberoende):

  • 'net_<interface>_ip' - Nätverksgränssnittets IP-adress. Skrivskyddad.
  • 'net_<interface>_mac' - Nätverksgränssnittets MAC-adress. Skrivskyddad.
  • 'net_<interface>_clientid' - Klient-ID tillhandahållit av DHCP. Skrivskyddad.
  • 'net_<interface>_clientuuid' - Klientens UUID tillhandahållit av DHCP. Skrivskyddad.
  • 'net_<interface>_hostname' - Klientens värdnamn tillhandahållit av DHCP. Skrivskyddad.
  • 'net_<interface>_domain' - Klientens domännamn tillhandahållit av DHCP. Skrivskyddad.
  • 'net_<interface>_rootpath' - Sökvägen till klientens rotdisk tillhandahållen av DHCP. Skrivskyddad.
  • 'net_<interface>_extensionspath' - Sökvägen till ytterligare DHCP-leverantörstillägg tillhandahållen av DHCP. Skrivskyddad.
  • 'net_<interface>_boot_file' - Startfilens namn tillhandahållet av DHCP. Skrivskyddad.
  • 'net_<interface>_dhcp_server_name' - Namnet på DHCP-servern ansvarig för dessa startparametrar. Skrivskyddad.
  • 'net_<interface>_next_server' - IP-adressen till nästa (vanligtvis TFTP) server tillhandahållen av DHCP. Skrivskyddad.
  • 'net_default_interface' - Ursprungligen inställt på namnet på nätverksgränssnittet som användes för att ladda GRUB. Lässkriv, även om inställning endast påverkar tolkningen av 'net_default_ip' och 'net_default_mac'
  • 'net_default_ip' - IP-adressen för standardgränssnittet. Skrivskyddad. Detta är alias för 'net_${net_default_interface}_ip'.
  • 'net_default_mac' - Standardgränssnittets MAC-adress. Skrivskyddad. Detta är alias för 'net_${net_default_interface}_mac'.
  • 'net_default_server' - Standardservern som används av nätverksenheterna (se Enhetssyntax). Lässkriv, även om inställning endast är användbar innan en nätverksenhet öppnas.

Sidslut

Orginalhemsidan på Engelska :https://www.gnu.org/software/grub/manual/grub/html_node/Network.html#Network

GNU GRUB Manual


Det här är en maskinöversättning av GNU-manualen till svenska. Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på https://www.linux.se/kontaka-linux-se/

Tack till Datorhjälp Stockholm som har sponsrat Linux.se med webserver.