Linux From Scratch XXVIII: Instalando y configurando los scripts de arranque

En el anterior artículo de esta serie, hemos dejado configurada la red. Vamos a continuar con nuestra instalación de Linux From Scratch. En este post instalaremos los scripts que cualquier sistema linux necesita para arrancar, al menos mientras no migremos a systemd.

Instalando los scripts

Los autores de Linux From Scratch han incluido todos los scripts necesarios para arrancar en un paquete propio. A diferencia de todos los que hemos instalado hasta ahora, este paquete es específico de Linux From Scratch. No se trata de ningún paquete de código fuente del upstream que haya que compilar, sino de un conjunto de scripts en bash que realizan las acciones necesarias para poner todo el sistema en funcionamiento. Podríamos hacernos nuestros propios scripts, pero LFS nos proporciona unos que son ideales para empezar con algo ya hecho.

Como no hay que compilar nada, la instalación de los scripts de arranque es trivial. Voy a hacerlo con los mismos scripts que he usado hasta ahora y así puedo generar un paquete también para ellos.

[~/lfs]$ sudo lfs lfs-bootscripts-20120901
root:/sources# tar xvf lfs-bootscripts-20120901.tar.bz2
root:/sources# cd lfs-bootscripts-20120901
root:/sources/lfs-bootscripts-20120901# make install
root:/sources/lfs-bootscripts-20120901# exit
[~/lfs]$ sudo lfsinst lfs-bootscripts-20120901.txz

Eso es todo. Con esto, los scripts están instalados. No os emocionéis. Todavía falta mucho para arrancar con ellos. Por ejemplo, falta configurarlos, que es lo que haremos a continuación.

Creando el inittab

El siguiente paso es crear el fichero inittab. Este fichero es el que lee el proceso init durante el arranque para determinar el qué runlevel arrancar y qué programas lanzar inicialmente. No voy a generar un paquete para este fichero.

[~/lfs]$ sudo lfs
root:/# cat > /etc/inittab << "EOF"
> # Begin /etc/inittab
> 
> id:3:initdefault:
> 
> si::sysinit:/etc/rc.d/init.d/rc S
> 
> l0:0:wait:/etc/rc.d/init.d/rc 0
> l1:S1:wait:/etc/rc.d/init.d/rc 1
> l2:2:wait:/etc/rc.d/init.d/rc 2
> l3:3:wait:/etc/rc.d/init.d/rc 3
> l4:4:wait:/etc/rc.d/init.d/rc 4
> l5:5:wait:/etc/rc.d/init.d/rc 5
> l6:6:wait:/etc/rc.d/init.d/rc 6
> 
> ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now
> 
> su:S016:once:/sbin/sulogin
> 
> 1:2345:respawn:/sbin/agetty --noclear tty1 9600
> 2:2345:respawn:/sbin/agetty tty2 9600
> 3:2345:respawn:/sbin/agetty tty3 9600
> 4:2345:respawn:/sbin/agetty tty4 9600
> 5:2345:respawn:/sbin/agetty tty5 9600
> 6:2345:respawn:/sbin/agetty tty6 9600
> 
> # End /etc/inittab
> EOF

Configurando el hostname

Hay que especificar en la configuración de los scripts cuál es el nombre de la máquina. Este nombre es el mismo que hemos puesto en el fichero /etc/hosts. En mi caso, he elegido gallifrey. Vosotros tenéis que cambiarlo por el vuestro.

root:/# echo "HOSTNAME=galligrey" > /etc/sysconfig/network

Configurando el reloj

Para configurar el reloj, es importante saber si nuestro sistema está usando UTC. Para comprobarlo se puede usar este comando que muestra la hora tal cual está configurada en la CMOS:

root:/# hwclock --localtime --show
Fri Mar 15 18:43:07 2013  -0.469099 seconds

Si la hora que os ha mostrado es la correcta, no es hora UTC, sino hora local. Si vuestro sistema usa UTC, la diferencia entre la hora real y la que os muestra este comando será igual a vuestra zona horaria en GMT. Por ejemplo, yo estoy en GMT+1, así que me muestra una hora menos que la real. Por lo tanto, es UTC. En el siguiente fichero de configuración tendremos que poner UTC=1 si usáis hora UTC y UTC=0 si usáis hora local.

En resumen: Si el comando anterior os ha mostrado la hora correcta, poned UTC=0 si no, poned UTC=1.

root:/# cat > /etc/sysconfig/clock << "EOF"
> # Begin /etc/sysconfig/clock
> 
> UTC=1
> 
> # Set this to any options you might need to give to hwclock, 
> # such as machine hardware clock type for Alphas.
> CLOCKPARAMS=
> 
> # End /etc/sysconfig/clock
> EOF

Configurando la consola

Otra cosa que hay que configurar es el mapa del teclado en la consola. Esto se hace en el /etc/sysconfig/console. En este fichero se pueden configurar algunas cosas más, como la fuente de la consola. Como yo no pongo nada de eso, basta con algo tan sencillo como esto:

root:/# cat > /etc/sysconfig/console << "EOF"
> # Begin /etc/sysconfig/console
> 
> KEYMAP="es"
> 
> # End /etc/sysconfig/console
> EOF
root:/# exit

De momento llegamos hasta aquí. En el próximo post seguiremos configurando más cosas.

EOF

Anuncios