The init program
Running a shell, or even a shell script, at boot time is fine for simple cases, but really you need something more flexible. Normally, Unix systems run a program called init that starts up and monitors other programs. Over the years, there have been many init programs, some of which I will describe in Chapter 9, Interfacing with Device Drivers. For now, I will briefly introduce the init from BusyBox.
The init program begins by reading the configuration file, /etc/inittab
. Here is a simple example, which is adequate for our needs:
::sysinit:/etc/init.d/rcS
::askfirst:-/bin/ash
The first line runs a shell script, rcS
, when init is started. The second line prints the message Please press Enter to activate this console
to the console and starts a shell when you press Enter. The leading -
before /bin/ash
means that it will become a login shell, which sources /etc/profile
and $HOME/.profile
before giving the shell prompt. One of the advantages of launching the shell like this is...