summaryrefslogtreecommitdiffstats
path: root/man4/initrd.4
diff options
context:
space:
mode:
Diffstat (limited to 'man4/initrd.4')
-rw-r--r--man4/initrd.4479
1 files changed, 0 insertions, 479 deletions
diff --git a/man4/initrd.4 b/man4/initrd.4
deleted file mode 100644
index 1490f8e..0000000
--- a/man4/initrd.4
+++ /dev/null
@@ -1,479 +0,0 @@
-.\" 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: <kallal@voicenet.com>
-.\" 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 $
-.TH initrd 4 2023-10-31 "Linux man-pages 6.7"
-.SH NAME
-initrd \- boot loader initialized RAM disk
-.SH CONFIGURATION
-.I /dev/initrd
-is a read-only block device assigned
-major number 1 and minor number 250.
-Typically
-.I /dev/initrd
-is owned by
-root:disk
-with mode 0400 (read access by root only).
-If the Linux system does not have
-.I /dev/initrd
-already created, it can be created with the following commands:
-.P
-.in +4n
-.EX
-mknod \-m 400 /dev/initrd b 1 250
-chown root:disk /dev/initrd
-.EE
-.in
-.P
-Also, support for both "RAM disk" and "Initial RAM disk"
-(e.g.,
-.B CONFIG_BLK_DEV_RAM=y
-and
-.BR CONFIG_BLK_DEV_INITRD=y )
-must be compiled directly into the Linux kernel to use
-.IR /dev/initrd .
-When using
-.IR /dev/initrd ,
-the RAM disk driver cannot be loaded as a module.
-.\"
-.\"
-.\"
-.SH DESCRIPTION
-The special file
-.I /dev/initrd
-is a read-only block device.
-This device is a RAM disk that is initialized (e.g., loaded)
-by the boot loader before the kernel is started.
-The kernel then can use
-.IR /dev/initrd "'s"
-contents for a two-phase system boot-up.
-.P
-In the first boot-up phase, the kernel starts up
-and mounts an initial root filesystem from the contents of
-.I /dev/initrd
-(e.g., RAM disk initialized by the boot loader).
-In the second phase, additional drivers or other modules
-are loaded from the initial root device's contents.
-After loading the additional modules, a new root filesystem
-(i.e., the normal root filesystem) is mounted from a
-different device.
-.\"
-.\"
-.\"
-.SS Boot-up operation
-When booting up with
-.BR initrd ,
-the system boots as follows:
-.IP (1) 5
-The boot loader loads the kernel program and
-.IR /dev/initrd 's
-contents into memory.
-.IP (2)
-On kernel startup,
-the kernel uncompresses and copies the contents of the device
-.I /dev/initrd
-onto device
-.I /dev/ram0
-and then frees the memory used by
-.IR /dev/initrd .
-.IP (3)
-The kernel then read-write mounts the device
-.I /dev/ram0
-as the initial root filesystem.
-.IP (4)
-If the indicated normal root filesystem is also the initial
-root filesystem (e.g.,
-.IR /dev/ram0 )
-then the kernel skips to the last step for the usual boot sequence.
-.IP (5)
-If the executable file
-.I /linuxrc
-is present in the initial root filesystem,
-.I /linuxrc
-is executed with UID 0.
-(The file
-.I /linuxrc
-must have executable permission.
-The file
-.I /linuxrc
-can be any valid executable, including a shell script.)
-.IP (6)
-If
-.I /linuxrc
-is not executed or when
-.I /linuxrc
-terminates, the normal root filesystem is mounted.
-(If
-.I /linuxrc
-exits with any filesystems mounted on the initial root
-filesystem, then the behavior of the kernel is
-.BR UNSPECIFIED .
-See the NOTES section for the current kernel behavior.)
-.IP (7)
-If the normal root filesystem has a directory
-.IR /initrd ,
-the device
-.I /dev/ram0
-is moved from
-.I /
-to
-.IR /initrd .
-Otherwise, if the directory
-.I /initrd
-does not exist, the device
-.I /dev/ram0
-is unmounted.
-(When moved from
-.I /
-to
-.IR /initrd ,
-.I /dev/ram0
-is not unmounted and therefore processes can remain running from
-.IR /dev/ram0 .
-If directory
-.I /initrd
-does not exist on the normal root filesystem
-and any processes remain running from
-.I /dev/ram0
-when
-.I /linuxrc
-exits, the behavior of the kernel is
-.BR UNSPECIFIED .
-See the NOTES section for the current kernel behavior.)
-.IP (8)
-The usual boot sequence (e.g., invocation of
-.IR /sbin/init )
-is performed on the normal root filesystem.
-.\"
-.\"
-.\"
-.SS Options
-The following boot loader options, when used with
-.BR initrd ,
-affect the kernel's boot-up operation:
-.TP
-.BI initrd= "filename"
-Specifies the file to load as the contents of
-.IR /dev/initrd .
-For
-.B LOADLIN
-this is a command-line option.
-For
-.B LILO
-you have to use this command in the
-.B LILO
-configuration file
-.IR /etc/lilo.config .
-The filename specified with this
-option will typically be a gzipped filesystem image.
-.TP
-.B noinitrd
-This boot option disables the two-phase boot-up operation.
-The kernel performs the usual boot sequence as if
-.I /dev/initrd
-was not initialized.
-With this option, any contents of
-.I /dev/initrd
-loaded into memory by the boot loader contents are preserved.
-This option permits the contents of
-.I /dev/initrd
-to be any data and need not be limited to a filesystem image.
-However, device
-.I /dev/initrd
-is read-only and can be read only one time after system startup.
-.TP
-.BI root= "device-name"
-Specifies the device to be used as the normal root filesystem.
-For
-.B LOADLIN
-this is a command-line option.
-For
-.B LILO
-this is a boot time option or
-can be used as an option line in the
-.B LILO
-configuration file
-.IR /etc/lilo.config .
-The device specified by this option must be a mountable
-device having a suitable root filesystem.
-.\"
-.\"
-.\"
-.SS Changing the normal root filesystem
-By default,
-the kernel's settings
-(e.g., set in the kernel file with
-.BR rdev (8)
-or compiled into the kernel file),
-or the boot loader option setting
-is used for the normal root filesystems.
-For an NFS-mounted normal root filesystem, one has to use the
-.B nfs_root_name
-and
-.B nfs_root_addrs
-boot options to give the NFS settings.
-For more information on NFS-mounted root see the kernel documentation file
-.I Documentation/filesystems/nfs/nfsroot.txt
-.\" commit dc7a08166f3a5f23e79e839a8a88849bd3397c32
-(or
-.I Documentation/filesystems/nfsroot.txt
-before Linux 2.6.33).
-For more information on setting the root filesystem see also the
-.B LILO
-and
-.B LOADLIN
-documentation.
-.P
-It is also possible for the
-.I /linuxrc
-executable to change the normal root device.
-For
-.I /linuxrc
-to change the normal root device,
-.I /proc
-must be mounted.
-After mounting
-.IR /proc ,
-.I /linuxrc
-changes the normal root device by writing into the proc files
-.IR /proc/sys/kernel/real\-root\-dev ,
-.IR /proc/sys/kernel/nfs\-root\-name ,
-and
-.IR /proc/sys/kernel/nfs\-root\-addrs .
-For a physical root device, the root device is changed by having
-.I /linuxrc
-write the new root filesystem device number into
-.IR /proc/sys/kernel/real\-root\-dev .
-For an NFS root filesystem, the root device is changed by having
-.I /linuxrc
-write the NFS setting into files
-.I /proc/sys/kernel/nfs\-root\-name
-and
-.I /proc/sys/kernel/nfs\-root\-addrs
-and then writing 0xff (e.g., the pseudo-NFS-device number) into file
-.IR /proc/sys/kernel/real\-root\-dev .
-For example, the following shell command line would change
-the normal root device to
-.IR /dev/hdb1 :
-.P
-.in +4n
-.EX
-echo 0x365 >/proc/sys/kernel/real\-root\-dev
-.EE
-.in
-.P
-For an NFS example, the following shell command lines would change the
-normal root device to the NFS directory
-.I /var/nfsroot
-on a local networked NFS server with IP number 193.8.232.7 for a system with
-IP number 193.8.232.2 and named "idefix":
-.P
-.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
-.P
-.BR Note :
-The use of
-.I /proc/sys/kernel/real\-root\-dev
-to change the root filesystem is obsolete.
-See the Linux kernel source file
-.I Documentation/admin\-guide/initrd.rst
-.\" commit 9d85025b0418163fae079c9ba8f8445212de8568
-(or
-.I Documentation/initrd.txt
-before Linux 4.10)
-as well as
-.BR pivot_root (2)
-and
-.BR pivot_root (8)
-for information on the modern method of changing the root filesystem.
-.\" FIXME . Should this manual page describe the pivot_root mechanism?
-.\"
-.\"
-.\"
-.SS Usage
-The main motivation for implementing
-.B initrd
-was to allow for modular kernel configuration at system installation.
-.P
-A possible system installation scenario is as follows:
-.IP (1) 5
-The loader program boots from floppy or other media with a minimal kernel
-(e.g., support for
-.IR /dev/ram ,
-.IR /dev/initrd ,
-and the ext2 filesystem) and loads
-.I /dev/initrd
-with a gzipped version of the initial filesystem.
-.IP (2)
-The executable
-.I /linuxrc
-determines what is needed to (1) mount the normal root filesystem
-(i.e., device type, device drivers, filesystem) and (2) the
-distribution media (e.g., CD-ROM, network, tape, ...).
-This can be done by asking the user, by auto-probing,
-or by using a hybrid approach.
-.IP (3)
-The executable
-.I /linuxrc
-loads the necessary modules from the initial root filesystem.
-.IP (4)
-The executable
-.I /linuxrc
-creates and populates the root filesystem.
-(At this stage the normal root filesystem does not have to be a
-completed system yet.)
-.IP (5)
-The executable
-.I /linuxrc
-sets
-.IR /proc/sys/kernel/real\-root\-dev ,
-unmounts
-.IR /proc ,
-the normal root filesystem and any other filesystems
-it has mounted, and then terminates.
-.IP (6)
-The kernel then mounts the normal root filesystem.
-.IP (7)
-Now that the filesystem is accessible and intact,
-the boot loader can be installed.
-.IP (8)
-The boot loader is configured to load into
-.I /dev/initrd
-a filesystem with the set of modules that was used to bring up the system.
-(e.g., device
-.I /dev/ram0
-can be modified, then unmounted, and finally, the image is written from
-.I /dev/ram0
-to a file.)
-.IP (9)
-The system is now bootable and additional installation tasks can be
-performed.
-.P
-The key role of
-.I /dev/initrd
-in the above is to reuse the configuration data during normal system operation
-without requiring initial kernel selection, a large generic kernel or,
-recompiling the kernel.
-.P
-A second scenario is for installations where Linux runs on systems with
-different hardware configurations in a single administrative network.
-In such cases, it may be desirable to use only a small set of kernels
-(ideally only one) and to keep the system-specific part of configuration
-information as small as possible.
-In this case, create a common file
-with all needed modules.
-Then, only the
-.I /linuxrc
-file or a file executed by
-.I /linuxrc
-would be different.
-.P
-A third scenario is more convenient recovery disks.
-Because information like the location of the root filesystem
-partition is not needed at boot time, the system loaded from
-.I /dev/initrd
-can use a dialog and/or auto-detection followed by a
-possible sanity check.
-.P
-Last but not least, Linux distributions on CD-ROM may use
-.B initrd
-for easy installation from the CD-ROM.
-The distribution can use
-.B LOADLIN
-to directly load
-.I /dev/initrd
-from CD-ROM without the need of any floppies.
-The distribution could also use a
-.B LILO
-boot floppy and then bootstrap a bigger RAM disk via
-.I /dev/initrd
-from the CD-ROM.
-.\"
-.\"
-.\"
-.SH FILES
-.I /dev/initrd
-.br
-.I /dev/ram0
-.br
-.I /linuxrc
-.br
-.I /initrd
-.\"
-.\"
-.\"
-.SH NOTES
-.IP \[bu] 3
-With the current kernel, any filesystems that remain mounted when
-.I /dev/ram0
-is moved from
-.I /
-to
-.I /initrd
-continue to be accessible.
-However, the
-.I /proc/mounts
-entries are not updated.
-.IP \[bu]
-With the current kernel, if directory
-.I /initrd
-does not exist, then
-.I /dev/ram0
-will
-.B not
-be fully unmounted if
-.I /dev/ram0
-is used by any process or has any filesystem mounted on it.
-If
-.I /dev/ram0
-is
-.B not
-fully unmounted, then
-.I /dev/ram0
-will remain in memory.
-.IP \[bu]
-Users of
-.I /dev/initrd
-should not depend on the behavior given in the above notes.
-The behavior may change in future versions of the Linux kernel.
-.\"
-.\"
-.\"
-.\" .SH AUTHORS
-.\" The kernel code for device
-.\" .BR initrd
-.\" was written by Werner Almesberger <almesber@lrc.epfl.ch> and
-.\" Hans Lermen <lermen@elserv.ffm.fgan.de>.
-.\" The code for
-.\" .BR initrd
-.\" was added to the baseline Linux kernel in development version 1.3.73.
-.SH SEE ALSO
-.BR chown (1),
-.BR mknod (1),
-.BR ram (4),
-.BR freeramdisk (8),
-.BR rdev (8)
-.P
-.I Documentation/admin\-guide/initrd.rst
-.\" commit 9d85025b0418163fae079c9ba8f8445212de8568
-(or
-.I Documentation/initrd.txt
-before Linux 4.10)
-in the Linux kernel source tree, the LILO documentation,
-the LOADLIN documentation, the SYSLINUX documentation