Comentábamos en la sección anterior que el GRUB/LILO pasa el control de la máquina al núcleo y comienza la autodetección del hardware de nuestra máquina y carga los drivers de dispositivos. Toda la información que se genera la tenemos a nuestra disposición cada vez que arrancamos Linux, va apareciendo en el monitor de nuestro equipo.1.17
Si la cosa va bien comienza el proceso init: es el padre de todos los demás procesos, su finalidad es la de generar los procesos nucleares que necesita el sistema. Para iniciar el resto del sistema, init utiliza el fichero de configuración1.18 /etc/inittab1.19. Mediante este fichero podemos ajustar el inicio del sistema para que se ejecute según nuestros intereses.
Un ejemplo de fichero /etc/inittab1.20 es:
# /etc/inittab: init(8) configuration.
# $Id: inittab,v 1.91 2002/01/25 13:35:21 miquels Exp $
# The default runlevel.
id:2:initdefault:
# Boot-time system configuration/initialization script.
# This is run first except when booting in emergency (-b) mode.
si::sysinit:/etc/init.d/rcS
# What to do in single-user mode.
~~:S:wait:/sbin/sulogin
# /etc/init.d executes the S and K scripts upon change
# of runlevel.
#
# Runlevel 0 is halt.
# Runlevel 1 is single-user.
# Runlevels 2-5 are multi-user.
# Runlevel 6 is reboot.
l0:0:wait:/etc/init.d/rc 0
l1:1:wait:/etc/init.d/rc 1
l2:2:wait:/etc/init.d/rc 2
l3:3:wait:/etc/init.d/rc 3
l4:4:wait:/etc/init.d/rc 4
l5:5:wait:/etc/init.d/rc 5
l6:6:wait:/etc/init.d/rc 6
# Normally not reached, but fallthrough in case of emergency.
z6:6:respawn:/sbin/sulogin
# What to do when CTRL-ALT-DEL is pressed.
ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now
# Action on special keypress (ALT-UpArrow).
#kb::kbrequest:/bin/echo "Keyboard Request-edit /etc/inittab to let this work."
# What to do when the power fails/returns.
pf::powerwait:/etc/init.d/powerfail start
pn::powerfailnow:/etc/init.d/powerfail now
po::powerokwait:/etc/init.d/powerfail stop
# /sbin/getty invocations for the runlevels.
#
# The "id" field MUST be the same as the last
# characters of the device (after "tty").
#
# Format:
# <id>:<runlevels>:<action>:<process>
#
# Note that on most Debian systems tty7 is used by the X Window System,
# so if you want to add more getty's go ahead but skip tty7 if you run X.
#
1:2345:respawn:/sbin/getty 38400 tty1
2:23:respawn:/sbin/getty 38400 tty2
3:23:respawn:/sbin/getty 38400 tty3
4:23:respawn:/sbin/getty 38400 tty4
5:23:respawn:/sbin/getty 38400 tty5
6:23:respawn:/sbin/getty 38400 tty6
# Example how to put a getty on a serial line (for a terminal)
#
#T0:23:respawn:/sbin/getty -L ttyS0 9600 vt100
#T1:23:respawn:/sbin/getty -L ttyS1 9600 vt100
# Example how to put a getty on a modem line.
#
#T3:23:respawn:/sbin/mgetty -x0 -s 57600 ttyS3
Las entradas de este fichero son de la forma:
No vamos a entrar en la modificación de todos los aspectos que gestiona este fichero, tan sólo vamos a comentar cómo modificar los niveles de arranque.
$ dmesg
Para poder verla mejor, es usual usar (para salir q)
$ dmesg | less
En primer lugar init ejecuta el script /etc/init.d/rcS. Este script, irá llamando a los ficheros necesarios para configurar las variables de entorno, iniciar los sistemas de ficheros, ...
ca::ctrlaltdel:/sbin/shutdown -t1 -a -r now
si la mantenemos permitimos que cualquier usuario pueda hacer un reset con nuestra máquina con sólo pulsar [CTRL]+[ALT]+[DEL].