Installationsbootloader

Aus Linupedia
Wechseln zu: Navigation, Suche


Installationsbootloader

Installationsbootloader sind Bootmanager, deren Schwerpunkt auf dem Booten eines Installationssystems liegt. Das heisst jedoch nicht, daß man diese Bootmanager nicht ebensogut anstelle der normalen Bootmanager nutzen kann. Dabei sollte man jedoch beachten, daß die Einrichtung dieser Art Bootmanager allerdings etwas komplexer ist als die der normalerweise in Linux- oder BSD-Systemen zum Zuge kommenden Bootmanager GRUB, LILO oder LoadLin.

Inhaltsverzeichnis

Die SYSLINUX Bootmanagersuite

Die SYSLINUX Bootmanagersuite von H.Peter Anvin besteht aus mehreren Bootmanagern, die zu verschiedenen Einsatzzwecken gedacht sind. Namensgebend ist dabei der ursprüngiche Bootmanager SYSLINUX aus dem die anderen Teile der Suite später abgeleitet wurden.

SYSLINUX

Dieser Bootmanager dient zum Starten eines Systems aus einem FAT16/FAT32 Dateisystem heraus. Aufgrund der Einschränkung auf FAT16 bzw. FAT32 Dateisysteme, und da zudem auch noch die 1024 Zylindergrenze des BIOS für die Positionierung des zu ladenden Kernels beachtet werden muss, ist der Einsatz als permanenter Bootloader auf einer Festplatte für eine reguläre etreibssysteminstalation nicht anzuraten. Es eignet sich jedoch zur Nutzung für Rettungssysteme, Systemtoolnutzung oder zur Installation eines Linux-Systems oder BSD-Systems von einer bestehenden FAT16/32 Partition aus wenn keine Boot-CDs zur Verfügung stehen.

SYSLINUX Installation

Das SYSLINUX Paket, welches man von der SYSLINUX-Homepage herunterladen oder über die Paketmanagementsoftware der jeweiligen Linuxdsitribution beziehen kann, beinhaltet sowohl die Linuxversion, als auch die unter MS-DOS,Free-DOS oder MS Windows ausführbare Version.


Erstellung einer Bootdiskette

Unter Windows erstellt man mit folgendem Befehl eine Bootdiskette mit SYSLINUX als Bootmanager, nachdem man einen Linux oder BSD Kernel auf die Diskette kopiert hat:

syslinux [-s] a:
In einer WIndows 95/98/ME DOS-Box kann eventuell der Aufruf
lock a:
(oder b: oder wie auch immer das gerade gewünschte Diskettenlaufwerk heisst) notwendig sein, um auf die Diskette die benötigten Bootloaderinformationen schreiben zu können. Unter einer Windows NT/2000/XP/2003 DOS-Box aufgerufen wird vermutlich ein Dialog auftauchen, der eine Meldung über einen nicht-exklusiven Hardwarezugriff mokiert, den man aber getrost ignorieren kann, da es normalerweise dennoch funktioniert. Unter Linux wird der Befehl
 syslinux [-s] [-o offset] /dev/fd0
(oder eben mit dem entsprechenden gewünschten Device) dazu genutzt. Damit wird auch hier der Bootsektor der Diskette geändert und eine Datei namens LDLINUX.SYS in das Hauptverzeichnis der Diskette gelegt.


SYSLINUX auf eine Festplatte mit einer Partition im FAT16/FAT32 Dateisystemformat installieren

Äquivalent zu der Bootdiskettenerstellung geht die Installation auf eine Festplatte ebenso, man sollte jedoch den ursprüngichen Bootloader bzw. den Masterboot Record besser vorher sichern. Wie ein MBR gesichert wird, steht in der hier im Wiki vorhandenen Anleitung zum Umgang mit Grub.

Per Default wird mit dieser Diskette dann der unter dem Namen LINUX (selbst wenn es ein BSD-Kernel sein sollte) auf der Diskette abgelegte Kernel geladen.

Sofern die -s Option genutzt wurde, wird ein sicherer Modus von SYSLINUX auf die Diskette geschrieben, der auch mit älteren, feherhaften BIOS-Implementationen lauffähig sein sollte. Die -o Option dient zum Festlegen des Offsets für Diskettenimagenutzung ab dem das eigentliche Dateisystem im Image anfängt.

Wenn beim Booten die Alt-Taste oder eine der Shift-Tasten gedrückt gehalten wird oder CAPS-Lock bzw. SCROLl-Lock(auch als «Rollen» Taste bekannt) aktiviert war, liefert SYSLINUX einen LILO-ähnlichen Bootprompt an dem ein Kernelname und weitere Parameter eingegeben werden können. SYSLINUX benötigt zum booten eines reinen Kernels ohen weitere Parameter keine Konfiguration sofern der Kernel im Hauptverzeichnis der Diskette liegt. Da jedoch heute ein reiner Kernel ohne initrd meist nicht zu brauchbaren Ergebnissen beim booten führt, benötigen wir natürlich eine Konfigurationsmöglichkeit die wir auf die Diskette schreiben können. Diese Konfiguration wird mit der Datei SYSLINUX.CFG realisiert, die wir im Hauptverzeichnis der Diskette / der Festplattenpartition anlegen sollten bzw. dort hineinkopieren. Die nutzbaren Optionen der Konfigurationsdatei finden sich in den folgenden Abschnitten beschrieben:

Allgemeine Konfigurationsparameter für SYSLINUX und seine Derivate

Die folgenden Parameter können für alle Varianten der SYSLINUX Bootloadersuite genutzt werden:

Parameter Funktionsweisenerklärung
DEFAULT <Kernel> <Optionen> Setzt die Grundeinstellung der Kommandozeile. Wenn SYSLINUX automatisch lädt, so wird diese Option so wirken, als hätte man den Kernel und die Optionen nach DEFAULT händig am "boot:" Prompt eingegeben, außer daß die Option auto automatisch angefügt wird, die SYSLINUX mitteilt, daß es sich um einen automatisierten Bootvorgang handelt. Sofern keine Konfigurationsdatei genutzt wurde oder ein DEFAULT Eintrag in dieser vorhanden ist, ist die Grundeinstellung der Kernel namens LINUX ohne zusätziche Optionen.
APPEND <Optionen> Hinzufügen einer oder mehrerer Kerneloptionen. Diese werden sowohl für automatische Bootvorgänge als auch manuelle eingetragen. Die Optionen werden geich zu Anfang der Kernel Kommandozeile eingefügt, normalerweise ist das explizite manuelle Übergehen durch Eingabe anderer Werte für die Kerneloptionen dennoch machbar. Dieser Eintrag entspricht der LILO "append" Option.
LABEL <Label>
KERNEL <Kernelimage>
APPEND <Optionen>
Sobald Label als zu ladender kernel am Bootprompt eingegeben wird, lädt SYSLINUX den Kernel Kernelimage statt dem Standardkernel und die unter APPEND eingetragenen Optionen werden statt der vorher im gobalen Abschnitt definierten genutzt. (Der globae Abschnitt ist derjenige, der vor dem ersten mit LABEL gekennzeichneten Abschnitt steht.)

Die Grundeinstellung für "Kernelimage" ist identisch mit der Label-Einstellung, und sofern keine APPEND-Optionen angegeben sind, wird die globale APPEND-Einstellung genutzt(sofern vorhanden). Bis zu maximal 128 LABEL Einträge können genutzt werden. (ISOLINUX hat ein Maximum von 64 LABEL Einträgen als Obergrenze.) Zu beachten ist, daß LILO folgende Syntax nutzt:

image = <meinkernel>
label = <meinlabel>
append = "<meineoptionen>"

wohingegen SYSLINUX diese Syntax nutzt:

label <meinlabel>
kernel <meinkernel>
append <meinoptions>

Hinweise: Labels werden behandelt als wären sie Dateinamen und müssen gemäß DOS-Dateisystemspezifikation unterschieden werden können. Die beiden Beispiel-Labels "v2.1.30" und "v2.1.31" wären unter SYSLINUX nicht auseinanderzuhalten, da beide auf denselben DOS-Dateinamen umgesetzt werden würden. Der Kernel muss kein Linuxkernel sein, sondern darf ebensogut ein BSD-Kernel, ein Bootsektorimage oder eine COMBOOT-Datei sein.

APPEND - Mit dem Minuszeichen als APPEND-Option wird der gloable Eintrag für APPEND' kompett umgangen und keine Option stattdessen gesetzt, er dient quasi als "Parameterleerungsoption".
IMPLICIT <flag_val> Wenn flag_val den Wert 0 hat, dann wird kein Kernelimage geladen das nicht explizit in einem LABEL-Abschnitt genannt wurde. Die Grundeinstelung für flag_val ist 1.
ALLOWOPTIONS <flag_val> Wenn flag_val den Wert 0 hat, dann werden jegliche Optionen die der Benutzer im Bootprompt eingibt ignoriert. Die Grundeinstellung für flag_val ist 1.
TIMEOUT <timeout> Countdown für Eingaben am Bootprompt bis zum automatischen Bootvorgang in 1/10 Sekunden. Der Countdown wird abgebrochen sobald der Benutzer eine Taste drückt, da dann davon ausgegangen wird, daß der Benutzer die somit bereits angefangene Kommandozeileneingabe komplettieren will. Ein timeout-Wert von 0 deaktiviert den automatischen Countdown gänzlich, dies ist auch die Grundeinstellung.

Hinweis: Der maximale timeout-Wert beträgt 35996. Dies wäre dann eine Stunde abzüglich einer Zehntelsekunde.

ONTIMEOUT <Kernel> <Optionen> Setzt die nach dem Ablauf des Countdowns genutzten Kommandozeilenparameter. Normalerweise ist dies mit dem DEFAULT-Eintrag identisch. Wenn diese Option genutzt wurde, wird DEFAULT nur noch genutzt sofern der Benutzer den Bootvorgang mit einem simplen Druck auf die Enter-Taste aktiviert.
ONERROR <Kernel> <Optionen...> Falls ein Kernelimage unzugänglich ist (entweder weil es nicht vorhanden ist, oder weil IMPLICIT gesetzt wurde), wird das als Parameter angegebene Kommando ausgeführt. Die fehlerhafte Kommandozeile wird an das vorgegebene Kommando angehangen, so daß, wenn als ONERROR Eintrag folgendes definiert wurde:

ONERROR xyzabc plugh ... und die vom benutzer eingegebene Kommandozeile folgendermaßen aussieht: foo bar peng ... SYSLINUX folgendes ausführen würde: xyzabc plugh foo bar peng

SERIAL <Port> [Baudrate [Flußkontrolle]] Aktiviert die Konsolenausgabe auf einem seriellen Port. Port ist eine numerische Angabe (0 = /dev/ttyS0 = COM1, 1 = /dev/ttyS1 = COm2, etc.). Falls die Baudrate nicht angegeben wurde wird die Baudrate auf die Grundeinstellung 9600 bps gesetzt. Die seriellen Schnittstellenparameter sind fest einprogrammiert als 8 Datenbits, keine Parität, 1 Stoppbit(=8N1).
"Flußkontrolle" ist eine Kombination folgender Bits:
0x001 - Setze DTR
0x002 - Setze RTS
0x010 - Warte auf gesetztes CTS
0x020 - Warte auf gesetztes DSR
0x040 - Warte auf gesetztes RI
0x080 - Warte auf gesetztes DCD
0x100 - Ignoriere Dateneingang bis CTS gesetzt wurde
0x200 - Ignoriere Dateneingang bis DSR gesetzt wurde
0x400 - Ignoriere Dateneingang bis RI gesetzt wurde
0x800 - Ignoriere Dateneingang bis DCD gesetzt wurde

Um sicherzustellen daß dieser Parameter ordnungsgemäß funktioniert, sollte er als erstes in der Konfigurationsdatei gesetzt werden.

CONSOLE <flag_val> Wenn flag_val den Wert 0 hat ist die normale Ausgabe auf die Grafikkarte(=lokale Konsole) abgeschaltet. Wenn flag_val den Wert 1 hat, dann ist die Ausgabe auf die lokale Konsole aktiviert (dies ist die Grundeinstellung). Einige BIOS-Implementationen versuchen diese Videoausgabe der Grafikkarte auf die serielle Konsole parallel auszugeben und verursachen damit ein unverwertbares Ausgabechaos, deswegen kann man mit dieser Option die Videoausgabe der lokalen Konsole auf solchen Systemen deaktivieren.
FONT <Dateiname> Lädt eine Schriftart im .psf Format vor Ausgaben irgendeiner Art (bis auf die Copyright Zeile, die ausgegeben wird von ldlinux.sys selbst sofern dieses geaden wird). SYSLINUX lädt nur den Schriftart in die Grafikkarte, falls die .psf Datei eine Unicode-Tabelle enthät wird diese ignoriert. Dies funktioniert nur auf EGA und VGA-Karten. Systeme mit anderen Grafikkarten sollten davon nicht irritiert werden und die Option einfach ignorieren.
KBDMAP <keymap> Installiert eine simple Keyboard map. Der Keyboard Remapper der hier zum Einsatz kommt, ist recht einfach gehalten (er setzt einfach die erhaltenen Tastaturcodes vom BIOS um, was bedeutet, daß nur die Tastenkombinationen des BIOS-Defaulttastaturlayouts -- normalerweise U.S. Englisch -- umgesetzt werden können) aber es sollte zumindest den Leuten mit QWERTZ(=z.B. deutsche Tastaturlayouts) oder AZERTY(=z.B. französische Tastaturlayouts)Tastaturen beim auffinden von = und , helfen, zwei Sonderzeichen die bei der Linux-Kernelparametereingabe oft benötigt werden.

Das Perlprogram keytab-lilo.pl aus dem LILO Distributionspaket kann dazu genutzt werden solche Keyboard Maps zu generieren. Die Datei keytab-lilo.doc enthält die Dokumentation dieses kleinen Perlprogramms.

DISPLAY <Dateiname> Zeigt die angegebene Datei zum Bootzeitpunkt an bevor der Bootprompt erscheint. Siehe dazu auch die Optionen zur Anzeige von Dateien weiter unten.

Hinweis: Falls die angegebene Datei fehlt, wird die Option schlichtweg ignoriert.

SAY <Nachricht> Gibt die Nachricht auf dem Bidschirm aus..
PROMPT <flag_val> Sofern flag_val den Wert 0 hat, wird der "boot:"-Prompt nur angezeigt sofern beim Bootvorgang die Alt-Taste oder eine der Shift-Tasten gedrückt wurde bzw. CAPS-Lock oder SCROLL-Lock aktiviert war (dies ist die Grundeinstellung und für Auswahlmenüs optisch meist schöner). Wenn flag_val jedoch den Wert 1 hat, so wird der "boot:"-Prompt immer angezeigt.
NOESCAPE <flag_val> Wenn der Wert von flag_val auf 1 gesetzt wird, so werden beim Bootvorgang gedrückte Shift- oder Alt-Tasten sowie aktivierte CAPS-Loc oder SCROLL-Lock Tasten ignoriert. Dies kann in Kombination mit dem Parameter PROMPT 0 genutzt werden um die Nutzung der DEFAULT Boot-Einstellung zu erzwingen.
F1 <Dateiname1>
F2 <Dateiname2>
...etc...
F9 <Dateiname9>
F10 <Dateiname10>
Mit Hilfe dieser Parameter kann der Inhalt der Dateien abhängig vom Druck auf eine der Funktionstasten im Bootmenü/dem Bootauswahlbildschirm angezeigt werden. Dies kann z.B. für Hilfsanzeigen oder Erklärungen zu den einzelnen Auswahloptionen genutzt werden. Aus Gründen der Abwärtskompatibilität zu älteren SYSLINUX/ EXTINUX/ ISOLINUX/ PXELINUX Versionen kann die F10 Taste auch als F0 angegeben werden. Dabei bleibt zu beachten, daß es keinen Weg gibt, um die F11 oder die F12 Taste zu diesen Zwecken zu nutzen da deren Keycodes vom BIOS nicht schon zu diesem Zeitpunkt einfach auswertbar durchgereicht werden.

Falls die serielle Konsole genutzt wird, kann die Tastenkombination <STRG-F><Zahl> genutzt werden um die F1 bis F9 Tastendrücke zu simulieren. Die F10 Taste wird dann mit Hilfe von <STRG-F><0> simuilert.

In der Konfigurationsdatei werden Leerzeilen oder Zeilen, die mit dem She/Sharp/Hash Zeichen (also #) anfangen, ignoriert.

Dies sind noch nicht alle Konfigurationsoptionen, aber diejenigen, die eigentlich in jedem SYSLINUX-Release einheitlich funktionsfähig sein sollten. Andere Optionen aus früheren Versionen können noch funktionieren, können allerdings auch schon geändert worden sein gegenüber dem früheren Verhalten dieser Optionen. Genauere Informationen dazu findet man in der Dokumentation des jeweiligen SYSLINUX-releases oder in der SYSLINUX Mailingliste bzw. deren Archiven, die über die Projekthomepage zu erreichen ist.

Das DISPLAY Dateiformat/ Die Steuercodes in der DISPLAY Datei

Die DISPLAY Datei und die Funktionstastenhilfedateien sind Textdateien, die wahlweise im DOS oder UNIX Textformat (also wahlweise mit oder ohne <CR> Steuercode zum Zeilenumbruch/neuen Zeilenanfang) vorliegen können. Desweiteren werden folgende Steuercodes interpretiert:


Steuercode Tastencode ASCII-Code Funktionsweisenerklärung
<FF> <Ctrl-L> ASCII 12 Löscht den Bildschirm,setzt den Cursor in die obere linke Ecke und füllt den Bildschirm mit der aktuell gesetzten Farbe.
<SI><bg><fg> <Ctrl-O> ASCII 15 Setzt die Bildschirmfarben auf die angegebenen Werte für die Vordergrund und Hintergrund Farbwerte, wobei <bg> und <fg> Hexadezimalwerte sind, die den Standard PC Konsolenfarbwerten entsprechen.

Farbwertliste:

0 = Schwarz
1 = Dunkelblau
2 = Dunkelgrün
3 = Dunkelcyan
4 = Dunkelrot
5 = Dunkellila
6 = Braun
7 = Hellgrau
8 = Dunkelgrau
9 = Hellgrau
a = Hellgrün
b = Hellcyan
c = Hellrot
d = Hellila
e = Gelb
f = Weiß

Wenn man einen hellen Hintergrundfarbton auswählt wird automatisch das dunkle Vordergrundpendant mit einem Blinkattribut versehen ausgewählt.

Farbwerte sind über die serielle Konsole genutzt ohne Auswirkung.

<CAN> filename <newline> <Ctrl-X> ASCII 24 Sofern eine VGA-Grafikkarte vorhanden, ist wird der Grafikmodus aktiviert und die Grafik in der angegebenen Datei wird angezeigt. Das Dateiformat ist das sogenannte LSS16 Format. das mitgelieferte Perlprogramm "ppmtolss16" kann Grafikdateien von ppm Format(welche man z.B. über TheGIMP erzeugen kann oder auch mit anderen Konvertierungstools aus z.B. einem JPEG-File machen kann) in das LSS16 Format konvertieren. Dieses Perlprogramm beinhaltet auch die generische Dateiformatspezifikationen für das LSS16 Format im Quellcode bzw. seiner Dokumentation.

Die Grafik wird im 640x480 Punkte/16-Farbmodus angezeigt. Einmal in den Grafikmodus gewechselt agieren die oben erwähnten mit <SI> zu setzenden Farboces anders als bisher: Die Hintergrundfarbe wird ignoriert und die Vordergrundfarben sind die 16 Farben aus der Farbpalette der Grafikdatei.Deshalb kann mit "ppmtolss16" auch ein Farbindex genauer spezifiziert werden, d.h. festlegen welche Farbe welchen exakten numerischen Stellenwert im Index hat und welche Farben defintiv drin auftauchen müssen.

Die Farbindizes/Stellenwerte in der Farbpalette 0 und 7 im speziellen sollten dabei nur vorsichtig modifiziert werden: 0 ist die Hintergrundfarbe und 7 ist die Vordergrundfarbe die SYSLINUX selbst zur Textausgabe nutzt.

<EM> <Ctrl-Y> ASCII 25 Sofern der Grafikmodus aktiviert war, wird hiermit auf den Textmodus zurückgeschaltet.
<DLE>.. ..<ETB> <Ctrl-P>.. ..<Ctrl-W> ASCII 16-23 Mit Hilfe dieser Steuercodes kann festgeegt werden, in welchem Modus definierte Teile einer DISPLAY- oder Hilfstextdatei ausgegeben werden. Jeder dieser Steuercodes nutzt dabei zur Ausgabe eine spezielle Kombination der Ausgabemodi in denen die Ausgabe dann erfolgen soll(Textmodus, Grafikmodus, Serieller Konsolenmodus):
Steuercode Text Modus Grafik Modus Serieller Modus
<DLE> = <Ctrl-P> = ASCII 16 Nein Nein Nein
<DC1> = <Ctrl-Q> = ASCII 17 Ja Nein Nein
<DC2> = <Ctrl-R> = ASCII 18 Nein Ja Nein
<DC3> = <Ctrl-S> = ASCII 19 Ja Ja Nein
<DC4> = <Ctrl-T> = ASCII 20 Nein Nein Ja
<NAK> = <Ctrl-U> = ASCII 21 Ja Nein Ja
<SYN> = <Ctrl-V> = ASCII 22 Nein Ja Ja
<ETB> = <Ctrl-W> = ASCII 23 Ja Ja Ja

Beispiel:

<DC1>Textmodus<DC2>Grafikmodus<DC4>Serielle Ausgabe<ETB>

... würde ausgeben in welchem Modus sich die Kosnole gerade befindet!

<SUB> <Ctrl-Z> ASCII 26 EOF(=End of File), das Standardsteuerzeichen für Dateiende gemäß DOS Konvention.
<BEL> <Ctrl-G> ASCII 7 Verursacht ein Piepen des eingebauten PC-Lautsprechers, das ASCII-Steuerzeichen für die sogenannte SYSTEMBELL.

SYSLINUX spezifische Parameter und Besonderheiten

SYSLINUX Beispielkonfiguration

ISOLINUX

Dieser Bootmanager dient zum Starten eines Systems von einem ISO9660 Dateisystem (also einer CD oder DVD bzw. entsprechendem ISO-Image) ausgehend. Es ist mitterweile der am häufigsten genutzte Bootloader für Installationsmedien aus dem Linux Umfeld und im Bereich Service+Rescuetools.

ISOLINUX Installation

ISOLINUX spezifische Parameter und Besonderheiten

ISOLINUX Beispielkonfiguration

EXTLINUX

Dieser Bootmanager dient zum Starten eines Systems aus einem extended2 oder extended3 Dateisystem, auch mit Journaling, heraus.

EXTLINUX Installation

EXTLINUX spezifische Parameter und Besonderheiten

EXTLINUX Beispielkonfiguration

PXELINUX

Dieser Bootmanager dient zum Starten eines Systems, welches per PXE(=Preboot Execution Environment) Netzwerkboot, also ohne sonstige Bootmedien geladen wird. Ein PXE-Stack (sprich: der grundsätzliche, netzwerkbootfähige Netzwerkkartentreiber) ist heutzutage auf nahezu jedem Mainboard mit integrierter Netzwerkkarte im BIOS fest integriert, kann aber auch nötigenfalls von einer Bootdiskette oder einem Image einer solchen nachgeladen werden.

PXELINUX Installation

PXELINUX spezifische Parameter und Besonderheiten

PXELINUX Beispielkonfiguration

Zusätzliche Module der SYSLINUX-Bootmanagersuite

Die SYSLINUX-Bootmanagersuite bringt zur Gestaltung komfortabler Bootmenüs und zum vereinfachten Starten gänzlich anderer Bootmanager, einzelner Programme oder ganzer Bootmedien noch weitere Module mit.

chain.c32

Dieses Modul dient als Kernelersatz zum sogenannten Chainbooting eines anderen bereits auf dem System vorhandenen Betriebssystems.

chain.c32 spezifische Parameter und Besonderheiten
chain.c32 Beispielkonfiguration

memdisk

Mit diesem Modul können Disketten oder Harddiskimages ähnlich wie mit dem chain.c32 Modul nachgeladen werden.

memdisk spezifische Parameter und Besonderheiten
memdisk Beispielkonfiguration

COMBOOT und COM32

Diese beiden Module dienen dem direkten Ausführen von Programmen im 16 Bit DOS .com Format bzw. dem 32 Bit Nachfolgeformat, welches unter DOS nicht mehr direkt ausführbar wäre. Beispielnutzung für die COM32 Dateiformatnutzung sind die Menüsysteme, die die SYSLINUX Bootloadersuite mitliefert.

COMBOOT und COM32 spezifische Parameter und Besonderheiten
COMBOOT und COM32 Beispielkonfiguration

menu.c32

Dieses Modul dient dem Aufbau einer textbasierten, simplen Menüstruktur, wahlweise als reines Kommandozeilenmenü oder mit einfachen Auswahlboxen. Dazu wird als Kernel menu.c32 angegeben, welches natürlich im selben Verzeichnis liegen sollte wie die Konfigurationsdatei des verwendeten Bootloaders oder man muss den Pfad zu dieser Datei mitangeben. Eine kleine Grafik kann ebenso eingebunden werden. Alternativ existiert auch ein erweitertes Menüsystem, weches dann jedoch selbst aus einem entsprechendem C Quellcode kompiliert werden muss. Dazu kann man die im SYSLINUX Paket mitgelieferte Beispiel als Ausgangsbasis verwenden, was im Rahmen dieses Artikels nun aber wohl doch den rahmen sprengen dürfte ;-)

menu.c32 spezifische Parameter und Besonderheiten
menu.c32 Beispielkonfiguration

vesamenu.c32

Dies ist der grafiklastige Nachfolger des für textbasierte Menüstrukturen gedachten menu.c32 Moduls. Dieses Modul ist noch sehr jung innerhalb der SYSLINUX Bootloadersuite und unterstützt VESA-konforme Grafiken als Hintergrund für die Auswahlmenüs und passend dazu farbige, im Grafikmodus generierte Menütexte. Leider ist das Modul noch dermaßen neu in der Bootoadersuite, daß die Dokumentation dazu zur Zeit noch hauptsächich über die Mailingliste zusammenzusuchen ist, da sich einige Optionen noch etwas häufiger zu ändern scheinen.

vesamenu.c32 spezifische Parameter und Besonderheiten
vesamenu.c32 Beispielkonfiguration

Netzwerkboot mit anderen Bootloadern

PXELINUX ist natürlich nicht die einzige Variante mit der ein Netzwerkboot realisierbar ist. Die beiden noch gängigen Bootoader für Netzwerkboots sind PXEGRUB und das Etherboot .nbi Bootloaderformat.

PXEGRUB

PXEGRUB ist eine spezielle Erweiterung des GRUB, mit der auch über den PXE-Stack gebootet werden kann. Ältere BSD-Varianten und Solaris/OpenSOLARIS nutzen PXEGRUB per Default zur Installation über das lokale Netzwerk.

PXEGRUB spezifische Parameter

Etherboot

Normalerweise wird mit dem .nbi Format eher selten eine Installation eines Betriebssystems initialisiert sondern eher eine Versorgung von Thinclients mit den zu nutzenden Betriebsystemen realisiert, die ihr Betriebsystem ja nicht instalieren, sondern einfach nur booten um es dann normal zu nutzen.

Etherboot konforme Konfiguration

Quellen und Anwendungsbeispiele

Homepages der Projekte der Bootloader:

SYSLINUX-Homepage

Etherboot Wiki

GRUB Homepage, PXEGRUB scheint allerdings ein Auslaufmodel zu sein, da in GRUB2 wohl laut FAQ auf der Projekthomepage ein Etherboot kompatibles System integriert werden soll statt einem PXE-Bootloader.


ISOLINUX anwendende Projekte:

Nahezu jede Linux Distribution


PXELINUX anwendende Projekte:

Die MosNis Sektion in diesem Wiki nutzt auch PXEGRUB]]

MosNis Projektportal

Das OpenMOSIX Clusterprojekt

Clusterknoppix


Etherboot anwendende Projekte:

Das LinuxTerminalServer Projekt, primär Etherboot nutzend, nutzt aber auch PXE

Nützliche Links zu Netzwerkboottools:

ROM-o-maticGenerierung von ROM-Images und Diskettenimages zum PXE oder .nbi booten

--TomcatMJ 01:09, 6. Nov 2006 (CET)