Syslinux: Unterschied zwischen den Versionen

Aus wiki.archlinux.de
Keine Bearbeitungszusammenfassung
(x - hinzugefügt)
 
(17 dazwischenliegende Versionen von 8 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
{{righttoc}}
{{righttoc}}
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.


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


'''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.}}


Um EXTLINUX zu nutzen, muss ein MBR (Master Boot Record) auf die Festplatte geschrieben werden, von der gestartet wird.
{{installation|repo=core|paket=syslinux}}
cat /usr/lib/syslinux/mbr.bin > /dev/sdX


EXTLINUX wird mittels
Bitte folgende Ausgabe beachten:
mkdir /boot/extlinux
  ==> If you want to use syslinux as your bootloader
extlinux --install /boot/extlinux
  ==> edit /boot/syslinux/syslinux.cfg and run
installiert. Alle Pfadangaben in der Konfigurationsdatei beziehen sich auf das hier angegebene Verzeichnis ''/boot/extlinux''.
  ==> # /usr/sbin/syslinux-install_update -i -a -m
  ==> to install it.


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


Um SYSLINUX zu nutzen, muss ein MBR (Master Boot Record) auf die Festplatte geschrieben werden, von der gestartet wird.
Bitte die Angabe {{ic|APPEND root{{=}}/dev/sda3 rw}} prüfen und entsprechend anpassen!
cat /usr/lib/syslinux/mbr.bin > /dev/sdX


SYSLINUX wird mittels
====syslinux.cfg====
mkdir /boot/syslinux
syslinuxl /boot/syslinux
installiert. Alle Pfadangaben in der Konfigurationsdatei beziehen sich auf das hier angegebene Verzeichnis ''/boot/syslinux''.


==Konfiguration==
  # 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


Die Konfigurationsdatei von EXTLINUX heißt extlinux.conf und muss sich im Verzeichnis befinden, dass bei der Installation angebeben wurde.
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


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.
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
die {{ic|APPEND}} Zeile nach diesem Schema an:
APPEND cryptdevice=/dev/sda2:main root=/dev/mapper/main-root ro


'''Beispieldatei:'''
===Installation===


default menu.c32
Dank dem Arch Linux-User Matthew Gyurgyik gibt es das Script {{ic|syslinux-install_update}}, welches speziell für Arch Linux erstellt wurde.
prompt 0
menu title Arch Linux
timeout 600
label arch
  menu label Arch Linux
  kernel ../vmlinuz26
  append initrd=kernel26.img ro root=/dev/sda2
label fallback
  menu label Arch Linux (Fallback)
  kernel ../vmlinuz26
  append initrd=kernel26.img ro root=/dev/sda2


==Siehe auch==
'''Für MBR-Partitionstabelle:'''


* [[GRUB]]
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.
* [[GRUB2]]
  # 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