Changes for page Legacy Boot
Last modified by Sabrina V. on 2026/02/02 11:34
From version 2.1
edited by Sabrina V.
on 2026/02/02 11:34
on 2026/02/02 11:34
Change comment:
There is no comment for this version
To version 1.1
edited by Sabrina V.
on 2026/02/02 11:30
on 2026/02/02 11:30
Change comment:
There is no comment for this version
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -3,38 +3,38 @@ 3 3 The classic legacy boot, also known as BIOS boot, is the traditional system start procedure for older systems and differs fundamentally from modern UEFI implementations. With legacy boot, the system still starts up according to the classic BIOS principle, which does not use a cryptographic verification procedure such as Secure Boot. Instead, a boot sector is loaded directly from a data carrier or via the network and executed. 4 4 In contrast to the UEFI model, legacy boot works with a fixed memory address and 16-bit initialisation of the CPU. This makes the boot process simpler, but also less flexible and secure. There is no signature verification of boot loaders or kernels, because the BIOS simply executes the code located in the boot sector or in the file loaded via PXE. 5 5 6 -= PXE bootprocessinlegacymode=6 += Ablauf des PXE-Boots im Legacy-Modus = 7 7 8 - WhenPXEstartsviaBIOS,thenetworkadapter'sPXE ROMis initialised first.Itrequestsan IPaddressviaDHCP and,in thesameprocess,receivesinfoaboutthebootserverand the nameof thebootfileto beloaded(e.g. pxeboot.n12).8 +Beim PXE-Start über BIOS wird zunächst der PXE-ROM des Netzwerkadapters initialisiert. Dieser fordert über DHCP eine IP-Adresse an und erhält im selben Prozess die Informationen zum Bootserver sowie den Namen der zu ladenden Bootdatei (z. B. pxeboot.n12). 9 9 10 - Thecontinuingprocess typically proceedsasfollows:10 +Der weitere Ablauf gestaltet sich typischerweise wie folgt: 11 11 12 -* **BIOS initialisation**:Thesystem initialisesthehardwareandtransferscontrolto the networkinterfacewiththe PXEROMactivated.13 -* **DHCP request**:The PXEclient sendsaDHCPDISCOVERrequestto obtainanIPaddressandbootparameters.14 -* TFTP download:Aftersuccessful DHCPexchange,theclientloads thespecifiedbootfile (e.g. pxeboot.n12)fromtheServervia the TFTPprotocol.15 -* Bootloader execution:TheBIOStransferscontroltothe loadedbootloader,whichthenloadsadditionalcomponents(e.g.kernel,initrd,menu files).16 -* System start:Thebootloader starts theoperatingsystem based on the parametersspecified intheconfiguration (e.g. pxelinux.cfg/default).12 +* **BIOS-Initialisierung**: Das System initialisiert die Hardware und übergibt die Kontrolle an das Netzwerkinterface mit aktiviertem PXE-ROM. 13 +* **DHCP-Anfrage**: Der PXE-Client sendet eine DHCPDISCOVER-Anfrage, um eine IP-Adresse sowie Bootparameter zu erhalten. 14 +* **TFTP-Download**: Nach erfolgreichem DHCP-Austausch lädt der Client die angegebene Bootdatei (z. B. pxeboot.n12) vom Server über das TFTP-Protokoll. 15 +* **Bootloader-Ausführung**: Das BIOS übergibt die Kontrolle an den geladenen Bootloader, der anschließend weitere Komponenten (z. B. Kernel, Initrd, Menüdateien) nachlädt. 16 +* **Systemstart**: Der Bootloader startet das Betriebssystem basierend auf den in der Konfiguration (z. B. pxelinux.cfg/default) angegebenen Parametern. 17 17 18 18 (% class="box infomessage" %) 19 19 ((( 20 20 [[image:https://doc.aagon.com/bin/download/XWiki/Aagon Infobox/WebHome/Information.svg||alt="Hinweis" height="32" width="32"]] **Hinweis: ** 21 21 22 -Bootloaders s uch asSYSLINUXorPXELINUXaretypically used inlegacy mode.These loadthekernelandinitrdfiles viasimpleconfigurationfiles(e.g. pxelinux.cfg/default).Themenu structureis text-basedand is interpretedbythe bootloaderwithoutcheckingsignaturesorcertificates.22 +Als Bootloader werden im Legacy-Modus typischerweise Bootloader wie SYSLINUX bzw. PXELINUX eingesetzt. Diese laden über einfache Konfigurationsdateien (z. B. pxelinux.cfg/default) die Kernel- und Initrd-Dateien. Die Menüstruktur ist textbasiert und wird vom Bootloader interpretiert, ohne dass Signaturen oder Zertifikate geprüft werden. 23 23 ))) 24 24 25 -= Preparationof thebootloader =25 += Vorbereitung des Bootloaders = 26 26 27 - First, downloadthecurrentversionfromtheofficial SYSLINUXprojectwebsite:27 +Laden Sie zu Beginn von der offiziellen Webseite des SYSLINUX-Projekts die aktuelle Version herunter: 28 28 [[https:~~/~~/wiki.syslinux.org/wiki/index.php?title=SYSLINUX>>url:https://wiki.syslinux.org/wiki/index.php?title=SYSLINUX]] 29 29 30 - Unzipthe archive.Fromthis ZIPfile, you willneedthe followingfiles, whichyoushouldcopy totheroot directoryof your PXEfolder:30 +Entpacken Sie das Archiv. Aus dieser ZIP-Datei benötigen Sie folgende Dateien, welche Sie ins Root-Verzeichnis Ihres PXE-Ordners kopieren: 31 31 32 -* pxelinux.0 (inthe pathbios/core/pxelinux.0relativetotheunzippedZIP)–this isthemain bootloader for LegacyBIOS + PXE.Thisfile mustbe renamed topxeboot.n12.33 -* ldlinux.c32 (inthe pathbios/com32/elflink/ldlinux/ldlinux.c32)–a coremodule(COM32)fromSYSLINUXthatsupportsthe loadingof additionalmodulesorextensions.34 -* libutil.c32 (inthe pathbios/com32/libutil/libutil.c32) -alibrary/utilitymodulefilewithinthe COM32modulesthat providesgeneralutilityfunctionsforothermodules.35 -* menu.c32 (inthe pathbios/com32/menu/menu.c32) -amodulefordisplayinga textmenuduringboot; if,forexample,DEFAULT menu.c32isset intheconfigurationfile, thismenu moduleisstarted.32 +* ##pxelinux.0## (im Pfad ##bios/core/pxelinux.0## relativ zur entpackten ZIP) - dies ist der Haupt-Bootloader für Legacy-BIOS + PXE. Diese Datei muss in ##pxeboot.n12##umbenannt werden. 33 +* ##ldlinux.c32## (im Pfad ##bios/com32/elflink/ldlinux/ldlinux.c32##) - ein Kern-Modul (COM32) von SYSLINUX, das das Laden weiterer Module bzw. Erweiterungen unterstützt. 34 +* ##libutil.c32## (im Pfad## bios/com32/libutil/libutil.c32##) - eine Bibliotheks-/Hilfsmoduldatei innerhalb der COM32-Module, die allgemeine Utility-Funktionen für andere Module bereitstellt. 35 +* ##menu.c32## (im Pfad ##bios/com32/menu/menu.c32##) - ein Modul zur Anzeige eines Textmenüs beim Booten; wenn im Konfigurationsfile z. B. ##DEFAULT menu.c32## gesetzt ist, wird dieses Menü-Modul gestartet. 36 36 37 - Placethesefilesdirectlyintherootdirectoryof your PXEfolder.Thisensures thatthebootloaderandmodulesare correctlyaccessibleviaTFTPduring the PXEboot process.Anoteon thisis[[inthe officialdocumentation>>url:https://docs.oracle.com/cd/E20815_01/html/E20821/gjqeh.html]].37 +Legen Sie diese Dateien direkt in das Root-Verzeichnis Ihres PXE-Ordners ab. Damit stellen Sie sicher, dass beim PXE-Boot-Vorgang der Bootloader und die Module korrekt über TFTP erreichbar sind. Hinweise hierzu finden Sie u. a. [[in der offiziellen Dokumentation>>url:https://docs.oracle.com/cd/E20815_01/html/E20821/gjqeh.html]]. 38 38 39 39 {{code language="bash"}} 40 40 /tftpboot/ ... ... @@ -44,54 +44,42 @@ 44 44 └── menu.c32 45 45 {{/code}} 46 46 47 += Anlage des Konfigurations-Ordners = 47 47 49 +Erzeugen Sie im PXE-Ordner anschließend einen Unterordner mit dem Namen ##pxelinux.cfg##. Im Verzeichnis## pxelinux.cfg## werden später die Boot-Konfigurationsdateien für PXELINUX abgelegt. Typischerweise wird dieses Verzeichnis direkt unter dem TFTP-Root bzw. im Verzeichnis, in dem die Datei ##pxeboot.n12## liegt, erstellt. 48 48 49 -= Creatingtheconfigurationfolder=51 += Aufbau der Boot-Konfigurationsdateien = 50 50 51 - Next,createasubfoldernamed ##pxelinux.cfg##in thePXE folder. The bootconfigurationfilesforPXELINUXwill laterbestoredinthe##pxelinux.cfg##directory.Typically,thisdirectoryiscreated directly undertheTFTProotor in thedirectorywherethe## pxeboot.n12## file is located.53 +Legen Sie im Ordner pxelinux.cfg die Boot-Konfigurationsdateien an. Dabei gilt eine bestimmte Namens- und Suchlogik, die das Verhalten Ihres PXE-Bootservers steuert: 52 52 55 +* ##**default**:## Dies ist die Standard-Konfigurationsdatei. Wenn keine spezifischere Datei für einen Client gefunden wird (z. B. anhand MAC oder IP), wird diese Datei verwendet. Üblicherweise abgelegt als ##pxelinux.cfg/default.## 56 +* ##**01-<MAC-Adresse>**##: Eine Datei für exakt einen bestimmten Client, identifiziert durch seine MAC-Adresse. Die Namenskonvention beginnt mit ##01-##, gefolgt von der MAC-Adresse in Kleinbuchstaben, mit Bindestrichen anstelle von Doppelpunkten. Beispiel: ##01-23-45-67-89-AB##. Damit kann einer einzelnen Maschine eine eigene Boot-Konfiguration zugewiesen werden. 57 +* ##**<IP-Hex>**##: Eine Datei, die auf der IP-Adresse des Clients basiert. Hierbei wird die IP-Adresse in hexadezimaler Form verwendet (z. B. für ##192.168.1.1 → C0A80101##). Diese Variante ermöglicht die Konfiguration je nach IP-Adresse bzw. Subnetz. ([[hpc.temple.edu>>url:https://www.hpc.temple.edu/mhpc/hpc-technology/exercise2/pxelinux.html]]) 58 +* ##**<IP-TeilHex>**##: Kürzere Varianten der IP-Hex-Adresse. Falls keine Datei mit vollständiger IP-Hex gefunden wird, versucht PXELINUX kürzere Versionen (z. B. nur die oberen Bytes) der IP in hexadezimaler Form auszuwerten. Dadurch ist eine Art „Subnetz-Konfiguration“ über die Dateinamen möglich. ([[hpc.temple.edu>>url:https://www.hpc.temple.edu/mhpc/hpc-technology/exercise2/pxelinux.html]]) 53 53 60 +== Reihenfolge des Suchprozesses == 54 54 62 +Wenn ein Client bootet, durchsucht PXELINUX das Verzeichnis pxelinux.cfg in folgender Reihenfolge nach Konfigurationsdateien: 55 55 56 -= Structure of the boot configuration files = 64 +1. Datei basierend auf der MAC-Adresse (also ##01-<MAC>##) 65 +1. Datei basierend auf der vollständigen IP in hexadezimaler Form (##<IP-Hex>##) 66 +1. Datei basierend auf abgekürzter IP in hex (z. B. nur die oberen Bytes ##<IP-TeilHex>##) 67 +1. Datei ##default## 57 57 58 - Create theboot configurationfilesinthepxelinux.cfgfolder.A specificnamingandsearch logicapplieshere,which controls thebehaviour of yourPXE bootserver:69 +Diese Reihenfolge stellt sicher, dass zuerst die spezifischste Konfiguration genutzt wird. Wenn keine passende Datei gefunden wird, wird auf die Standardkonfiguration zurückgegriffen. ([[hpc.temple.edu>>url:http://hpc.temple.edu/]]) 59 59 60 -* **default**: This is the standard configuration file. If no more specific file is found for a Client (e.g. based on MAC or IP), this file is used. Usually stored as pxelinux.cfg/default. 61 -* **01-<MAC address>**: A file for exactly one specific Client, identified by its MAC address. The naming convention begins with 01-, followed by the MAC address in lower case letters, with hyphens instead of colons. Example: 01-23-45-67-89-AB. This allows a single machine to be assigned its own boot configuration. 62 -* **<IP-Hex>**: A file based on the Client's IP address. The IP address is used in hexadecimal form (e.g. for 192.168.1.1 → C0A80101). This variant allows configuration based on IP address or subnet ([[hpc.temple.edu>>url:https://www.hpc.temple.edu/mhpc/hpc-technology/exercise2/pxelinux.html]]). 71 +== Zweck der Mechanismen == 63 63 64 -* **<IP-TeilHex>**: Shorter variants of the IP hex address. If no file with the full IP hex is found, PXELINUX attempts to evaluate shorter versions (e.g. only the upper bytes) of the IP in hexadecimal form. This enables a type of ‘subnet configuration’ via the file names ([[hpc.temple.edu>>url:https://www.hpc.temple.edu/mhpc/hpc-technology/exercise2/pxelinux.html]]). 73 +* Die Datei mit der MAC-Adresse ermöglicht eine exakte Zuweisung einer individuellen Boot-Konfiguration zu einer bestimmten Hardware. 74 +* Die Datei mit der IP-Adresse (oder Teilen davon) erlaubt Gruppenkonfigurationen oder Zuweisungen entsprechend Netzwerk oder Subnetz. 75 +* Die default-Datei stellt sicher, dass jeder Client zumindest eine Boot-Konfiguration bekommt, falls keine spezialisierte Datei vorhanden ist. 76 +* Durch die Kombination dieser Mechanismen können flexibel bestimmte Clients differenziert behandelt werden, während andere auf eine generische Konfiguration zurückfallen. 77 +* Für die meisten einfachen Szenarien genügt es, eine einzige default-Datei anzulegen. Damit wird eine einheitliche Konfiguration für alle Clients bereitgestellt. 65 65 79 += Beispielkonfiguration (Standard-Variante) = 66 66 81 +In einem vereinfachten Setup wird eine einzige Konfigurationsdatei default genutzt, um eine generelle Boot-Konfiguration für alle Clients zu verteilen. Legen Sie im Verzeichnis pxelinux.cfg eine Datei mit dem Namen default an und tragen Sie dort z. B. folgende Grundstruktur ein: 67 67 68 -== Order of the search process == 69 - 70 -When a client boots, PXELINUX searches the pxelinux.cfg directory for configuration files in the following order: 71 - 72 -1. File based on the MAC address (i.e. 01-<MAC>) 73 -1. File based on the full IP in hexadecimal form (<IP-Hex>) 74 -1. File based on abbreviated IP in hex (e.g. only the upper bytes <IP-partHex>) 75 -1. Default file 76 - 77 -This order ensures that the most specific configuration is used first. If no suitable file is found, the default configuration is used ([[hpc.temple.edu>>url:http://hpc.temple.edu/]]). 78 - 79 - 80 - 81 -== Purpose of the mechanisms == 82 - 83 -* The file containing the MAC address enables an individual boot configuration to be assigned precisely to a specific piece of hardware. 84 -* The file containing the IP address (or parts thereof) allows group configurations or assignments according to network or subnet. 85 -* The default file ensures that each client receives at least one boot configuration if no specialised file is available. 86 -* By combining these mechanisms, certain Clients can be treated differently in a flexible manner, while others fall back on a generic configuration. 87 -* For most simple scenarios, it is sufficient to create a single default file. This provides a uniform configuration for all Clients. 88 - 89 - 90 - 91 -= Example configuration (standard variant) = 92 - 93 -In a simplified setup, a single configuration file called default is used to distribute a general boot configuration for all Clients. Create a file called default in the pxelinux.cfg directory and enter the following basic structure, for example: 94 - 95 95 {{code language="bash"}} 96 96 DEFAULT menu.c32 97 97 MENU TITLE Netzwerk-Boot ... ... @@ -103,6 +103,6 @@ 103 103 LOCALBOOT 0xffff 104 104 {{/code}} 105 105 106 - Thisstructuredisplaysa simplemenuthatuses the menu.c32module (‘DEFAULT menu.c32’)anddefines localbootingas thedefault entry.Youcanextendthistemplatewithadditionalitems,kernel, Init-RDandotheroptions.Ifyounowstartfromthisconfiguration,you willseethe following screenandtheboot wouldstartautomaticallyfromthe localdiskafter5seconds.94 +Diese Struktur zeigt ein einfaches Menü an, welches das Modul menu.c32 verwendet („DEFAULT menu.c32“) und als Default-Eintrag das lokale Booten definiert. Sie können diese Vorlage mit weiteren Einträgen, Kernel, Init-RD und anderen Optionen erweitern. Wenn Sie nun ausgehend von dieser Konfiguration starten, erhalten Sie die folgende Bildschirmansicht und der Boot würde nach 5 Sekunden automatisch von der lokalen Festplatte starten. 107 107 108 -[[Legacy Boot bootscreen>>image:Legacy Boot_Bootscreen.png||alt="Legacy Boot_Bootscreen"]]96 +[[Legacy Boot_Bootscreen>>image:Legacy Boot_Bootscreen.png||alt="Legacy Boot_Bootscreen"]]

