Systemd-boot: Unterschied zwischen den Versionen

Aus wiki.archlinux.de
Truemmerer (Diskussion | Beiträge)
K Sprachlinks
Truemmerer (Diskussion | Beiträge)
Überarbeitung Installation I
Zeile 1: Zeile 1:
Systemd-boot ist ein schlanker EFI-Bootloader, der einfach zu konfigurieren ist. Er wendet das EFISTUB-Verfahren an, bei dem der Linux-Kernel als ausführbare Datei (Executable) von der EFI-Firmware des Rechners geladen wird. Dies sorgt für einen schnelleren Bootvorgang, auf mancher Hardware treten dabei allerdings Probleme auf. In diesem Fall sollte man einen anderen Bootloader wie [[GRUB]] verwenden.
{{Unvollständig}}
 
Systemd-boot (ehemals Gummiboot) ist ein schlanker EFISTUB-Bootloader, der einfach zu konfigurieren ist. Er wendet das EFISTUB-Verfahren an, bei dem der Linux-Kernel als ausführbare Datei (Executable) von der EFI-Firmware des Rechners geladen wird. Dies sorgt für einen schnelleren Bootvorgang, auf mancher Hardware treten dabei allerdings Probleme auf. In diesem Fall sollte man einen anderen Bootloader wie [[GRUB]] verwenden.


{{Hinweis|In dem Artikel wird nachfolgend {{ic|$esp}} für den Pfad der EFI-Partition verwendet und muss dann entsprechend ersetzt werden. Es empfielt sich, die EFI-Partition nach {{ic|/boot}} zu mounten.}}
{{Hinweis|In dem Artikel wird nachfolgend {{ic|$esp}} für den Pfad der EFI-Partition verwendet und muss dann entsprechend ersetzt werden. Es empfielt sich, die EFI-Partition nach {{ic|/boot}} zu mounten.}}
{{Hinweis|Damit Systemd-boot funktioniert, muss '''Secure Boot''' deaktiviert sein!}}
{{Hinweis|Damit Systemd-boot funktioniert, muss '''Secure Boot''' deaktiviert sein!}}


== Installation ==
== Installation - Vorbereitung==
Zuerst installiert man das Paket {{Paket|systemd-boot}} aus den offiziellen Paketquellen.
{{hinweis|Es ist sinnvoll, die EFI-Partition nach /boot zu mounten.}}
Anschließend müssen die Dateien auf die EFI-Partition kopiert werden. Dies wird mit dem Befehl
Zuerst installiert man die benötigten EFI Werkzeuge:
  # Systemd-boot --path=$esp install
pacman -S efibootmgr dosfstools gptfdisk
erreicht, wobei {{ic|§esp}} durch den Pfad der EFI-Partition ersetzt werden muss.
 
=== Installation ===
Zuerst den EFI-Booteintrag installieren und einrichten:
# bootctl install
 
'''Hinweis:''' Im folgenden ist '''INHALT ROOT''' zu ersetzen durch:
* LABEL=NAME-DER-ROOT-PARTITION zB. p_arch
oder
* /dev/BEZEICHNUNG-DER-ROOT-PARTIOTION /dev/sda1
und '''INHALT SWAP''' zu ersetzen durch:
* LABEL=NAME-DER-SWAP-PARTITION zB. p_swap
oder
* /dev/BEZEICHNUNG-DER-SWAP-PARTIOTION zB. /dev/sda2
 
Anschließend die Datei {{ic|/boot/loader/entries/arch-uefi.conf}} mit folgendem Inhalt erstellen:
title    Arch Linux
linux    /vmlinuz-linux
initrd  /initramfs-linux.img
options  root=INHALT rw resume=INHALT SWAP
 
Das Gleiche noch für Arch Linux fallback die Datei {{ic|/boot/loader/entries/arch-uefi-fallback.conf}} mit folgendem Inhalt erstellen:
  title    Arch Linux Fallback
linux    /vmlinuz-linux
initrd  /initramfs-linux-fallback.img
options  root=INHALT rw resume=INAHLT SWAP
 
Nun die Datei {{ic|/boot/loader/loader.conf}} bearbeiten:
default  arch-uefi
timeout  1
Das timeout (in Sekunden) kann natürlich frei gewählt werden.


== Update ==
== Update ==

Version vom 16. Oktober 2018, 19:38 Uhr

Dieser Artikel oder Artikelabschnitt ist noch nicht vollständig!


Systemd-boot (ehemals Gummiboot) ist ein schlanker EFISTUB-Bootloader, der einfach zu konfigurieren ist. Er wendet das EFISTUB-Verfahren an, bei dem der Linux-Kernel als ausführbare Datei (Executable) von der EFI-Firmware des Rechners geladen wird. Dies sorgt für einen schnelleren Bootvorgang, auf mancher Hardware treten dabei allerdings Probleme auf. In diesem Fall sollte man einen anderen Bootloader wie GRUB verwenden.

Hinweis: In dem Artikel wird nachfolgend $esp für den Pfad der EFI-Partition verwendet und muss dann entsprechend ersetzt werden. Es empfielt sich, die EFI-Partition nach /boot zu mounten.

Hinweis: Damit Systemd-boot funktioniert, muss Secure Boot deaktiviert sein!

Installation - Vorbereitung

Hinweis: Es ist sinnvoll, die EFI-Partition nach /boot zu mounten.

Zuerst installiert man die benötigten EFI Werkzeuge:

pacman -S efibootmgr dosfstools gptfdisk

Installation

Zuerst den EFI-Booteintrag installieren und einrichten:

# bootctl install
Hinweis: Im folgenden ist INHALT ROOT zu ersetzen durch:

* LABEL=NAME-DER-ROOT-PARTITION zB. p_arch
oder
* /dev/BEZEICHNUNG-DER-ROOT-PARTIOTION /dev/sda1

und INHALT SWAP zu ersetzen durch:

* LABEL=NAME-DER-SWAP-PARTITION zB. p_swap
oder
* /dev/BEZEICHNUNG-DER-SWAP-PARTIOTION zB. /dev/sda2

Anschließend die Datei /boot/loader/entries/arch-uefi.conf mit folgendem Inhalt erstellen:

title    Arch Linux
linux    /vmlinuz-linux
initrd   /initramfs-linux.img
options  root=INHALT rw resume=INHALT SWAP

Das Gleiche noch für Arch Linux fallback die Datei /boot/loader/entries/arch-uefi-fallback.conf mit folgendem Inhalt erstellen:

title    Arch Linux Fallback
linux    /vmlinuz-linux
initrd   /initramfs-linux-fallback.img
options  root=INHALT rw resume=INAHLT SWAP

Nun die Datei /boot/loader/loader.conf bearbeiten:

default   arch-uefi
timeout   1

Das timeout (in Sekunden) kann natürlich frei gewählt werden.

Update

Hat man die EFI-Partition nicht nach /boot gemountet, dann muss nach jedem Update des Bootloaders durch Pacman

gummiboot --path=$esp update

ausgeführt werden.

Konfiguration

Die Konfiguration erfolgt über die Datei $esp/loader/loader.conf. Existiert sie nicht, muss man sie neu anlegen. Es gibt zwei einstellbare Optionen:

  • default der Standardeintrag. Der Name richtet sich nach der zugehörigen Datei (siehe unten) ohne die Endung .conf.
  • timeout die Zeitspanne, nach der der Standarteintrag automatisch gebootet wird. Beträgt es 0 oder existiert kein entsprechender Eintrag, wird automatisch ohne Nachfrage gebootet. In diesem Fall kommt man nur durch Drücken der Leertaste zum Auswahlmenü.

Die Datei könnte zum Beispiel so aussehen:

default    arch
timeout    0

Booteinträge hinzufügen

Damit gebootet werden kann, muss ein entsprechender Eintrag erstellt werden. Dazu legt man eine Datei mit der Endung .conf in $esp/loader/entries/ an. Folgende Angaben müssen enthalten sein:

  • title Der Name des Eintrags im Auswahlmenü
  • efi oder linux Die EFI-Datei, die ausgeführt werden soll (Pfadangabe relativ zur EFI-Partition). Standardmäßig sollte das bei Arch Linux /vmlinuz-linux sein.

Daneben können optional noch angegeben werden:

  • options Kommandozeilenparameter, die an das EFI-Programm weitergegeben werden. Hier sollten die root-Partition, sowie die swap-Partition (Eintrag resume) für hilbernate angegeben werden.
  • version Kernelversion – wird nur bei gleichen Namen angezeigt

Ein Eintrag für Arch Linux könnte zum Beispiel so aussehen:

title    Arch Linux
linux    /vmlinuz-linux
initrd   /initramfs-linux.img
options  root=/dev/sda2 rw resume=/dev/sda4

Statt den Partitionsnamen kann man auch die UUIDs angeben.