Syslinux: Unterschied zwischen den Versionen
Greg (Diskussion | Beiträge) alternative Art Bootflag setzen |
Tuxnix (Diskussion | Beiträge) x - hinzugefügt |
||
(9 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. | ||
= | {{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.}} | ||
{{installation|repo=core|paket=syslinux}} | |||
Bitte folgende Ausgabe beachten: | Bitte folgende Ausgabe beachten: | ||
Zeile 23: | Zeile 23: | ||
===Konfiguration=== | ===Konfiguration=== | ||
Die Konfigurationsdatei | Die Konfigurationsdatei {{ic|/boot/syslinux/syslinux.cfg}} ist selbsterklärend und bereits an den Arch Linux-Kernel angepasst. | ||
Bitte die Angabe | 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 | 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= | 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 | 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 | |||
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:''' | '''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. | ||
Syslinux kann das Bootflag nur mit der GPT Unterstützung setzen. | 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ß. | Die GPT-Unterstützung geschieht durch das Paket ''gptfdisk'' das zuvor installiert sein muß. | ||
# pacman -S gptfdisk | |||
MBR schreiben: | MBR schreiben: | ||
# syslinux-install_update -iam | |||
Alternative Möglichkeit um auch nachträglich das Bootflag zu setzen:<br> | 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: | |||
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 | * enter | ||
* w - Partitionstabelle schreiben | |||
* y - bestätigen | |||
MBR auf /dev/sda schreiben | 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]] | [[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.
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