Syslinux: Unterschied zwischen den Versionen

Aus wiki.archlinux.de
(→‎syslinux.cfg: syslinux.cfg per Labels eingetragen)
(x - hinzugefügt)
 
(7 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
     INITRD ../initramfs-linux.img
    
    
Zeile 40: Zeile 40:
     MENU LABEL Arch Linux Fallback
     MENU LABEL Arch Linux Fallback
     LINUX ../vmlinuz-linux
     LINUX ../vmlinuz-linux
     APPEND root=/dev/sda3 ro
     APPEND root=/dev/sda3 rw
     INITRD ../initramfs-linux-fallback.img
     INITRD ../initramfs-linux-fallback.img


Eintrag per Partitionsbezeichnungen(Label)<br>
Eintrag per Partitionsbezeichnungen(Label)<br>
Als Beispiel ist die Bootpartition als arch bezeichnet worden.
Im Beispiel ist die Rootpartition als p_arch bezeichnet worden.
   LABEL arch
   LABEL arch
     MENU LABEL Arch Linux
     MENU LABEL Arch Linux
     LINUX ../vmlinuz-linux
     LINUX ../vmlinuz-linux
     APPEND root=LABEL=arch ro
     APPEND root=LABEL=p_arch rw
     INITRD ../initramfs-linux.img
     INITRD ../initramfs-linux.img
    
    
Zeile 54: Zeile 54:
     MENU LABEL Arch Linux Fallback
     MENU LABEL Arch Linux Fallback
     LINUX ../vmlinuz-linux
     LINUX ../vmlinuz-linux
     APPEND root=LABEL=arch 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> Zeile nach diesem Schema an:
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
  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.
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:'''
'''Für MBR-Partitionstabelle:'''


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


Zeile 80: Zeile 81:


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


==Siehe auch==
==Deinstallation==
* [[gpt|GPT]]
 
  # 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==

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