Scroll to navigation

KERNEL-INSTALL(8) kernel-install KERNEL-INSTALL(8)

BEZEICHNUNG

kernel-install - Fügt Kernel und Initramfs-Images zu /boot hinzu und entfernt sie von dort

ÜBERSICHT

kernel-install BEFEHL [OPTIONEN…] KERNEL-VERSION KERNEL-ABBILD [INITRD-DATEI…]

BESCHREIBUNG

kernel-install wird dazu verwandt, Kernel und Initramfs-Images in die Bootloader-Partition zu installieren und sie von dort wieder zu entfernen. Dies wird hier mit $BOOT referenziert. Normalerweise ist es entweder /boot/, /efi/ oder /boot/efi/, siehe unten.

kernel-install führt die im Verzeichnis /usr/lib/kernel/install.d/ und dem lokalen Administratorverzeichnis /etc/kernel/install.d/ befindlichen ausführbaren Dateien (»Erweiterungen«) aus. Alle Dateien werden gemeinsam sortiert und in lexikalischer Reihenfolge ausgeführt, unabhängig davon, in welchem Verzeichnis sie sich befinden. Allerdings ersetzen Dateien mit gleichem Dateinamen einander. Dateien in /etc/kernel/install.d/ haben gegenüber Dateien mit dem gleichen Namen in /usr/lib/kernel/install.d/ Vorrang. Dies kann dazu benutzt werden, um bei Bedarf vom System bereitgestellte Programme mit einer lokalen Datei außer Kraft zu setzen. Ein symbolischer Link in /etc/kernel/install.d/ auf /dev/null mit dem gleichen Namen wie das Programm in /usr/lib/kernel/install.d/ deaktiviert das Programm komplett. Programme müssen die Erweiterung ».install« tragen, andere Erweiterungen werden ignoriert.

Ein in diesen Verzeichnissen abgelegtes Programm sollte im Erfolgsfall 0 zurückliefern. Es darf auch 77 zurückliefern, womit die gesamte Aktion beendet wird (Programme später in der lexikalischen Reihenfolge werden übersprungen).

BEFEHLE

Die folgenden Befehle werden verstanden:

add KERNEL-VERSION KERNEL-ABBILD [INITRD-DATEI …]

Dieser Befehl erwartet eine Kernelversionszeichenkette und einen Pfad zu einer Kernel-Abbild-Datei als Argument. Optional können auch eine oder mehrere RAM-Disk-Abbilder festgelegt werden (beachten Sie, dass Erweiterungen zusätzliche erstellen könnten). kernel-install führt die ausführbaren Dateien aus /usr/lib/kernel/install.d/*.install und /etc/kernel/install.d/*.install (d.h. die Erweiterungen) mit folgenden Argumenten aus:

add KERNEL-VERSION $BOOT/ZUGANGSMERKMAL/KERNEL-VERSION/ KERNEL-ABBILD [INITRD-DATEI …]

Das dritte Argument bezieht sich direkt auf den Pfad, unter dem Kernelabbilder, anfängliche RAM-Plattenabbilder und andere Ressourcen für Systemladerspezifikation[1] Typ-#1-Zugänge abgelegt werden (das »Zugangsverzeichnis«). Falls andere Systemstartprogramm-Schemata verwandt werden, könnte dieser Parameter ignoriert werden. Die Zeichenkette ZUGANGSMERKMAL ist typischerweise die Maschinenkennung und soll die lokale Installation auf dem System identifizieren. Details sind nachfolgend beschrieben.

Die Vorgabeerweiterungen führen in diesem Fall die folgenden Aktionen aus:

kernel-install erstellt $BOOT/ZUGANGSMERKMAL/KERNEL-VERSION, falls aktiviert (siehe $KERNEL_INSTALL_LAYOUT).

•50-depmod.install führt depmod(8) für die KERNEL-VERSION aus.

•90-loaderentry.install kopiert KERNEL-ABBILD nach $BOOT/ZUGANGSMERKMAL/KERNEL-VERSION/linux. Falls INITRD-DATEIen zur Verfügung gestellt werden, kopiert sie die Erweiterung auch nach $BOOT/ZUGANGSMERKMAL/KERNEL-VERSION/INITRD-DATEI. Sie erstellt auch laut der Systemstartladeprogramm-(Bootloader)-Spezifikation[1] (Typ #1) einen Systemstartladeprogrammeintrag in $BOOT/loader/entries/ZUGANGSMERKMAL-KERNEL-VERSION.conf. Der Titel des Eintrags ist der in /etc/os-release oder /usr/lib/os-release (falls erstere nicht existiert) im Parameter PRETTY_NAME festgelegte Name oder »Linux KERNEL-VERSION«, falls dieser nicht gesetzt ist.

Falls $KERNEL_INSTALL_LAYOUT nicht »bls« ist, macht diese Erweiterung nichts.

remove KERNEL-VERSION

Dieser Befehl erwartet eine Kernelversionszeichenkette als einzelnes Argument. Er ruft Programme aus /usr/lib/kernel/install.d/*.install und /etc/kernel/install.d/*.install mit den folgenden Argumenten auf:

remove KERNEL-VERSION $BOOT/ZUGANGSMERKMAL/KERNEL-VERSION/

Anschließend entfernt kernel-install das Zugangsverzeichnis $BOOT/ZUGANGSMERKMAL/KERNEL-VERSION/ und seine Inhalte, falls es existiert.

Die Vorgabeerweiterungen führen in diesem Fall die folgenden Aktionen aus:

•50-depmod.install entfernt die durch depmod für diesen Kernel erstellten Dateien wieder.

•90-loaderentry.install entfernt die Datei $BOOT/loader/entries/ZUGANGSMERKMAL-KERNEL-VERSION.conf.

inspect

Zeigt die verschiedenen konfigurierten oder automatisch erkannten Pfade. Insbesondere zeigt dies die Werte der verschiedenen, nachfolgend aufgeführten Umgebungsvariablen $KERNEL_INSTALL_*.

DIE PARTITION »$BOOT«

Die Partition, in der die Kernel und die Schnipsel der Bootloader-Spezifikation[1] liegen, wird $BOOT genannt. kernel-install bestimmt den Ort dieser Partition durch Überprüfung von nacheinander /efi/, /boot/ und /boot/efi/. Der erste Ort, an dem $BOOT/loader/entries/ oder $BOOT/ZUGANGSMERKMAL/ existiert, wird verwandt.

OPTIONEN

Die folgenden Optionen werden verstanden:

-v, --verbose

gibt zusätzliche Informationen über durchgeführte Aktionen aus.

-h, --help

Zeigt einen kurzen Hilfetext an und beendet das Programm.

--version

Zeigt eine kurze Versionszeichenkette an und beendet das Programm.

UMGEBUNGSVARIABLEN

Es wird $KERNEL_INSTALL_VERBOSE=1 für die Erweiterungen gesetzt, falls --verbose verwandt wird. Sie können in diesem Fall zusätzliche Protokollmeldungen ausgeben.

Falls beim Aufruf von kernel-install MACHINE_ID gesetzt und nicht leer ist, wird sie als MASCHINENKENNUNG verwandt und damit werden alle automatischen Erkennungsversuche außer Kraft gesetzt. Der Wert muss eine gültige Maschinenkennung sein (32 hexadezimale Zeichen).

$KERNEL_INSTALL_MACHINE_ID wird für die Erweiterungen auf die gewünschte zu verwendende MASCHINENKENNUNG gesetzt. Es ist immer eine 128-bit-Kennung und typischerweise die Kennung aus /etc/machine-id oder eine, die mittels $MACHINE_ID übergeben wurde. (Falls über diese Methoden keine Maschinenkennung festgelegt wurde, dann kann sie von kernel-install zufällig erstellt werden, sie gilt dann nur für diesen Aufruf.)

$KERNEL_INSTALL_ENTRY_TOKEN wird für Erweiterungen auf das gewünschte, zu verwendene Zugangs-»Merkmal« gesetzt. Es ist ein Kennzeichner, der zur Identifizierung der lokalen Installation verwandt wird und oft die Maschinenkennung ist, dh. identisch zu $KERNEL_INSTALL_MACHINE_ID. Es kann aber auch eine andere Art von Kennzeichner sein, beispielsweise eine feste Zeichenkette oder die Werte ID=, IMAGE_ID= aus /etc/os-release. Die hier übergebene Zeichenkette wird dazu verwandt, die Systemlader-Spezifikationseinträge zu benennen oder die Verzeichnisse, in die das Kernelabbild und die anfänglichen RAM-Plattenabbilder abgelegt werden. Beachten Sie, dass oft $KERNEL_INSTALL_ENTRY_TOKEN und $KERNEL_INSTALL_MACHINE_ID auf die gleichen Werte gesetzt werden, aber der erste Wert eine beliebige kurze Zeichenkette sein kann, während letzterer garantiert eine gültige 32-Zeichen-Kennung in kleingeschriebener hexadezimaler Form ist. Das zu verwendende Zugangsmerkmal wird aus /etc/kernel/entry-token gelesen, falls diese existiert. Andernfalls werden einige mögliche Kandidaten unterhalb von $BOOT nach Systemlader-Spezifikation-Typ-1-Zugangsverzeichnissen durchsucht und, falls diese gefunden werden, wird daraus das Zugangsmerkmal abgeleitet. Falls das nicht erfolgreich ist, wird die Maschinenkennung als Rückfalloption verwandt.

KERNEL_INSTALL_BOOT_ROOT= wird für die Erweiterungen auf den absoluten Pfad des Wurzelverzeichnisses (normalerweise den Einhängepunkt) der Hierarchie gesetzt, in der Systemstartprogramm-Einträge, Kernel-Abbilder und zugehörige Ressourcen abgelegt werden sollen. Dies ist normalerweise der Pfad, auf dem die XBOOTLDR-Partition oder die ESP (EFI-Systempartition) eingehängt sind. Dieser kann konzeptionell auch mittels $BOOT referenziert werden. Kann mit BOOT_ROOT außer Kraft gesetzt werden.

KERNEL_INSTALL_LAYOUT=bls|other|… wird für die Erweiterungen zur Angabe des Installationslayouts festgelegt. Standardmäßig bls, falls $BOOT/ZUGANGSMERKMAL existiert oder ansonsten other. Per Konvention können zusätzliche Layoutnamen definiert sein. Falls eine Erweiterung ein bestimmtes Layout verwendet, wird empfohlen, dass ein eigener Layoutname erklärt und layout= während der Installation in install.conf konfiguriert wird. Die folgenden Werte werden derzeit verstanden:

bls

Standard Systemladerspezifikation[1]-Typ-#1-Layout, kompatibel mit systemd-boot(7): Einträge in $BOOT/loader/entries/ZUGANGSMERKMAL-KERNELVERSION[+VERSUCHEN].conf, Kernel und Initrds unter $BOOT/ZUGANGSMERKMAL/KERNELVERSION/

Implementiert durch 90-loaderentry.install.

other

Anderes, von kernel-install nicht nativ verstandenes Layout.

$KERNEL_INSTALL_INITRD_GENERATOR ist für Erweiterungen gesetzt, um den Initrd-Generator auszuwählen. Dies kann über initrd_generator= in install.conf konfiguriert werden. Siehe unten.

$KERNEL_INSTALL_STAGING_AREA ist für Erweiterungen auf einen Pfad zu einem Verzeichnis gesetzt. Erweiterungen können Ergänzungsdateien in diesem Verzeichnis sein und sie werden als Teil des Lader-Zugangs installiert, basierend auf dem Dateinamen und der Erweiterung.

EXIT-STATUS

Falls alle Programme 0 oder 77 zurückliefern, wird 0 zurückgeliefert, andernfalls ein von Null verschiedener Fehlercode.

DATEIEN

/usr/lib/kernel/install.d/*.install /etc/kernel/install.d/*.install

Ergänzungsdateien, die durch kernel-install ausgeführt werden.

/usr/lib/kernel/cmdline /etc/kernel/cmdline /proc/cmdline

Wird von 90-loaderentry.install gelesen. Der Inhalt der Datei /etc/kernel/cmdline legt die zu verwendende Kernelbefehlszeile fest. Falls die Datei nicht existiert, wird /usr/lib/kernel/cmdline verwandt. Falls auch diese Datei nicht existiert, wird /proc/cmdline verwandt.

/etc/kernel/tries

Wird von 90-loaderentry.install gelesen. Falls diese Datei existiert, wird aus ihr ein numerischer Wert gelesen und die Benennung der erstellten Eintragsdatei wird leicht geändert, um ihn als $BOOT/loader/entries/MASCHINENKENNUNG-KERNEL-VERSION+VERSUCHE.conf aufzunehmen. Dies ist für Systemstartprogramme wie systemd-boot(7) nützlich, die Systemstartversuchezähler implementieren, bei der der Zähler in den Eintragsdateinamen eingebettet ist.

/etc/kernel/entry-token

Falls diese Datei existiert, wird sie gelesen und als »Zugangsmerkmal« für dieses System verwandt, d.h. sie wird für die Benennung von Systemlader-Spezifikationseinträge verwandt, siehe vorstehenden $KERNEL_INSTALL_ENTRY_TOKEN für Details.

/etc/machine-id

Der Inhalt dieser Datei legt die Maschinenkennung MASCHINENKENNUNG fest.

/etc/os-release /usr/lib/os-release

Wird von 90-loaderentry.install gelesen. Falls verfügbar, wird PRETTY_NAME= aus diesen Dateien gelesen und als den Titel für den Systemstarteintrag verwandt. Andernfalls wird »Linux KERNELVERSION« verwandt.

/usr/lib/kernel/install.conf /etc/kernel/install.conf

Konfigurationsoptionen für kernel-install als Serie von SCHLÜSSEL=WERT-Zuweisungen, kompatibel zur Shell-Syntax. Derzeit unterstützt dies zwei Schlüssel: layout= und initrd_generator=. Details hierzu finden Sie in vorstehendem Abschnitt Umgebungsvariablen.

SIEHE AUCH

machine-id(5), os-release(5), depmod(8), systemd-boot(7), Systemstartladeprogrammspezifikation[1]

ANMERKUNGEN

1.
Systemladerspezifikation

ÜBERSETZUNG

Die deutsche Übersetzung dieser Handbuchseite wurde von Helge Kreutzmann <debian@helgefjell.de> erstellt.

Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.

Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Übersetzer.

systemd 251