* [PATCH 0/2] boot.7: Copy editing and update
@ 2015-03-12 15:00 Michael Witten
[not found] ` <892a44c6ff3d40b79ca3121c3290fae0-mfwitten-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
0 siblings, 1 reply; 5+ messages in thread
From: Michael Witten @ 2015-03-12 15:00 UTC (permalink / raw)
To: Michael Kerrisk; +Cc: linux-man-u79uwXL29TY76Z2rM5mHXA
The patches are as follows:
boot.7: Copy edit
boot.7: Mention `systemd(1)' and its related `bootup(7)'
man7/boot.7 | 253 ++++++++++++++++++++++++++++++++----------------------------
1 file changed, 137 insertions(+), 116 deletions(-)
The following is the collective patch; it's probably best just
to read the result directly via `man'.
Sincerely,
Michael Witten
diff --git a/man7/boot.7 b/man7/boot.7
index 584c771..4541b8c 100644
--- a/man7/boot.7
+++ b/man7/boot.7
@@ -12,194 +12,215 @@
.\"
.\" Modified 2004-11-03 patch from Martin Schulze <joey-1lCxjdRlhQ9g9hUCZPvPmw@public.gmane.org>
.\"
-.TH BOOT 7 2010-09-19 "Linux" "Linux Programmer's Manual"
+.TH BOOT 7 2015-03-11 "Linux" "Linux Programmer's Manual"
.SH NAME
-boot-scripts \- general description of boot sequence
+boot \- System bootup process based on UNIX System V Release 4
.SH DESCRIPTION
.LP
-The boot sequence varies in details among systems
-but can be roughly divided to the following steps:
-(i) hardware boot, (ii) operating system (OS) loader,
-(iii) kernel startup, (iv) init and inittab,
-(v) boot scripts.
-We will describe each of these in more detail below.
-.SS Hardware-boot
+The \fBbootup process\fR (or "\fBboot sequence\fR") varies in details
+among systems, but can be roughly divided into phases controlled by
+the following components:
+.IP 1. 4
+hardware
+.IP 2. 4
+operating system (OS) loader
+.IP 3. 4
+kernel
+.IP 4. 4
+root user-space process (\fIinit\fR and \fIinittab\fR)
+.IP 5. 4
+boot scripts
+.PP
+Each of these is described below in more detail.
+.SS Hardware
After power-on or hard reset, control is given
-to a program stored on read-only memory (normally
-PROM).
-In PC we usually call this program the \fBBIOS\fR.
+to a program stored in read-only memory (normally
+PROM); for historical reasons involving the personal
+computer, this program is often called "the \fBBIOS\fR".
-This program normally makes a basic self-test of the
+This program normally performs a basic self-test of the
machine and accesses nonvolatile memory to read
further parameters.
This memory in the PC is
battery-backed CMOS memory, so most people
-refer to it as the \fBCMOS\fR, although outside
-of the PC world, it is usually called \fBnvram\fR
-(nonvolatile ram).
+refer to it as "the \fBCMOS\fR"; outside
+of the PC world, it is usually called "the \fBNVRAM\fR"
+(nonvolatile RAM).
-The parameters stored in the nvram vary between
-systems, but as a minimum, the hardware boot program
-should know what is the boot device, or which devices
-to probe as possible boot devices.
-
-Then the hardware boot stage accesses the boot device,
-loads the OS loader, which is located on a fixed position
-on the boot device, and transfers control to it.
+The parameters stored in the NVRAM vary among
+systems, but as a minimum, they should specify
+which device can supply an OS loader, or at least which
+devices may be probed for one; such a device is known as "the
+\fBboot device\fR".
+The hardware boot stage loads the OS loader from a fixed position on
+the boot device, and then transfers control to it.
.TP
Note:
-We do not cover here booting from network.
-Those who want
-to investigate this subject may want to research:
-DHCP, TFTP, PXE, Etherboot.
+The device from which the OS loader is read may be attached via a network, in which
+case the details of booting are further specified by protocols such as
+DHCP, TFTP, PXE, Etherboot, etc.
.SS OS loader
-In PC, the OS loader is located in the first sector
-of the boot device \- this is the \fBMBR\fR
+The main job of the OS loader is to locate the kernel
+on some device, load it, and run it.
+Most OS loaders allow
+interactive use, in order to enable specification of an alternative
+kernel (maybe a backup in case the one last compiled
+isn't functioning) and to pass optional parameters
+to the kernel.
+
+In a traditional PC, the OS loader is located in the initial 512-byte block
+of the boot device; this block is known as "the \fBMBR\fR"
(Master Boot Record).
-In most systems, this primary loader is very
+In most systems, the OS loader is very
limited due to various constraints.
-Even on non-PC systems
-there are some limitations to the size and complexity
+Even on non-PC systems,
+there are some limitations on the size and complexity
of this loader, but the size limitation of the PC MBR
-(512 bytes including the partition table) makes it
-almost impossible to squeeze a full OS loader into it.
+(512 bytes, including the partition table) makes it
+almost impossible to squeeze much functionality into it.
-Therefore, most operating systems make the primary loader
-call a secondary OS loader which may be located on
-a specified disk partition.
+Therefore, most systems split the role of loading the OS between
+a primary OS loader and a secondary OS loader; this secondary
+OS loader may be located within a larger portion of persistent
+storage, such as a disk partition.
-In Linux the OS loader is normally
+In Linux, the OS loader is often either
.BR lilo (8)
or
.BR grub (8).
-Both of them may install either as secondary loaders
-(where the DOS installed MBR points to them), or
-as a two part loader where they provide special MBR
-containing the bootstrap code to load the second part
-of the loader from the root partition.
-
-The main job of the OS loader is to locate the kernel
-on the disk, load it and run it.
-Most OS loaders allow
-interactive use, to enable specification of alternative
-kernel (maybe a backup in case the last compiled one
-isn't functioning) and to pass optional parameters
-to the kernel.
-.SS Kernel startup
-When the kernel is loaded, it initializes the devices (via
-their drivers), starts the swapper (it is a "kernel process",
-called kswapd in modern Linux kernels), and mounts the root
-filesystem (/).
+.SS Kernel
+When the kernel is loaded, it initializes various components of
+the computer and operating system; each portion of software
+responsible for such a task is usually consider "a \fBdriver\fR" for
+the applicable component. The kernel starts the virtual memory
+swapper (it is a kernel process, called "kswapd" in a modern Linux
+kernel), and mounts some filesystem at the root path,
+.IR / .
Some of the parameters that may be passed to the kernel
-relate to these activities (e.g: You can override the
-default root filesystem).
-For further information
-on Linux kernel parameters read
+relate to these activities (for example, the default root filesystem
+can be overriden); for further information
+on Linux kernel parameters, read
.BR bootparam (7).
-Only then the kernel creates the first (user land)
-process which is numbered 1.
-This process executes the
+Only then does the kernel create the initial userland
+process, which is given the number 1 as its
+.B PID
+(process ID).
+Traditionally, this process executes the
program
.IR /sbin/init ,
-passing any parameters that weren't handled by the kernel already.
-.SS init and inittab
-When init starts it reads
+to which are passed the parameters that haven't already been
+handled by the kernel.
+.SS Root user-space process
+.TP
+Note:
+The following description applies to an OS based on UNIX System V Release 4.
+Namely, a number of widely used systems have adopted a related but
+fundamentally alternative approach known as
+.BR systemd (1),
+for which the bootup process is detailed in its associated
+.BR bootup (7).
+.LP
+When
+.I /sbin/init
+starts, it reads
.I /etc/inittab
for further instructions.
-This file defines what should be run in different \fIrun-levels\fR.
+This file defines what should be run when the
+.I /sbin/init
+program is instructed to enter a particular \fIrun-level\fR, giving
+the administrator an easy way to establish an environment
+for some usage; each run-level is associated with a set of services
+(for example, run-level \fBS\fR is \fIsingle-user\fR mode,
+and run-level \fB2\fR entails running most network services).
-This gives the system administrator an easy management scheme, where
-each run-level is associated with a set of services (e.g,
-\fBS\fR is \fIsingle-user\fR, on \fB2\fR most network
-services start).
The administrator may change the current
run-level via
-.BR init (1)
+.BR init (1),
and query the current run-level via
.BR runlevel (8).
However, since it is not convenient to manage individual services
-by editing this file, inittab only bootstraps a set of scripts
+by editing this file,
+.I /etc/inittab
+only bootstraps a set of scripts
that actually start/stop the individual services.
.SS Boot scripts
.TP
Note:
-The following description applies to System V release 4-based systems, which
-currently covers most commercial UNIX systems (Solaris, HP-UX, Irix, Tru64)
-as well as the major Linux distributions (Red Hat, Debian, Mandriva,
-SUSE, Ubuntu).
-Some systems (Slackware Linux, FreeBSD, OpenBSD)
-have a somewhat different scheme of boot scripts.
+The following description applies to an OS based on UNIX System V Release 4.
+Namely, a number of widely used systems (Slackware Linux, FreeBSD, OpenBSD)
+have a somewhat different scheme for boot scripts.
.LP
-For each managed service (mail, nfs server, cron, etc.) there is
+For each managed service (mail, nfs server, cron, etc.), there is
a single startup script located in a specific directory
.RI ( /etc/init.d
in most versions of Linux).
Each of these scripts accepts as a single argument
-the word "start" \-\- causing it to start the service, or the word
-\&"stop" \-\- causing it to stop the service.
+the word "start" (causing it to start the service) or the word
+\&"stop" (causing it to stop the service).
The script may optionally
-accept other "convenience" parameters (e.g: "restart", to stop and then
-start, "status" to display the service status).
+accept other "convenience" parameters (e.g,. "restart" to stop and then
+start, "status" to display the service status, etc.).
Running the script
without parameters displays the possible arguments.
.SS Sequencing directories
-To make specific scripts start/stop at specific run-levels and in
-specific order, there are \fIsequencing directories\fR.
-These
-are normally in \fI/etc/rc[0\-6S].d\fR.
-In each of these directories
+To make specific scripts start/stop at specific run-levels and in a
+specific order, there are \fIsequencing directories\fR, normally
+of the form \fI/etc/rc[0\-6S].d\fR.
+In each of these directories,
there are links (usually symbolic) to the scripts in the \fI/etc/init.d\fR
directory.
A primary script (usually \fI/etc/rc\fR) is called from
-.BR inittab (5)
-and calls the services scripts via the links in the sequencing directories.
-All links with names that begin with \(aqS\(aq are being called with
+.BR inittab (5);
+this primary script calls each service's script via a link in the
+relevant sequencing directory.
+Each link whose name begins with \(aqS\(aq is called with
the argument "start" (thereby starting the service).
-All links with
-names that begin with \(aqK\(aq are being called with the argument "stop"
-(thereby stopping the service).
+Each link whose name begins with \(aqK\(aq is called with
+the argument "stop" (thereby stopping the service).
To define the starting or stopping order within the same run-level,
-the names of the links contain order-numbers.
-Also, to make the names clearer, they usually
-end with the name of the service they refer to.
-Example:
+the name of a link contains an \fBorder-number\fR.
+Also, for clarity, the name of a link usually
+ends with the name of the service to which it refers.
+For example,
the link \fI/etc/rc2.d/S80sendmail\fR starts the sendmail service on
runlevel 2.
This happens after \fI/etc/rc2.d/S12syslog\fR is run
but before \fI/etc/rc2.d/S90xfs\fR is run.
-To manage the boot order and run-levels, we have to manage these links.
-However, on many versions of Linux, there are tools to help with this task
-(e.g:
+To manage these links is to manage the boot order and run-levels;
+under many systems, there are tools to help with this task
+(e.g.,
.BR chkconfig (8)).
.SS Boot configuration
-Usually the daemons started may optionally receive command-line options
+A program that provides a service is often called a "\fBdaemon\fR".
+Usually, a daemon may receive various command-line options
and parameters.
-To allow system administrators to change these
-parameters without editing the boot scripts themselves,
-configuration files are used.
-These are located in a specific
-directory (\fI/etc/sysconfig\fR on Red Hat systems) and are
-used by the boot scripts.
+To allow a system administrator to change these
+inputs without editing an entire boot script,
+some separate configuration file is used, and is located in a specific
+directory where an associated boot script may find it
+(\fI/etc/sysconfig\fR on older Red Hat systems).
-In older UNIX systems, these files contained the actual command line
-options for the daemons, but in modern Linux systems (and also
-in HP-UX), these files just contain shell variables.
-The boot scripts in \fI/etc/init.d\fR
-\fBsource\fR the configuration
-files, and then use the variable values.
+In older UNIX systems, such a file contained the actual command line
+options for a daemon, but in modern Linux systems (and also
+in HP-UX), it just contains shell variables.
+A boot script in \fI/etc/init.d\fR reads and includes its configuration
+file (that is, it "\fBsources\fR" its configuration file) and then uses
+the variable values.
.SH FILES
.LP
.IR /etc/init.d/ ,
.IR /etc/rc[S0\-6].d/ ,
.I /etc/sysconfig/
.SH SEE ALSO
+.BR bootup (7)
+.BR systemd (1)
.BR inittab (5),
.BR bootparam (7),
.BR init (1),
--
1.7.11.2.252.gc4a64c8
--
To unsubscribe from this list: send the line "unsubscribe linux-man" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply related [flat|nested] 5+ messages in thread[parent not found: <892a44c6ff3d40b79ca3121c3290fae0-mfwitten-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>]
* [PATCH 1/2] boot.7: Copy edit [not found] ` <892a44c6ff3d40b79ca3121c3290fae0-mfwitten-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> @ 2015-03-11 19:54 ` Michael Witten [not found] ` <bb335978674c4676933438ca9bd11e1f-mfwitten-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> 2015-03-11 21:00 ` [PATCH 2/2] boot.7: Mention `systemd(1)' and its related `bootup(7)' Michael Witten 1 sibling, 1 reply; 5+ messages in thread From: Michael Witten @ 2015-03-11 19:54 UTC (permalink / raw) To: Michael Kerrisk; +Cc: linux-man-u79uwXL29TY76Z2rM5mHXA While a lot of the changes are issues of presentation, there are also issues of grammar and punctuation. Signed-off-by: Michael Witten <mfwitten-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> --- man7/boot.7 | 241 ++++++++++++++++++++++++++++++++---------------------------- 1 file changed, 127 insertions(+), 114 deletions(-) diff --git a/man7/boot.7 b/man7/boot.7 index 584c771..0b209d8 100644 --- a/man7/boot.7 +++ b/man7/boot.7 @@ -12,188 +12,201 @@ .\" .\" Modified 2004-11-03 patch from Martin Schulze <joey-1lCxjdRlhQ9g9hUCZPvPmw@public.gmane.org> .\" -.TH BOOT 7 2010-09-19 "Linux" "Linux Programmer's Manual" +.TH BOOT 7 2015-03-11 "Linux" "Linux Programmer's Manual" .SH NAME -boot-scripts \- general description of boot sequence +boot \- System bootup process based on UNIX System V Release 4 .SH DESCRIPTION .LP -The boot sequence varies in details among systems -but can be roughly divided to the following steps: -(i) hardware boot, (ii) operating system (OS) loader, -(iii) kernel startup, (iv) init and inittab, -(v) boot scripts. -We will describe each of these in more detail below. -.SS Hardware-boot +The \fBbootup process\fR (or "\fBboot sequence\fR") varies in details +among systems, but can be roughly divided into phases controlled by +the following components: +.IP 1. 4 +hardware +.IP 2. 4 +operating system (OS) loader +.IP 3. 4 +kernel +.IP 4. 4 +root user-space process (\fIinit\fR and \fIinittab\fR) +.IP 5. 4 +boot scripts +.PP +Each of these is described below in more detail. +.SS Hardware After power-on or hard reset, control is given -to a program stored on read-only memory (normally -PROM). -In PC we usually call this program the \fBBIOS\fR. +to a program stored in read-only memory (normally +PROM); for historical reasons involving the personal +computer, this program is often called "the \fBBIOS\fR". -This program normally makes a basic self-test of the +This program normally performs a basic self-test of the machine and accesses nonvolatile memory to read further parameters. This memory in the PC is battery-backed CMOS memory, so most people -refer to it as the \fBCMOS\fR, although outside -of the PC world, it is usually called \fBnvram\fR -(nonvolatile ram). +refer to it as "the \fBCMOS\fR"; outside +of the PC world, it is usually called "the \fBNVRAM\fR" +(nonvolatile RAM). -The parameters stored in the nvram vary between -systems, but as a minimum, the hardware boot program -should know what is the boot device, or which devices -to probe as possible boot devices. - -Then the hardware boot stage accesses the boot device, -loads the OS loader, which is located on a fixed position -on the boot device, and transfers control to it. +The parameters stored in the NVRAM vary among +systems, but as a minimum, they should specify +which device can supply an OS loader, or at least which +devices may be probed for one; such a device is known as "the +\fBboot device\fR". +The hardware boot stage loads the OS loader from a fixed position on +the boot device, and then transfers control to it. .TP Note: -We do not cover here booting from network. -Those who want -to investigate this subject may want to research: -DHCP, TFTP, PXE, Etherboot. +The device from which the OS loader is read may be attached via a network, in which +case the details of booting are further specified by protocols such as +DHCP, TFTP, PXE, Etherboot, etc. .SS OS loader -In PC, the OS loader is located in the first sector -of the boot device \- this is the \fBMBR\fR +The main job of the OS loader is to locate the kernel +on some device, load it, and run it. +Most OS loaders allow +interactive use, in order to enable specification of an alternative +kernel (maybe a backup in case the one last compiled +isn't functioning) and to pass optional parameters +to the kernel. + +In a traditional PC, the OS loader is located in the initial 512-byte block +of the boot device; this block is known as "the \fBMBR\fR" (Master Boot Record). -In most systems, this primary loader is very +In most systems, the OS loader is very limited due to various constraints. -Even on non-PC systems -there are some limitations to the size and complexity +Even on non-PC systems, +there are some limitations on the size and complexity of this loader, but the size limitation of the PC MBR -(512 bytes including the partition table) makes it -almost impossible to squeeze a full OS loader into it. +(512 bytes, including the partition table) makes it +almost impossible to squeeze much functionality into it. -Therefore, most operating systems make the primary loader -call a secondary OS loader which may be located on -a specified disk partition. +Therefore, most systems split the role of loading the OS between +a primary OS loader and a secondary OS loader; this secondary +OS loader may be located within a larger portion of persistent +storage, such as a disk partition. -In Linux the OS loader is normally +In Linux, the OS loader is often either .BR lilo (8) or .BR grub (8). -Both of them may install either as secondary loaders -(where the DOS installed MBR points to them), or -as a two part loader where they provide special MBR -containing the bootstrap code to load the second part -of the loader from the root partition. - -The main job of the OS loader is to locate the kernel -on the disk, load it and run it. -Most OS loaders allow -interactive use, to enable specification of alternative -kernel (maybe a backup in case the last compiled one -isn't functioning) and to pass optional parameters -to the kernel. -.SS Kernel startup -When the kernel is loaded, it initializes the devices (via -their drivers), starts the swapper (it is a "kernel process", -called kswapd in modern Linux kernels), and mounts the root -filesystem (/). +.SS Kernel +When the kernel is loaded, it initializes various components of +the computer and operating system; each portion of software +responsible for such a task is usually consider "a \fBdriver\fR" for +the applicable component. The kernel starts the virtual memory +swapper (it is a kernel process, called "kswapd" in a modern Linux +kernel), and mounts some filesystem at the root path, +.IR / . Some of the parameters that may be passed to the kernel -relate to these activities (e.g: You can override the -default root filesystem). -For further information -on Linux kernel parameters read +relate to these activities (for example, the default root filesystem +can be overriden); for further information +on Linux kernel parameters, read .BR bootparam (7). -Only then the kernel creates the first (user land) -process which is numbered 1. -This process executes the +Only then does the kernel create the initial userland +process, which is given the number 1 as its +.B PID +(process ID). +Traditionally, this process executes the program .IR /sbin/init , -passing any parameters that weren't handled by the kernel already. -.SS init and inittab -When init starts it reads +to which are passed the parameters that haven't already been +handled by the kernel. +.SS Root user-space process +When +.I /sbin/init +starts, it reads .I /etc/inittab for further instructions. -This file defines what should be run in different \fIrun-levels\fR. +This file defines what should be run when the +.I /sbin/init +program is instructed to enter a particular \fIrun-level\fR, giving +the administrator an easy way to establish an environment +for some usage; each run-level is associated with a set of services +(for example, run-level \fBS\fR is \fIsingle-user\fR mode, +and run-level \fB2\fR entails running most network services). -This gives the system administrator an easy management scheme, where -each run-level is associated with a set of services (e.g, -\fBS\fR is \fIsingle-user\fR, on \fB2\fR most network -services start). The administrator may change the current run-level via -.BR init (1) +.BR init (1), and query the current run-level via .BR runlevel (8). However, since it is not convenient to manage individual services -by editing this file, inittab only bootstraps a set of scripts +by editing this file, +.I /etc/inittab +only bootstraps a set of scripts that actually start/stop the individual services. .SS Boot scripts .TP Note: -The following description applies to System V release 4-based systems, which -currently covers most commercial UNIX systems (Solaris, HP-UX, Irix, Tru64) -as well as the major Linux distributions (Red Hat, Debian, Mandriva, +The following description applies to an OS based on UNIX System V Release 4, +which currently covers most commercial UNIX systems (Solaris, HP-UX, Irix, +Tru64) as well as the major Linux distributions (Red Hat, Debian, Mandriva, SUSE, Ubuntu). Some systems (Slackware Linux, FreeBSD, OpenBSD) -have a somewhat different scheme of boot scripts. +have a somewhat different scheme for boot scripts. .LP -For each managed service (mail, nfs server, cron, etc.) there is +For each managed service (mail, nfs server, cron, etc.), there is a single startup script located in a specific directory .RI ( /etc/init.d in most versions of Linux). Each of these scripts accepts as a single argument -the word "start" \-\- causing it to start the service, or the word -\&"stop" \-\- causing it to stop the service. +the word "start" (causing it to start the service) or the word +\&"stop" (causing it to stop the service). The script may optionally -accept other "convenience" parameters (e.g: "restart", to stop and then -start, "status" to display the service status). +accept other "convenience" parameters (e.g,. "restart" to stop and then +start, "status" to display the service status, etc.). Running the script without parameters displays the possible arguments. .SS Sequencing directories -To make specific scripts start/stop at specific run-levels and in -specific order, there are \fIsequencing directories\fR. -These -are normally in \fI/etc/rc[0\-6S].d\fR. -In each of these directories +To make specific scripts start/stop at specific run-levels and in a +specific order, there are \fIsequencing directories\fR, normally +of the form \fI/etc/rc[0\-6S].d\fR. +In each of these directories, there are links (usually symbolic) to the scripts in the \fI/etc/init.d\fR directory. A primary script (usually \fI/etc/rc\fR) is called from -.BR inittab (5) -and calls the services scripts via the links in the sequencing directories. -All links with names that begin with \(aqS\(aq are being called with +.BR inittab (5); +this primary script calls each service's script via a link in the +relevant sequencing directory. +Each link whose name begins with \(aqS\(aq is called with the argument "start" (thereby starting the service). -All links with -names that begin with \(aqK\(aq are being called with the argument "stop" -(thereby stopping the service). +Each link whose name begins with \(aqK\(aq is called with +the argument "stop" (thereby stopping the service). To define the starting or stopping order within the same run-level, -the names of the links contain order-numbers. -Also, to make the names clearer, they usually -end with the name of the service they refer to. -Example: +the name of a link contains an \fBorder-number\fR. +Also, for clarity, the name of a link usually +ends with the name of the service to which it refers. +For example, the link \fI/etc/rc2.d/S80sendmail\fR starts the sendmail service on runlevel 2. This happens after \fI/etc/rc2.d/S12syslog\fR is run but before \fI/etc/rc2.d/S90xfs\fR is run. -To manage the boot order and run-levels, we have to manage these links. -However, on many versions of Linux, there are tools to help with this task -(e.g: +To manage these links is to manage the boot order and run-levels; +under many systems, there are tools to help with this task +(e.g., .BR chkconfig (8)). .SS Boot configuration -Usually the daemons started may optionally receive command-line options +A program that provides a service is often called a "\fBdaemon\fR". +Usually, a daemon may receive various command-line options and parameters. -To allow system administrators to change these -parameters without editing the boot scripts themselves, -configuration files are used. -These are located in a specific -directory (\fI/etc/sysconfig\fR on Red Hat systems) and are -used by the boot scripts. +To allow a system administrator to change these +inputs without editing an entire boot script, +some separate configuration file is used, and is located in a specific +directory where an associated boot script may find it +(\fI/etc/sysconfig\fR on Red Hat systems). -In older UNIX systems, these files contained the actual command line -options for the daemons, but in modern Linux systems (and also -in HP-UX), these files just contain shell variables. -The boot scripts in \fI/etc/init.d\fR -\fBsource\fR the configuration -files, and then use the variable values. +In older UNIX systems, such a file contained the actual command line +options for a daemon, but in modern Linux systems (and also +in HP-UX), it just contains shell variables. +A boot script in \fI/etc/init.d\fR reads and includes its configuration +file (that is, it "\fBsources\fR" its configuration file) and then uses +the variable values. .SH FILES .LP .IR /etc/init.d/ , -- 1.7.11.2.252.gc4a64c8 -- To unsubscribe from this list: send the line "unsubscribe linux-man" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply related [flat|nested] 5+ messages in thread
[parent not found: <bb335978674c4676933438ca9bd11e1f-mfwitten-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>]
* Re: [PATCH 1/2] boot.7: Copy edit [not found] ` <bb335978674c4676933438ca9bd11e1f-mfwitten-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> @ 2015-03-22 19:35 ` Michael Kerrisk (man-pages) 0 siblings, 0 replies; 5+ messages in thread From: Michael Kerrisk (man-pages) @ 2015-03-22 19:35 UTC (permalink / raw) To: Michael Witten Cc: mtk.manpages-Re5JQEeQqe8AvxtiuMwx3w, linux-man-u79uwXL29TY76Z2rM5mHXA On 03/11/2015 08:54 PM, Michael Witten wrote: > While a lot of the changes are issues of presentation, > there are also issues of grammar and punctuation. Great stuff, Michael! That page was indeed in need of this sort of attention. Patch applied. Cheers, Michael > Signed-off-by: Michael Witten <mfwitten-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> > --- > man7/boot.7 | 241 ++++++++++++++++++++++++++++++++---------------------------- > 1 file changed, 127 insertions(+), 114 deletions(-) > > diff --git a/man7/boot.7 b/man7/boot.7 > index 584c771..0b209d8 100644 > --- a/man7/boot.7 > +++ b/man7/boot.7 > @@ -12,188 +12,201 @@ > .\" > .\" Modified 2004-11-03 patch from Martin Schulze <joey-1lCxjdRlhQ9g9hUCZPvPmw@public.gmane.org> > .\" > -.TH BOOT 7 2010-09-19 "Linux" "Linux Programmer's Manual" > +.TH BOOT 7 2015-03-11 "Linux" "Linux Programmer's Manual" > .SH NAME > -boot-scripts \- general description of boot sequence > +boot \- System bootup process based on UNIX System V Release 4 > .SH DESCRIPTION > .LP > -The boot sequence varies in details among systems > -but can be roughly divided to the following steps: > -(i) hardware boot, (ii) operating system (OS) loader, > -(iii) kernel startup, (iv) init and inittab, > -(v) boot scripts. > -We will describe each of these in more detail below. > -.SS Hardware-boot > +The \fBbootup process\fR (or "\fBboot sequence\fR") varies in details > +among systems, but can be roughly divided into phases controlled by > +the following components: > +.IP 1. 4 > +hardware > +.IP 2. 4 > +operating system (OS) loader > +.IP 3. 4 > +kernel > +.IP 4. 4 > +root user-space process (\fIinit\fR and \fIinittab\fR) > +.IP 5. 4 > +boot scripts > +.PP > +Each of these is described below in more detail. > +.SS Hardware > After power-on or hard reset, control is given > -to a program stored on read-only memory (normally > -PROM). > -In PC we usually call this program the \fBBIOS\fR. > +to a program stored in read-only memory (normally > +PROM); for historical reasons involving the personal > +computer, this program is often called "the \fBBIOS\fR". > > -This program normally makes a basic self-test of the > +This program normally performs a basic self-test of the > machine and accesses nonvolatile memory to read > further parameters. > This memory in the PC is > battery-backed CMOS memory, so most people > -refer to it as the \fBCMOS\fR, although outside > -of the PC world, it is usually called \fBnvram\fR > -(nonvolatile ram). > +refer to it as "the \fBCMOS\fR"; outside > +of the PC world, it is usually called "the \fBNVRAM\fR" > +(nonvolatile RAM). > > -The parameters stored in the nvram vary between > -systems, but as a minimum, the hardware boot program > -should know what is the boot device, or which devices > -to probe as possible boot devices. > - > -Then the hardware boot stage accesses the boot device, > -loads the OS loader, which is located on a fixed position > -on the boot device, and transfers control to it. > +The parameters stored in the NVRAM vary among > +systems, but as a minimum, they should specify > +which device can supply an OS loader, or at least which > +devices may be probed for one; such a device is known as "the > +\fBboot device\fR". > +The hardware boot stage loads the OS loader from a fixed position on > +the boot device, and then transfers control to it. > .TP > Note: > -We do not cover here booting from network. > -Those who want > -to investigate this subject may want to research: > -DHCP, TFTP, PXE, Etherboot. > +The device from which the OS loader is read may be attached via a network, in which > +case the details of booting are further specified by protocols such as > +DHCP, TFTP, PXE, Etherboot, etc. > .SS OS loader > -In PC, the OS loader is located in the first sector > -of the boot device \- this is the \fBMBR\fR > +The main job of the OS loader is to locate the kernel > +on some device, load it, and run it. > +Most OS loaders allow > +interactive use, in order to enable specification of an alternative > +kernel (maybe a backup in case the one last compiled > +isn't functioning) and to pass optional parameters > +to the kernel. > + > +In a traditional PC, the OS loader is located in the initial 512-byte block > +of the boot device; this block is known as "the \fBMBR\fR" > (Master Boot Record). > > -In most systems, this primary loader is very > +In most systems, the OS loader is very > limited due to various constraints. > -Even on non-PC systems > -there are some limitations to the size and complexity > +Even on non-PC systems, > +there are some limitations on the size and complexity > of this loader, but the size limitation of the PC MBR > -(512 bytes including the partition table) makes it > -almost impossible to squeeze a full OS loader into it. > +(512 bytes, including the partition table) makes it > +almost impossible to squeeze much functionality into it. > > -Therefore, most operating systems make the primary loader > -call a secondary OS loader which may be located on > -a specified disk partition. > +Therefore, most systems split the role of loading the OS between > +a primary OS loader and a secondary OS loader; this secondary > +OS loader may be located within a larger portion of persistent > +storage, such as a disk partition. > > -In Linux the OS loader is normally > +In Linux, the OS loader is often either > .BR lilo (8) > or > .BR grub (8). > -Both of them may install either as secondary loaders > -(where the DOS installed MBR points to them), or > -as a two part loader where they provide special MBR > -containing the bootstrap code to load the second part > -of the loader from the root partition. > - > -The main job of the OS loader is to locate the kernel > -on the disk, load it and run it. > -Most OS loaders allow > -interactive use, to enable specification of alternative > -kernel (maybe a backup in case the last compiled one > -isn't functioning) and to pass optional parameters > -to the kernel. > -.SS Kernel startup > -When the kernel is loaded, it initializes the devices (via > -their drivers), starts the swapper (it is a "kernel process", > -called kswapd in modern Linux kernels), and mounts the root > -filesystem (/). > +.SS Kernel > +When the kernel is loaded, it initializes various components of > +the computer and operating system; each portion of software > +responsible for such a task is usually consider "a \fBdriver\fR" for > +the applicable component. The kernel starts the virtual memory > +swapper (it is a kernel process, called "kswapd" in a modern Linux > +kernel), and mounts some filesystem at the root path, > +.IR / . > > Some of the parameters that may be passed to the kernel > -relate to these activities (e.g: You can override the > -default root filesystem). > -For further information > -on Linux kernel parameters read > +relate to these activities (for example, the default root filesystem > +can be overriden); for further information > +on Linux kernel parameters, read > .BR bootparam (7). > > -Only then the kernel creates the first (user land) > -process which is numbered 1. > -This process executes the > +Only then does the kernel create the initial userland > +process, which is given the number 1 as its > +.B PID > +(process ID). > +Traditionally, this process executes the > program > .IR /sbin/init , > -passing any parameters that weren't handled by the kernel already. > -.SS init and inittab > -When init starts it reads > +to which are passed the parameters that haven't already been > +handled by the kernel. > +.SS Root user-space process > +When > +.I /sbin/init > +starts, it reads > .I /etc/inittab > for further instructions. > -This file defines what should be run in different \fIrun-levels\fR. > +This file defines what should be run when the > +.I /sbin/init > +program is instructed to enter a particular \fIrun-level\fR, giving > +the administrator an easy way to establish an environment > +for some usage; each run-level is associated with a set of services > +(for example, run-level \fBS\fR is \fIsingle-user\fR mode, > +and run-level \fB2\fR entails running most network services). > > -This gives the system administrator an easy management scheme, where > -each run-level is associated with a set of services (e.g, > -\fBS\fR is \fIsingle-user\fR, on \fB2\fR most network > -services start). > The administrator may change the current > run-level via > -.BR init (1) > +.BR init (1), > and query the current run-level via > .BR runlevel (8). > > However, since it is not convenient to manage individual services > -by editing this file, inittab only bootstraps a set of scripts > +by editing this file, > +.I /etc/inittab > +only bootstraps a set of scripts > that actually start/stop the individual services. > .SS Boot scripts > .TP > Note: > -The following description applies to System V release 4-based systems, which > -currently covers most commercial UNIX systems (Solaris, HP-UX, Irix, Tru64) > -as well as the major Linux distributions (Red Hat, Debian, Mandriva, > +The following description applies to an OS based on UNIX System V Release 4, > +which currently covers most commercial UNIX systems (Solaris, HP-UX, Irix, > +Tru64) as well as the major Linux distributions (Red Hat, Debian, Mandriva, > SUSE, Ubuntu). > Some systems (Slackware Linux, FreeBSD, OpenBSD) > -have a somewhat different scheme of boot scripts. > +have a somewhat different scheme for boot scripts. > .LP > -For each managed service (mail, nfs server, cron, etc.) there is > +For each managed service (mail, nfs server, cron, etc.), there is > a single startup script located in a specific directory > .RI ( /etc/init.d > in most versions of Linux). > Each of these scripts accepts as a single argument > -the word "start" \-\- causing it to start the service, or the word > -\&"stop" \-\- causing it to stop the service. > +the word "start" (causing it to start the service) or the word > +\&"stop" (causing it to stop the service). > The script may optionally > -accept other "convenience" parameters (e.g: "restart", to stop and then > -start, "status" to display the service status). > +accept other "convenience" parameters (e.g,. "restart" to stop and then > +start, "status" to display the service status, etc.). > Running the script > without parameters displays the possible arguments. > .SS Sequencing directories > -To make specific scripts start/stop at specific run-levels and in > -specific order, there are \fIsequencing directories\fR. > -These > -are normally in \fI/etc/rc[0\-6S].d\fR. > -In each of these directories > +To make specific scripts start/stop at specific run-levels and in a > +specific order, there are \fIsequencing directories\fR, normally > +of the form \fI/etc/rc[0\-6S].d\fR. > +In each of these directories, > there are links (usually symbolic) to the scripts in the \fI/etc/init.d\fR > directory. > > A primary script (usually \fI/etc/rc\fR) is called from > -.BR inittab (5) > -and calls the services scripts via the links in the sequencing directories. > -All links with names that begin with \(aqS\(aq are being called with > +.BR inittab (5); > +this primary script calls each service's script via a link in the > +relevant sequencing directory. > +Each link whose name begins with \(aqS\(aq is called with > the argument "start" (thereby starting the service). > -All links with > -names that begin with \(aqK\(aq are being called with the argument "stop" > -(thereby stopping the service). > +Each link whose name begins with \(aqK\(aq is called with > +the argument "stop" (thereby stopping the service). > > To define the starting or stopping order within the same run-level, > -the names of the links contain order-numbers. > -Also, to make the names clearer, they usually > -end with the name of the service they refer to. > -Example: > +the name of a link contains an \fBorder-number\fR. > +Also, for clarity, the name of a link usually > +ends with the name of the service to which it refers. > +For example, > the link \fI/etc/rc2.d/S80sendmail\fR starts the sendmail service on > runlevel 2. > This happens after \fI/etc/rc2.d/S12syslog\fR is run > but before \fI/etc/rc2.d/S90xfs\fR is run. > > -To manage the boot order and run-levels, we have to manage these links. > -However, on many versions of Linux, there are tools to help with this task > -(e.g: > +To manage these links is to manage the boot order and run-levels; > +under many systems, there are tools to help with this task > +(e.g., > .BR chkconfig (8)). > .SS Boot configuration > -Usually the daemons started may optionally receive command-line options > +A program that provides a service is often called a "\fBdaemon\fR". > +Usually, a daemon may receive various command-line options > and parameters. > -To allow system administrators to change these > -parameters without editing the boot scripts themselves, > -configuration files are used. > -These are located in a specific > -directory (\fI/etc/sysconfig\fR on Red Hat systems) and are > -used by the boot scripts. > +To allow a system administrator to change these > +inputs without editing an entire boot script, > +some separate configuration file is used, and is located in a specific > +directory where an associated boot script may find it > +(\fI/etc/sysconfig\fR on Red Hat systems). > > -In older UNIX systems, these files contained the actual command line > -options for the daemons, but in modern Linux systems (and also > -in HP-UX), these files just contain shell variables. > -The boot scripts in \fI/etc/init.d\fR > -\fBsource\fR the configuration > -files, and then use the variable values. > +In older UNIX systems, such a file contained the actual command line > +options for a daemon, but in modern Linux systems (and also > +in HP-UX), it just contains shell variables. > +A boot script in \fI/etc/init.d\fR reads and includes its configuration > +file (that is, it "\fBsources\fR" its configuration file) and then uses > +the variable values. > .SH FILES > .LP > .IR /etc/init.d/ , > -- Michael Kerrisk Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/ Linux/UNIX System Programming Training: http://man7.org/training/ -- To unsubscribe from this list: send the line "unsubscribe linux-man" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH 2/2] boot.7: Mention `systemd(1)' and its related `bootup(7)' [not found] ` <892a44c6ff3d40b79ca3121c3290fae0-mfwitten-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> 2015-03-11 19:54 ` [PATCH 1/2] boot.7: Copy edit Michael Witten @ 2015-03-11 21:00 ` Michael Witten [not found] ` <f5773ca5390e4f248b6cbc2f2b047f0d-mfwitten-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> 1 sibling, 1 reply; 5+ messages in thread From: Michael Witten @ 2015-03-11 21:00 UTC (permalink / raw) To: Michael Kerrisk; +Cc: linux-man-u79uwXL29TY76Z2rM5mHXA It's important that the reader receive contemporary information. Signed-off-by: Michael Witten <mfwitten-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> --- man7/boot.7 | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/man7/boot.7 b/man7/boot.7 index 0b209d8..4541b8c 100644 --- a/man7/boot.7 +++ b/man7/boot.7 @@ -114,6 +114,15 @@ program to which are passed the parameters that haven't already been handled by the kernel. .SS Root user-space process +.TP +Note: +The following description applies to an OS based on UNIX System V Release 4. +Namely, a number of widely used systems have adopted a related but +fundamentally alternative approach known as +.BR systemd (1), +for which the bootup process is detailed in its associated +.BR bootup (7). +.LP When .I /sbin/init starts, it reads @@ -141,11 +150,8 @@ that actually start/stop the individual services. .SS Boot scripts .TP Note: -The following description applies to an OS based on UNIX System V Release 4, -which currently covers most commercial UNIX systems (Solaris, HP-UX, Irix, -Tru64) as well as the major Linux distributions (Red Hat, Debian, Mandriva, -SUSE, Ubuntu). -Some systems (Slackware Linux, FreeBSD, OpenBSD) +The following description applies to an OS based on UNIX System V Release 4. +Namely, a number of widely used systems (Slackware Linux, FreeBSD, OpenBSD) have a somewhat different scheme for boot scripts. .LP For each managed service (mail, nfs server, cron, etc.), there is @@ -199,7 +205,7 @@ To allow a system administrator to change these inputs without editing an entire boot script, some separate configuration file is used, and is located in a specific directory where an associated boot script may find it -(\fI/etc/sysconfig\fR on Red Hat systems). +(\fI/etc/sysconfig\fR on older Red Hat systems). In older UNIX systems, such a file contained the actual command line options for a daemon, but in modern Linux systems (and also @@ -213,6 +219,8 @@ the variable values. .IR /etc/rc[S0\-6].d/ , .I /etc/sysconfig/ .SH SEE ALSO +.BR bootup (7) +.BR systemd (1) .BR inittab (5), .BR bootparam (7), .BR init (1), -- 1.7.11.2.252.gc4a64c8 -- To unsubscribe from this list: send the line "unsubscribe linux-man" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply related [flat|nested] 5+ messages in thread
[parent not found: <f5773ca5390e4f248b6cbc2f2b047f0d-mfwitten-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>]
* Re: [PATCH 2/2] boot.7: Mention `systemd(1)' and its related `bootup(7)' [not found] ` <f5773ca5390e4f248b6cbc2f2b047f0d-mfwitten-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> @ 2015-03-22 19:47 ` Michael Kerrisk (man-pages) 0 siblings, 0 replies; 5+ messages in thread From: Michael Kerrisk (man-pages) @ 2015-03-22 19:47 UTC (permalink / raw) To: Michael Witten Cc: mtk.manpages-Re5JQEeQqe8AvxtiuMwx3w, linux-man-u79uwXL29TY76Z2rM5mHXA On 03/11/2015 10:00 PM, Michael Witten wrote: > It's important that the reader receive contemporary information. Quite! Thanks for this. Applied. Cheers, Michael > Signed-off-by: Michael Witten <mfwitten-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> > --- > man7/boot.7 | 20 ++++++++++++++------ > 1 file changed, 14 insertions(+), 6 deletions(-) > > diff --git a/man7/boot.7 b/man7/boot.7 > index 0b209d8..4541b8c 100644 > --- a/man7/boot.7 > +++ b/man7/boot.7 > @@ -114,6 +114,15 @@ program > to which are passed the parameters that haven't already been > handled by the kernel. > .SS Root user-space process > +.TP > +Note: > +The following description applies to an OS based on UNIX System V Release 4. > +Namely, a number of widely used systems have adopted a related but > +fundamentally alternative approach known as > +.BR systemd (1), > +for which the bootup process is detailed in its associated > +.BR bootup (7). > +.LP > When > .I /sbin/init > starts, it reads > @@ -141,11 +150,8 @@ that actually start/stop the individual services. > .SS Boot scripts > .TP > Note: > -The following description applies to an OS based on UNIX System V Release 4, > -which currently covers most commercial UNIX systems (Solaris, HP-UX, Irix, > -Tru64) as well as the major Linux distributions (Red Hat, Debian, Mandriva, > -SUSE, Ubuntu). > -Some systems (Slackware Linux, FreeBSD, OpenBSD) > +The following description applies to an OS based on UNIX System V Release 4. > +Namely, a number of widely used systems (Slackware Linux, FreeBSD, OpenBSD) > have a somewhat different scheme for boot scripts. > .LP > For each managed service (mail, nfs server, cron, etc.), there is > @@ -199,7 +205,7 @@ To allow a system administrator to change these > inputs without editing an entire boot script, > some separate configuration file is used, and is located in a specific > directory where an associated boot script may find it > -(\fI/etc/sysconfig\fR on Red Hat systems). > +(\fI/etc/sysconfig\fR on older Red Hat systems). > > In older UNIX systems, such a file contained the actual command line > options for a daemon, but in modern Linux systems (and also > @@ -213,6 +219,8 @@ the variable values. > .IR /etc/rc[S0\-6].d/ , > .I /etc/sysconfig/ > .SH SEE ALSO > +.BR bootup (7) > +.BR systemd (1) > .BR inittab (5), > .BR bootparam (7), > .BR init (1), > -- Michael Kerrisk Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/ Linux/UNIX System Programming Training: http://man7.org/training/ -- To unsubscribe from this list: send the line "unsubscribe linux-man" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2015-03-22 19:47 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-03-12 15:00 [PATCH 0/2] boot.7: Copy editing and update Michael Witten
[not found] ` <892a44c6ff3d40b79ca3121c3290fae0-mfwitten-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-03-11 19:54 ` [PATCH 1/2] boot.7: Copy edit Michael Witten
[not found] ` <bb335978674c4676933438ca9bd11e1f-mfwitten-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-03-22 19:35 ` Michael Kerrisk (man-pages)
2015-03-11 21:00 ` [PATCH 2/2] boot.7: Mention `systemd(1)' and its related `bootup(7)' Michael Witten
[not found] ` <f5773ca5390e4f248b6cbc2f2b047f0d-mfwitten-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-03-22 19:47 ` Michael Kerrisk (man-pages)
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).