Syslinux: Unterschied zwischen den Versionen

Aus wiki.archlinux.de
Dongiovanni (Diskussion | Beiträge)
Die Seite wurde neu angelegt: „{{righttoc}} {{unvollständig}} Das Syslinux Projekt beinhaltet Bootloader beinhaltet Bootloader für das Dateisystem FAT (SYSLINUX), die Dateisysteme EXT2 und E…“
 
Tuxnix (Diskussion | Beiträge)
x - hinzugefügt
 
(18 dazwischenliegende Versionen von 9 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
{{righttoc}}
{{righttoc}}
{{unvollständig}}
Das Syslinux Projekt beinhaltet Bootloader für
* MS-DOS FAT Dateisysteme (SYSLINUX),
* Booten über Netzwerke (PXELINUX),
* "El Torito" CD-ROMs (ISOLINUX),
* und Linux 32bit-ext2/ext3/ext4 bzw. btrfs Dateisysteme (EXTLINUX).


Das Syslinux Projekt beinhaltet Bootloader beinhaltet Bootloader für das Dateisystem FAT (SYSLINUX), die Dateisysteme EXT2 und EXT3 (EXTLINUX), CD-ROMs (ISOLINUX) und das Booten aus dem Netzwerk (PXELINUX). Dies steht im Gegensatz zu anderen Bootloadern, die alle Funktionen in einem Programm vereinen.
SYSLINUX stellt auf Linux-Systemen eine Alternative zu GRUB und LILO dar.
EXTLINUX stellt auf regulären Linuxsystemen eine einfache Alternative zu [[GRUB]] und [[GRUB2]] dar.


==Installation==
Seit Version 4.0.2 ist SYSLINUX der allgemeinere Name für EXTLINUX und wird dementsprechend verwendet.


Syslinux wird mittels
Dieser Wiki-Eintrag beschreibt die Konfiguration und Installation des Bootloaders SYSLINUX beim Starten des Systems von Linux-Dateisystemen.
pacman -Sy syslinux
installiert.


{{Hinweis|Die nachfolgenden Schritte beziehen sich nur auf EXTLINUX}}
{{Achtung|1=Seit Syslinux 6.03 werden einige der mit Version 1.43 der e2fsprogs (17. Mai 2016) neu eingeführten Eigenschaften wie z.B. die standardmäßig aktivierte 64bit Unterstützung der ext-Dateisysteme nicht mehr unterstützt. Siehe: [http://www.syslinux.org/wiki/index.php/Filesystem] Syslinux bricht den Bootvorgang mit der Fehlermeldung 'Failed to load ldlinux.c32' ab. Soll Syslinux von einer mit ext formatierten Partition booten muss beim Formatieren dieser Partition die Option '-O \^64bit' im mkfs-Befehl mit angegeben werden. Eine nachträgliche Umwandlung in 32bit-ext ist mit 'resize2fs -s' möglich.}}
Anschließend muss der MBR (Master Boot Record) auf die Festplatte geschrieben werden, von der gestartet wird.
cat /usr/lib/syslinux/mbr.bin > /dev/sdX


Der eigentliche Bootloader wird mittels
{{installation|repo=core|paket=syslinux}}
mkdir /boot/extlinux
extlinux --install /boot/extlinux
installiert. Alle Pfadangaben in der Konfigurationsdatei beziehen sich auf das hier angegebene Verzeichnis ''/boot/extlinux''.


Um ein Menü zu erhalten, muss noch die Datei ''menu.c32'' oder ''vesamenu.c32'' in das Installationsverzeichnis kopiert werden. ''menu.c32'' stellt ein Textbasiertes Menu bereit, wohingegen ''vesamenu.c32'' ein grafisches bereitstellt.
Bitte folgende Ausgabe beachten:
  ==> If you want to use syslinux as your bootloader
  ==> edit /boot/syslinux/syslinux.cfg and run
  ==> # /usr/sbin/syslinux-install_update -i -a -m
  ==> to install it.


==Konfiguration==
===Konfiguration===
Die Konfigurationsdatei {{ic|/boot/syslinux/syslinux.cfg}} ist selbsterklärend und bereits an den Arch Linux-Kernel angepasst.


Die Konfigurationsdatei von EXTLINUX heißt extlinux.conf und muss sich im Verzeichnis befinden, dass bei der Installation angebeben wurde.
Bitte die Angabe {{ic|APPEND root{{=}}/dev/sda3 rw}} prüfen und entsprechend anpassen!


'''Beispieldatei:'''
====syslinux.cfg====


default menu.c32
  # boot sections follow
prompt 0
 
menu title Arch Linux
  LABEL arch
timeout 600
    MENU LABEL Arch Linux
    LINUX ../vmlinuz-linux
label arch
    APPEND root=/dev/sda3 rw
  menu label Arch Linux
    INITRD ../initramfs-linux.img
  kernel ../vmlinuz26
 
  append initrd=kernel26.img ro root=/dev/sda2
   LABEL archfallback
    MENU LABEL Arch Linux Fallback
label fallback
    LINUX ../vmlinuz-linux
   menu label Arch Linux (Fallback)
    APPEND root=/dev/sda3 rw
  kernel ../vmlinuz26
    INITRD ../initramfs-linux-fallback.img
  append initrd=kernel26.img ro root=/dev/sda2


==Todo==
Eintrag per Partitionsbezeichnungen(Label)<br>
Im Beispiel ist die Rootpartition als p_arch bezeichnet worden.
  LABEL arch
    MENU LABEL Arch Linux
    LINUX ../vmlinuz-linux
    APPEND root=LABEL=p_arch rw
    INITRD ../initramfs-linux.img
 
  LABEL archfallback
    MENU LABEL Arch Linux Fallback
    LINUX ../vmlinuz-linux
    APPEND root=LABEL=p_arch rw
    INITRD ../initramfs-linux-fallback.img


* Konfiguration detailreicher
Verwendet man ein [https://wiki.archlinux.de/title/Festplatte_verschl%C3%BCsseln#Verschl.C3.BCsselte_LVM_Partition.28Variante_1.29 verschlüsseltes LVM], legt man
* SYSLINUX, usw. ...
die {{ic|APPEND}} Zeile nach diesem Schema an:
APPEND cryptdevice=/dev/sda2:main root=/dev/mapper/main-root ro


==Siehe auch==
===Installation===


* [[GRUB]]
Dank dem Arch Linux-User Matthew Gyurgyik gibt es das Script {{ic|syslinux-install_update}}, welches speziell für Arch Linux erstellt wurde.
* [[GRUB2]]
 
'''Für MBR-Partitionstabelle:'''
 
Damit werden alle zusätzlichen Dateien nach {{ic|/boot/syslinux}} kopiert und der Bootloader in den MBR geschrieben. Bitte als root ausführen, nachdem die Konfiguration durchgeführt wurde.
  # syslinux-install_update -i -a -m
 
'''Für GPT-Partitionstabelle:'''
 
Das Bootflag für die Bootpartition muß gesetzt werden.
Wird keine separate Bootpartition benutzt so muß für die Rootpartition das Bootflag gesetzt werden.
Syslinux kann das Bootflag nur mit der GPT-Unterstützung setzen.
Die GPT-Unterstützung geschieht durch das Paket ''gptfdisk'' das zuvor installiert sein muß.
  # pacman -S gptfdisk
MBR schreiben:
  # syslinux-install_update -iam
 
Alternative Möglichkeit um auch nachträglich das Bootflag zu setzen:<br>
 
Attribute ändern, Partitionsnummer eingeben, in diesem Beispiel für /dev/sda1, legacy-BIOS bootable auswählen:
# gdisk /dev/sda
* x
* a
* 1
* 2
* enter
* w - Partitionstabelle schreiben
* y - bestätigen
 
MBR auf /dev/sda schreiben
  # syslinux-install_update -im
 
==Deinstallation==
 
  # pacman -Rscn syslinux
 
Allerdings wird die Datei {{ic|/boot/syslinux/ldlinux.sys}} dabei nicht gelöscht. Hier hilft nur ein
 
  # chattr -i /boot/syslinux/ldlinux.sys
  # rm /boot/syslinux/ldlinux.sys


==Weblinks==
==Weblinks==
* [http://syslinux.zytor.com/wiki/index.php/The_Syslinux_Project Syslinux Hompage] {{Sprache|en}}
* [http://syslinux.zytor.com/wiki/index.php/The_Syslinux_Project Syslinux Hompage] {{Sprache|en}}


[[Kategorie:Bootloader]]
[[Kategorie:Bootloader]]
[[en:Syslinux]]

Aktuelle Version vom 18. Februar 2021, 14:37 Uhr

Das Syslinux Projekt beinhaltet Bootloader für

  • MS-DOS FAT Dateisysteme (SYSLINUX),
  • Booten über Netzwerke (PXELINUX),
  • "El Torito" CD-ROMs (ISOLINUX),
  • und Linux 32bit-ext2/ext3/ext4 bzw. btrfs Dateisysteme (EXTLINUX).

SYSLINUX stellt auf Linux-Systemen eine Alternative zu GRUB und LILO dar.

Seit Version 4.0.2 ist SYSLINUX der allgemeinere Name für EXTLINUX und wird dementsprechend verwendet.

Dieser Wiki-Eintrag beschreibt die Konfiguration und Installation des Bootloaders SYSLINUX beim Starten des Systems von Linux-Dateisystemen.

Achtung: Seit Syslinux 6.03 werden einige der mit Version 1.43 der e2fsprogs (17. Mai 2016) neu eingeführten Eigenschaften wie z.B. die standardmäßig aktivierte 64bit Unterstützung der ext-Dateisysteme nicht mehr unterstützt. Siehe: [1] Syslinux bricht den Bootvorgang mit der Fehlermeldung 'Failed to load ldlinux.c32' ab. Soll Syslinux von einer mit ext formatierten Partition booten muss beim Formatieren dieser Partition die Option '-O \^64bit' im mkfs-Befehl mit angegeben werden. Eine nachträgliche Umwandlung in 32bit-ext ist mit 'resize2fs -s' möglich.


Installation

Das Programm ist als syslinux in core verfügbar, und kann von dort mittels Pacman installiert werden.

pacman -S syslinux

Bitte folgende Ausgabe beachten:

 ==> If you want to use syslinux as your bootloader
 ==> edit /boot/syslinux/syslinux.cfg and run
 ==> # /usr/sbin/syslinux-install_update -i -a -m
 ==> to install it.

Konfiguration

Die Konfigurationsdatei /boot/syslinux/syslinux.cfg ist selbsterklärend und bereits an den Arch Linux-Kernel angepasst.

Bitte die Angabe APPEND root=/dev/sda3 rw prüfen und entsprechend anpassen!

syslinux.cfg

 # boot sections follow
 
 LABEL arch
   MENU LABEL Arch Linux
   LINUX ../vmlinuz-linux
   APPEND root=/dev/sda3 rw
   INITRD ../initramfs-linux.img
 
 LABEL archfallback
   MENU LABEL Arch Linux Fallback
   LINUX ../vmlinuz-linux
   APPEND root=/dev/sda3 rw
   INITRD ../initramfs-linux-fallback.img

Eintrag per Partitionsbezeichnungen(Label)
Im Beispiel ist die Rootpartition als p_arch bezeichnet worden.

 LABEL arch
   MENU LABEL Arch Linux
   LINUX ../vmlinuz-linux
   APPEND root=LABEL=p_arch rw
   INITRD ../initramfs-linux.img
 
 LABEL archfallback
   MENU LABEL Arch Linux Fallback
   LINUX ../vmlinuz-linux
   APPEND root=LABEL=p_arch rw
   INITRD ../initramfs-linux-fallback.img

Verwendet man ein verschlüsseltes LVM, legt man die APPEND Zeile nach diesem Schema an:

APPEND cryptdevice=/dev/sda2:main root=/dev/mapper/main-root ro

Installation

Dank dem Arch Linux-User Matthew Gyurgyik gibt es das Script syslinux-install_update, welches speziell für Arch Linux erstellt wurde.

Für MBR-Partitionstabelle:

Damit werden alle zusätzlichen Dateien nach /boot/syslinux kopiert und der Bootloader in den MBR geschrieben. Bitte als root ausführen, nachdem die Konfiguration durchgeführt wurde.

 # syslinux-install_update -i -a -m

Für GPT-Partitionstabelle:

Das Bootflag für die Bootpartition muß gesetzt werden. Wird keine separate Bootpartition benutzt so muß für die Rootpartition das Bootflag gesetzt werden. Syslinux kann das Bootflag nur mit der GPT-Unterstützung setzen. Die GPT-Unterstützung geschieht durch das Paket gptfdisk das zuvor installiert sein muß.

 # pacman -S gptfdisk

MBR schreiben:

 # syslinux-install_update -iam

Alternative Möglichkeit um auch nachträglich das Bootflag zu setzen:

Attribute ändern, Partitionsnummer eingeben, in diesem Beispiel für /dev/sda1, legacy-BIOS bootable auswählen:

# gdisk /dev/sda
* x
* a
* 1
* 2
* enter
* w - Partitionstabelle schreiben
* y - bestätigen

MBR auf /dev/sda schreiben

 # syslinux-install_update -im

Deinstallation

 # pacman -Rscn syslinux

Allerdings wird die Datei /boot/syslinux/ldlinux.sys dabei nicht gelöscht. Hier hilft nur ein

 # chattr -i /boot/syslinux/ldlinux.sys
 # rm /boot/syslinux/ldlinux.sys 

Weblinks