Installationsbootloader

Aus Linupedia.org
Version vom 6. November 2006, 01:33 Uhr von TomcatMJ (Diskussion | Beiträge) (SYSLINUX Installation)
Wechseln zu: Navigation, Suche
Höhe=24px
Achtung dieser Artikel ist noch in Arbeit und dient vorläufig nur als Vorlage. Dieser Beitrag zu Linux oder der Abschnitt ist in Bearbeitung. Weitere Informationen findest du hier. Der Ersteller arbeitet an dem Beitrag oder Abschnitt und entsorgt den Wartungsbaustein spätestens 3 Tage nach der letzten Bearbeitung. Änderungen außer Rechtschreibkorrekturen ohne Absprache mit dem Urspungsautor sind möglichst zu vermeiden, solange dieser Baustein noch innerhalb der genannten Frist aktiviert ist.

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

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.

  1. 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.

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

Ä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

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)