Siguiente Anterior Contenidos

4. Instalando Sysvinit

4.1 Preparando Sysvinit

En circunstancias normales el kernel, una vez que está cargado y ha inicializado algunos componentes del sistema, intenta cargar un programa llamado init que finaliza el proceso de arranque del sistema. En la mayoría de los sistemas Linux este programa se llama Sysvinit, que es precisamente el que vamos a instalar ahora mismo en nuestro sistema LFS.

Una vez modificadas estas últimas cuatro líneas, el fichero debería parecerse a:

   @if [! -p $(ROOT)/dev/initctl ]; then \
   echo "Creating $(ROOT)/dev/initctl" \
   rm -f $(ROOT)/dev/initctl; \
   mknod -m 600 $(ROOT)/dev/initctl p; fi
 

4.2 Configurando Sysvinit

Para que Sysvinit funcione debemos crear su fichero de configuración. Crea el fichero $LFS/etc/inittab de la siguiente forma:

# Begin /etc/inittab
 
id:2:initdefault:
 
si::sysinit:/etc/init.d/rcS
 
~~:S:wait:/sbin/sulogin
 
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
z6:6:wait:/sbin/sulogin
 
ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now
 
1:2345:respawn:/sbin/sulogin
 
# End /etc/inittab
 

4.3 Copiando los ficheros passwd y group

Observa el fichero inittab. Cuando arranquemos el sistema, init arrancará el programa sulogin, el cual preguntará por la contraseña de root. Por esta razón debemos tener por lo menos un fichero passwd presente en el sistema LFS. Utilizaremos los ficheros passwd y group existentes en el sistema actual. Como las contraseñas están encriptadas es preferible copiar el fichero existente en vez de volver a escribirlas todas. Es fácil meter la pata, y de esta forma ahorraremos trabajo más adelante:

4.4 Instalando una shell para root

Cuando sulogin te pregunta la contraseña de root y la introduces, es necesario que se inicie una shell, normalmente bash. Como no hay librería instaladas aún necesitamos enlazar bash de forma estática, como hicimos con sisvinit.

4.5 Probando el sistema

Una vez que hayas completado esta sección podemos probar a conectarnos al sistema. Aparecerán algunos errores. Son debidos a que init no puede arrancar los scripts de rcS y rc. Instalaremos estos scripts más tarde.

Ten en cuenta que no podrás apagar el sistema con un programa como shutdown. A pesar de que el programa está presente, te dará el error "You don't exist. Go away." El problema es que el programa no puede encontrar el fichero de contraseñas. A pesar de que shutdown está enlazado estáticamente con sus correspondientes librerías sigue dependiendo de la NSS (Name Server Switch, Interruptor del servidor de nombres), que forma parte la librería de GNU C. Está librería será instalada más adelante. NSS indica, en este caso, donde se puede encontrar el fichero passwd.

Por el momento puedes reiniciar el sistema con reboot -f. De esta forma el sistema no se apaga, sino que se reinicia de inmediato. Como el sistema de ficheros está montado como sólo lectura no se produce daño alguno al sistema, aunque es posible que la próxima vez que intentes montarlo recibas un mensaje advirtiéndote de que la última vez que se desmontó hubo problemas y sería aconsejable ejecutar e2fsck para asegurar la integridad del sistema de ficheros.


Siguiente Anterior Contenidos