[bootlin/training-materials updates] master: Improvements in init details (f4f3a8f3)
Michael Opdenacker
michael.opdenacker at bootlin.com
Tue May 26 11:38:18 CEST 2020
Repository : https://github.com/bootlin/training-materials
On branch : master
Link : https://github.com/bootlin/training-materials/commit/f4f3a8f3ad4a26e4893f5e1694f3ac428af093d2
>---------------------------------------------------------------
commit f4f3a8f3ad4a26e4893f5e1694f3ac428af093d2
Author: Michael Opdenacker <michael.opdenacker at bootlin.com>
Date: Tue May 26 11:38:18 2020 +0200
Improvements in init details
Signed-off-by: Michael Opdenacker <michael.opdenacker at bootlin.com>
>---------------------------------------------------------------
f4f3a8f3ad4a26e4893f5e1694f3ac428af093d2
labs/sysdev-tinysystem/sysdev-tinysystem.tex | 2 +-
slides/sysdev-busybox/sysdev-busybox.tex | 4 ++--
.../sysdev-root-filesystem-minimal.tex | 10 ++++++----
3 files changed, 9 insertions(+), 7 deletions(-)
diff --git a/labs/sysdev-tinysystem/sysdev-tinysystem.tex b/labs/sysdev-tinysystem/sysdev-tinysystem.tex
index 766a73f6..f45e2d8e 100644
--- a/labs/sysdev-tinysystem/sysdev-tinysystem.tex
+++ b/labs/sysdev-tinysystem/sysdev-tinysystem.tex
@@ -190,7 +190,7 @@ The first user space program that gets executed by the kernel is
\code{/sbin/init} and its configuration file is \code{/etc/inittab}.
In the BusyBox sources, read details about \code{/etc/inittab} in the
-\code{examples/inittab} file.
+\projfile{busybox}{examples/inittab} file.
Then, create a \code{/etc/inittab} file and a \code{/etc/init.d/rcS}
startup script declared in \code{/etc/inittab}. In this startup
diff --git a/slides/sysdev-busybox/sysdev-busybox.tex b/slides/sysdev-busybox/sysdev-busybox.tex
index 93478f86..771fed35 100644
--- a/slides/sysdev-busybox/sysdev-busybox.tex
+++ b/slides/sysdev-busybox/sysdev-busybox.tex
@@ -114,14 +114,14 @@ yes, zcat, zcip}
\begin{itemize}
\item Busybox provides an implementation of an \code{init} program
\item Simpler than the init implementation found on desktop/server
- systems: no runlevels are implemented
+ systems ({\em SysV init} or {\em systemd})
\item A single configuration file: \code{/etc/inittab}
\begin{itemize}
\item Each line has the form \code{<id>::<action>:<process>}
\end{itemize}
\item Allows to run services at startup, and to make sure that
certain services are always running on the system
- \item See \code{examples/inittab} in Busybox for details on the
+ \item See \projfile{busybox}{examples/inittab} in Busybox for details on the
configuration
\end{itemize}
\end{frame}
diff --git a/slides/sysdev-root-filesystem-minimal/sysdev-root-filesystem-minimal.tex b/slides/sysdev-root-filesystem-minimal/sysdev-root-filesystem-minimal.tex
index 187b12ee..fa1ab335 100644
--- a/slides/sysdev-root-filesystem-minimal/sysdev-root-filesystem-minimal.tex
+++ b/slides/sysdev-root-filesystem-minimal/sysdev-root-filesystem-minimal.tex
@@ -7,17 +7,19 @@
applications
\item An \code{init} application, which is the first user space
application started by the kernel after mounting the root
- filesystem
+ filesystem (see \url{https://en.wikipedia.org/wiki/Init}):
\begin{itemize}
- \item The kernel tries to run \code{/sbin/init}, \code{/bin/init},
+ \item The kernel tries to run the command specified by the
+ \code{init=} command line parameter if available.
+ \item Otherwise, it tries to run \code{/sbin/init}, \code{/bin/init},
\code{/etc/init} and \code{/bin/sh}.
\item In the case of an initramfs, it will only look for
\code{/init}. Another path can be supplied by the \code{rdinit}
kernel argument.
- \item If none of them are found, the kernel panics and the boot
+ \item If none of this works, the kernel panics and the boot
process is stopped.
\item The \code{init} application is responsible for starting all other
- user space applications and services
+ user space applications and services:
\end{itemize}
\item A shell, to implement scripts, automate tasks, and allow a user
to interact with the system
More information about the training-materials-updates
mailing list