.\" -*- coding: UTF-8 -*- .\" This man-page is Copyright (C) 1997 John S. Kallal .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .\" If the you wish to distribute versions of this work under other .\" conditions than the above, please contact the author(s) at the following .\" for permission: .\" .\" John S. Kallal - .\" email: .\" mail: 518 Kerfoot Farm RD, Wilmington, DE 19803-2444, USA .\" phone: (302)654-5478 .\" .\" $Id: initrd.4,v 0.9 1997/11/07 05:05:32 kallal Exp kallal $ .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH initrd 4 "5. Februar 2023" "Linux man\-pages 6.05.01" .SH BEZEICHNUNG initrd \- vom Boot\-Loader initialisierte RAM\-Disk .SH KONFIGURATION \fI/dev/initrd\fP ist ein nur lesbares Blockgerät mit der Major\-Nummer 1 und der Minor\-Nummer 250. Typischerweise ist der Besitzer von \fI/dev/initrd\fP root.disk; die Zugriffsrechte sind auf 0400 gesetzt (Lesezugriff nur für root). Wenn \fI/dev/initrd\fP nicht schon im Linux\-System eingerichtet wurde, kann sie mit den folgenden Befehlen erstellt werden: .PP .in +4n .EX mknod \-m 400 /dev/initrd b 1 250 chown root:disk /dev/initrd .EE .in .PP .\" .\" .\" Auch muss Unterstützung für sowohl »RAM\-Disk« als auch »Initial RAM Disk« (z. B. \fBCONFIG_BLK_DEV_RAM=y\fP und \fBCONFIG_BLK_DEV_INITRD=y\fP) direkt in den Linux\-Kernel kompiliert werden, um \fI/dev/initrd\fP zu verwenden. Wird \fI/dev/initrd\fP verwendet, kann der RAM\-Disk\-Treiber nicht als Modul geladen werden. .SH BESCHREIBUNG Die Spezialdatei \fI/dev/initrd\fP ist ein nur lesbares Blockgerät. Dieses Gerät ist eine RAM\-Disk, die vom Boot\-Loader initialisiert (z.B. geladen) wird, bevor der Kernel gestartet wird. Der Kernel kann dann den Inhalt von \fI/dev/initrd\fP für einen zweiphasigen Systemstart verwenden. .PP .\" .\" .\" In der ersten Phase startet der Kernel und bindet ein erstes Wurzeldateisystem mit Inhalten von \fI/dev/initrd\fP ein (z. B. die vom Boot\-Loader initialisierte RAM\-Disk). In der zweiten Phase werden zusätzliche Treiber oder andere Module aus dem Inhalt des ersten Wurzelgeräts geladen. Nach dem Laden der zusätzlichen Module wird ein neues Wurzeldateisystem (d. h. das normale Wurzeldateisystem) von einem anderen Gerät eingebunden. .SS "Der Boot\-Vorgang" Beim Booten mit \fBinitrd\fP startet das System wie folgt: .IP (1) 5 Der Boot\-Loader lädt den Kernel und den Inhalt von \fI/dev/initrd\fP in den Speicher. .IP (2) Wenn der Kernel startet, dekomprimiert und kopiert er den Inhalt des Gerätes \fI/dev/initrd\fP auf Gerät \fI/dev/ram0\fP und gibt dann den Speicher frei, den \fI/dev/initrd\fP belegte. .IP (3) Der Kernel bindet dann das Gerät \fI/dev/ram0\fP schreib\- und lesbar als anfängliches Wurzeldateisystem ein. .IP (4) Wenn das angegebene normale Wurzeldateisystem auch das anfängliche Wurzeldateisystem ist (z.B. \fI/dev/ram0\fP), springt der Kernel zum letzten Schritt für die übliche Boot\-Sequenz. .IP (5) Wenn im anfänglichen Wurzeldateisystem die ausführbare Datei \fI/linuxrc\fP vorhanden ist, wird sie mit UID 0 ausgeführt. (Die Datei \fI/linuxrc\fP muss über Ausführungsrechte verfügen. Sie kann eine beliebige gültige, ausführbare Datei sein, also auch ein Shell\-Skript.) .IP (6) Wenn \fI/linuxrc\fP nicht ausgeführt oder wenn \fI/linuxrc\fP beendet wird, wird das normale Wurzeldateisystem eingebunden. (Wenn \fI/linuxrc\fP beendet wird, wenn noch Dateisysteme im anfänglichen Wurzeldateisystem eingehängt sind, dann ist das Verhalten des Kernels \fBNICHT FESTGELEGT\fP; siehe den Abschnitt ANMERKUNGEN für das aktuelle Kernel\-Verhalten.) .IP (7) Wenn im normalen Wurzeldateisystem ein Verzeichnis \fI/initrd\fP vorhanden ist, wird das Gerät \fI/dev/ram0\fP von \fI/\fP auf \fI/initrd\fP gelegt. Wenn das Verzeichnis \fI/initrd\fP nicht vorhanden ist, wird das Gerät \fI/dev/ram0\fP ausgehängt. (Wenn \fI/dev/ram0\fP von \fI/\fP nach \fI/initrd\fP verschoben wird, wird \fI/dev/ram0\fP nicht ausgehängt und damit können Prozesse weiterhin von \fI/dev/ram0\fP ausgeführt werden. Wenn das Vorzeichnis \fI/initrd\fP nicht auf dem normalen Wurzeldateisystem existiert und noch weiterhin Prozesse von \fI/dev/ram0\fP ausgeführt werden, wenn \fI/linuxrc\fP sich beendet, ist das Verhalten des Kernels \fBNICHT FESTGELEGT\fP; siehe den Abschnitt ANMERKUNGEN für das aktuelle Kernel\-Verhalten.) .IP (8) .\" .\" .\" Die übliche Boot\-Sequenz (z.B. Aufruf von \fI/sbin/init\fP) wird auf dem normalen Wurzeldateisystem durchgeführt. .SS Optionen Die folgenden Optionen des Boot\-Loaders wirken sich auf das Verhalten des Kernels beim Systemstart aus, wenn sie mit \fBinitrd\fP verwendet werden: .TP \fBinitrd=\fP\fIDateiname\fP Gibt die Datei an, die als Inhalt von \fI/dev/initrd\fP geladen wird. Für \fBLOADLIN\fP ist das eine Befehlszeilenoption. Für \fBLILO\fP müssen Sie diesen Befehl in der \fBLILO\fP\-Konfigurationsdatei \fI/etc/lilo.config\fP verwenden. Die mit dieser Option angegebene Datei ist typischerweise ein komprimiertes Dateisystem\-Abbild. .TP \fBnoinitrd\fP Diese Boot\-Option deaktiviert den zweiphasigen Systemstart. Der Kernel führt die übliche Boot\-Sequenz aus, als ob \fI/dev/initrd\fP nicht initialisiert wurde. Mit dieser Option bleiben alle vom Boot\-Loader in den Speicher geladenen Inhalte von \fI/dev/initrd\fP erhalten. Diese Option ermöglicht, dass der Inhalt von \fI/dev/initrd\fP aus beliebigen Daten bestehen kann und nicht auf Dateisystem\-Abbilder beschränkt sein muss. Allerdings ist das Gerät \fI/dev/initrd\fP schreibgeschützt und kann nur einmal nach dem Systemstart gelesen werden. .TP \fBroot=\fP\fIGerätename\fP .\" .\" .\" Gibt das Gerät an, das als normales Wurzeldateisystem verwendet werden soll. Für \fBLOADLIN\fP ist dies ist eine Befehlszeilen\-Option. Für \fBLILO\fP kann diese Option beim Systemstart oder als Optionszeile in der \fBLILO\fP\-Konfigurationsdatei \fI/etc/lilo.config\fP verwendet werden. Das durch diese Option angegebene Gerät muss eingehängt werden können und ein geeignetes Wurzeldateisystem enthalten. .SS "Wechsel des normalen Wurzeldateisystems" .\" commit dc7a08166f3a5f23e79e839a8a88849bd3397c32 Standardmäßig werden die Kernel\-Einstellungen (z. B. mit \fBrdev\fP(8) in der Kernel\-Datei gesetzt oder in die Kernel\-Datei kompiliert) oder die Options\-Einstellungen des Boot\-Loaders für das normale Wurzeldateisystem verwendet. Für ein über NFS eingebundenes normales Wurzeldateisystem müssen die Boot\-Optionen \fBnfs_root_name\fP und \fBnfs_root_addrs\fP genutzt werden, um die NFS\-Einstellungen zu übergeben. Für weitere Informationen über via NFS eingebundene Wurzeldateisysteme lesen Sie die Kernel\-Dokumentation in der Datei \fIDocumentation/filesystems/nfs/nfsroot.txt\fP (oder \fIDocumentation/filesystems/nfsroot.txt\fP vor Linux 2.6.33). Weitere Informationen über das Einstellen des Wurzeldateisystems finden sich in den Dokumentationen von \fBLILO\fP und \fBLOADLIN\fP. .PP Die ausführbare Datei \fI/linuxrc\fP kann auch das normale Wurzelgerät ändern. Damit \fI/linuxrc\fP das normale Wurzelgerät ändern kann, muss \fI/proc\fP eingehängt sein. Nach dem Einhängen von \fI/proc\fP ändert \fI/linuxrc\fP das normale Wurzelgerät durch das Schreiben in die proc\-Dateien \fI/proc/sys/kernel/real\-root\-dev\fP, \fI/proc/sys/kernel/nfs\-root\-name\fP und \fI/proc/sys/kernel/nfs\-root\-addrs\fP. Ein physisches Wurzelgerät wird geändert, indem \fI/linuxrc\fP die Gerätenummer des neuen Wurzeldateisystems in \fI/proc/sys/kernel/real\-root\-dev\fP schreibt. Für ein NFS\-Wurzeldateisystem wird das Wurzelgerät geändert, indem \fI/linuxrc\fP die NFS\-Einstellung in die Dateien \fI/proc/sys/kernel/nfs\-root\-name\fP und \fI/proc/sys/kernel/nfs\-root\-addrs\fP schreibt und dann 0xff (z. B. die NFS\-Pseudo\-Gerätenummer) in die Datei \fI/proc/sys/kernel/real\-root\-dev\fP schreibt. Zum Beispiel würde der folgende Shell\-Befehl das normale Wurzelgerät auf \fI/dev/hdb1\fP ändern: .PP .in +4n .EX echo 0x365 >/proc/sys/kernel/real\-root\-dev .EE .in .PP Ein NFS\-Beispiel: Die folgenden Shell\-Befehlszeilen würden das normale Wurzelgerät für ein System mit der IP\-Nummer 193.8.232.2 und dem Namen »idefix« auf das NFS\-Verzeichnis \fI/var/nfsroot\fP auf einem NFS\-Server mit der IP\-Nummer 193.8.232.7 im lokalen Netzwerk ändern: .PP .in +4n .EX echo /var/nfsroot >/proc/sys/kernel/nfs\-root\-name echo 193.8.232.2:193.8.232.7::255.255.255.0:idefix \e >/proc/sys/kernel/nfs\-root\-addrs echo 255 >/proc/sys/kernel/real\-root\-dev .EE .in .PP .\" commit 9d85025b0418163fae079c9ba8f8445212de8568 .\" FIXME . Should this manual page describe the pivot_root mechanism? .\" .\" .\" \fBHinweis\fP: Die Verwendung von \fI/proc/sys/kernel/real\-root\-dev\fP für die Änderung des Wurzeldateisystems ist veraltet. Die Linux\-Kernel\-Quelldatei \fIDocumentation/admin\-guide/initrd.rst\fP (oder \fIDocumentation/initrd.txt\fP vor Linux 4.10) sowie \fBpivot_root\fP(2) und \fBpivot_root\fP(8) informieren über das moderne Verfahren zur Änderung des Wurzeldateisystems. .SS Verwendung Die Hauptmotivation für die Implementierung von \fBinitrd\fP war, bei der Installation des Systems eine modulare Kernel\-Konfiguration zu ermöglichen. .PP Ein mögliches Szenario für eine Systeminstallation ist das folgende: .IP (1) 5 Das Ladeprogramm startet von einer Diskette oder einem anderen Medium mit einem minimalen Kernel (beispielsweise mit Unterstützung für \fI/dev/ram\fP, \fI/dev/initrd\fP und das ext2\-Dateisystem) und lädt \fI/dev/initrd\fP mit einer komprimierten Version des anfänglichen Dateisystems. .IP (2) Die ausführbare Datei \fI/linuxrc\fP bestimmt, was für (1) das Einhängen des normalen Wurzeldateisystems (z.B. Gerätetyp, Gerätetreiber, Dateisystem) und (2) der Installationsmedien (z.B. CD\-ROM, Netzwerk, Band, …) erforderlich ist. Dies kann durch Befragung des Benutzers, dem Selbstuchen des Gerätes oder mit einem hybriden Ansatz erfolgen. .IP (3) Die ausführbare Datei \fI/linuxrc\fP lädt die notwendigen Module aus dem anfänglichen Wurzeldateisystem. .IP (4) Die ausführbare Datei \fI/linuxrc\fP erstellt und füllt das Wurzeldateisystem. (In diesem Stadium muss das normale Wurzeldateisystem noch kein vollständiges System sein.) .IP (5) Die ausführbare Datei \fI/linuxrc\fP schreibt \fI/proc/sys/kernel/real\-root\-dev\fP, hängt \fI/proc\fP, das normale Wurzeldateisystem und alle weiteren von ihm eingehängten Dateisysteme aus und beendet sich dann. .IP (6) Der Kernel bindet dann das normale Wurzeldateisystem ein. .IP (7) Nachdem das System intakt ist und darauf zugegriffen werden kann, kann der Boot\-Loader installiert werden. .IP (8) Der Boot\-Loader ist so konfiguriert, dass er in \fI/dev/initrd\fP ein Dateisystem mit dem Satz von Modulen lädt, die beim Systemstart eingesetzt waren. (z.B. kann das Gerät \fI/dev/ram0\fP modifiziert, danach ausgehängt und schließlich sein Abbild (Image) in eine Datei geschrieben werden.) .IP (9) Das System ist nun bootfähig und zusätzliche Installationsaufgaben können durchgeführt werden. .PP Die Schlüsselrolle von \fI/dev/initrd\fP im Vorgehenden ist es, die Konfigurationsdaten während des normalen Betriebs weiter zu verwenden, ohne dass der ursprüngliche Kernel ausgewählt, ein großer generischer Kernel eingesetzt oder ein Kernel neu kompiliert werden muss. .PP Ein zweites Szenario sind Netzwerk\-Installationen, in denen Linux auf Systemen mit verschiedenen Hardware\-Konfigurationen läuft. In solchen Fällen kann es wünschenswert sein, nur eine kleine Gruppe von Kerneln (im Idealfall nur einen) zu verwenden und den systemspezifischen Teil der Konfigurationsinformationen so klein wie möglich zu halten. Erstellen Sie für diesen Fall eine gemeinsame Datei mit allen benötigten Modulen. Dann muss nur die Datei \fI/linuxrc\fP oder eine von \fI/linuxrc\fP ausgeführte Datei individuell angepasst werden. .PP Ein drittes Szenario sind komfortable Reparatur\-CDs. Weil Informationen wie die Position der Wurzeldateisystem\-Partition zur Boot\-Zeit nicht erforderlich sind, kann das aus \fI/dev/initrd\fP geladene System einen Dialog und/oder eine automatische Erkennung verwenden und dem eine Plausibilitätsprüfung folgen lassen. .PP .\" .\" .\" Nicht zuletzt können Linux\-Distributionen auf CD\-ROM \fBinitrd\fP für die einfache Installation von der CD\-ROM verwenden. Die Distribution kann \fBLOADLIN\fP verwenden, um \fI/dev/initrd\fP direkt von der CD\-ROM zu laden und Disketten überflüssig zu machen. Die Distribution könnte auch eine \fBLILO\fP\-Bootdiskette verwenden und dann über \fI/dev/initrd\fP eine größere RAM\-Disk von der CD\-ROM laden. .SH DATEIEN \fI/dev/initrd\fP .br \fI/dev/ram0\fP .br \fI/linuxrc\fP .br .\" .\" .\" \fI/initrd\fP .SH ANMERKUNGEN .IP \[bu] 3 Beim aktuellen Kernel kann auf Dateisysteme, die während der Verschiebung von \fI/dev/ram0\fP von \fI/\fP nach \fI/initrd\fP eingehängt waren, weiterhin zugegriffen werden. Die Einträge in \fI/proc/mounts\fP werden aber nicht aktualisiert. .IP \[bu] Mit dem aktuellen Kernel wird bei fehlendem \fI/initrd\fP \fI/dev/ram0\fP \fBnicht\fP völlig ausgehängt werden, wenn es von einem Prozess verwendet wird oder in \fI/dev/ram0\fP ein Dateisystem eingehängt ist. Wenn \fI/dev/ram0\fP \fBnicht\fP vollständig ausgehängt ist, verbleibt \fI/dev/ram0\fP im Speicher. .IP \[bu] .\" .\" .\" .\" .SH AUTHORS .\" The kernel code for device .\" .BR initrd .\" was written by Werner Almesberger and .\" Hans Lermen . .\" The code for .\" .BR initrd .\" was added to the baseline Linux kernel in development version 1.3.73. Anwender von \fI/dev/initrd\fP sollten sich nicht auf das in diesen Anmerkungen beschriebene Verhalten verlassen. Das Verhalten kann sich in zukünftigen Kernel\-Versionen ändern. .SH "SIEHE AUCH" \fBchown\fP(1), \fBmknod\fP(1), \fBram\fP(4), \fBfreeramdisk\fP(8), \fBrdev\fP(8) .PP .\" commit 9d85025b0418163fae079c9ba8f8445212de8568 \fIDocumentation/admin\-guide/initrd.rst\fP (oder \fIDocumentation/initrd.txt\fP vor Linux 4.10) im Linux\-Kernelquelltext\-Verzeichnis und die Dokumentationen von LILO, LOADLIN und SYSLINUX .PP .SH ÜBERSETZUNG Die deutsche Übersetzung dieser Handbuchseite wurde von Martin Eberhard Schauer , Mario Blättermann und Dr. Tobias Quathamer erstellt. .PP Diese Übersetzung ist Freie Dokumentation; lesen Sie die .UR https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License Version 3 .UE oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen. .PP Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die .MT debian-l10n-german@lists.debian.org Mailingliste der Übersetzer .ME .