Syslinux: Unterschied zwischen den Versionen

Aus wiki.archlinux.de
Greg (Diskussion | Beiträge)
gpt und Bootflag Beschreibung hinzugefügt
Tuxnix (Diskussion | Beiträge)
x - hinzugefügt
 
(11 dazwischenliegende Versionen von 5 Benutzern werden nicht angezeigt)
Zeile 4: Zeile 4:
* Booten über Netzwerke (PXELINUX),
* Booten über Netzwerke (PXELINUX),
* "El Torito" CD-ROMs (ISOLINUX),
* "El Torito" CD-ROMs (ISOLINUX),
* und Linux ext2/ext3/ext4 bzw. btrfs Dateisysteme (EXTLINUX).
* und Linux 32bit-ext2/ext3/ext4 bzw. btrfs Dateisysteme (EXTLINUX).


SYSLINUX stellt auf Linux-Systemen eine Alternative zu GRUB und LILO dar.
SYSLINUX stellt auf Linux-Systemen eine Alternative zu GRUB und LILO dar.
Zeile 12: Zeile 12:
Dieser Wiki-Eintrag beschreibt die Konfiguration und Installation des Bootloaders SYSLINUX beim Starten des Systems von Linux-Dateisystemen.
Dieser Wiki-Eintrag beschreibt die Konfiguration und Installation des Bootloaders SYSLINUX beim Starten des Systems von Linux-Dateisystemen.


==Paketinstallation==
{{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.}}
Das Syslinux Paket wird mittels [[pacman]] installiert:
 
  # pacman -S syslinux
{{installation|repo=core|paket=syslinux}}


Bitte folgende Ausgabe beachten:
Bitte folgende Ausgabe beachten:
Zeile 23: Zeile 23:


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


Bitte die Angabe <code>APPEND root=/dev/sda3 ro</code> prüfen und entsprechend anpassen!
Bitte die Angabe {{ic|APPEND root{{=}}/dev/sda3 rw}} prüfen und entsprechend anpassen!


====syslinux.cfg====
====syslinux.cfg====
Zeile 34: Zeile 34:
     MENU LABEL Arch Linux
     MENU LABEL Arch Linux
     LINUX ../vmlinuz-linux
     LINUX ../vmlinuz-linux
     APPEND root=/dev/sda3 ro
     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)<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
     INITRD ../initramfs-linux.img
    
    
Zeile 40: Zeile 54:
     MENU LABEL Arch Linux Fallback
     MENU LABEL Arch Linux Fallback
     LINUX ../vmlinuz-linux
     LINUX ../vmlinuz-linux
     APPEND root=/dev/sda3 ro
     APPEND root=LABEL=p_arch rw
     INITRD ../initramfs-linux-fallback.img
     INITRD ../initramfs-linux-fallback.img


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


===Installation===
===Installation===
Dank dem Arch Linux-User Matthew Gyurgyik gibt es das Script <code>syslinux-install_update</code>, welches speziell für Arch Linux erstellt wurde. Damit werden alle zusätzlichen Dateien nach <code>/boot/syslinux</code> kopiert und der Bootloader in den MBR geschrieben. Bitte als root ausführen, nachdem die Konfiguration durchgeführt wurde.
 
Dank dem Arch Linux-User Matthew Gyurgyik gibt es das Script {{ic|syslinux-install_update}}, welches speziell für Arch Linux erstellt wurde.
 
'''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
   # syslinux-install_update -i -a -m


'''Für GPT-Partitionstabelle:'''<br>
'''Für GPT-Partitionstabelle:'''
 
Das Bootflag für die Bootpartition muß gesetzt werden.
Das Bootflag für die Bootpartition muß gesetzt werden.
Wird keine separate Bootpartition benutzt so muß für die Rootpartition das Bootflag gesetzt werden.  
Wird keine separate Bootpartition benutzt so muß für die Rootpartition das Bootflag gesetzt werden.  
Anders als bei der MSDOS-Partitionstabelle kann Syslinux das Bootflag nicht setzen.
Syslinux kann das Bootflag nur mit der GPT-Unterstützung setzen.
im folgenden Beispiel wird /dev/sda2 als "bootable" festgelegt
Die GPT-Unterstützung geschieht durch das Paket ''gptfdisk'' das zuvor installiert sein muß.
  # pacman -S gptfdisk
MBR schreiben:
  # syslinux-install_update -iam


'''Mit gdisk per Expert Command:'''
Alternative Möglichkeit um auch nachträglich das Bootflag zu setzen:<br>
gdisk /dev/sda
 
x
Attribute ändern, Partitionsnummer eingeben, in diesem Beispiel für /dev/sda1, legacy-BIOS bootable auswählen:
a
# gdisk /dev/sda
Attribute ändern, Partitionsnummer eingeben, in diesem Beispiel 2 für /dev/sda2, legacy-BIOS bootable auswählen
* x
  2
  * a
  2
* 1
  enter
  * 2
Partitionstabelle schreiben und gdisk verlassen.
  * enter
  w
* w - Partitionstabelle schreiben
MBR schreiben:
  * y - bestätigen
syslinux-install_update -im
 
MBR auf /dev/sda schreiben
  # syslinux-install_update -im


'''Mit sgdisk:'''
==Deinstallation==
Statt mit gdisk kann man auch das Programm sgdisk benutzen:
sgdisk /dev/sda --attributes=1:set:2 #Für Partition /dev/sda1
Falls /dev/sda4 die Bootpartition wäre dann wird das Bootflag wie folgt gesetzt:
sgdisk /dev/sda --attributes=4:set:2


Um die Eingabe zu überpüfen und ob wirklich die Partition richtig erkannt wurde
  # pacman -Rscn syslinux
erfährst du hiermit.


  sgdisk /dev/sda --attributes=1:show
Allerdings wird die Datei {{ic|/boot/syslinux/ldlinux.sys}} dabei nicht gelöscht. Hier hilft nur ein
1:2:1 (legacy BIOS bootable)
MBR schreiben:
syslinux-install_update -im


  # 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}}
* [[gpt]]


[[Kategorie:Bootloader]]
[[Kategorie:Bootloader]]


[[en:Syslinux]]
[[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