Skip to content

Commit

Permalink
Improvements in init details
Browse files Browse the repository at this point in the history
Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
  • Loading branch information
michaelopdenacker committed May 26, 2020
1 parent a31a453 commit f4f3a8f
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 7 deletions.
2 changes: 1 addition & 1 deletion labs/sysdev-tinysystem/sysdev-tinysystem.tex
Expand Up @@ -190,7 +190,7 @@ \section{System configuration and startup}
\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
Expand Down
4 changes: 2 additions & 2 deletions slides/sysdev-busybox/sysdev-busybox.tex
Expand Up @@ -114,14 +114,14 @@ \section{Busybox}
\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}
Expand Down
Expand Up @@ -7,17 +7,19 @@ \subsection{Minimal filesystem}
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
Expand Down

0 comments on commit f4f3a8f

Please sign in to comment.