PARTES Y EJECUION DE lilo/LILO


Hay que tener muy clara la diferencia entre el proceso de instalacion de LILO (que involucra el "instalador" /sbin/lilo y el archivo de
configuracion /etc/lilo.conf/) y el de ejecucion del "bootmanager" LILO propiamente dicho.



PARTES NECESARIAS EN LA INSTALACION DE LILO


LILO se instala desde un sistema de archivos Linux y con un usuario root. Las partes involucradas en este proceso son, por tanto, archivos,
siendo los necesarios:

1.El ejecutable instalador lilo normalmente ubicado en /sbin
2.El archivo de configuracion. Las versiones modernas asumen por defecto /etc/lilo.conf, pero puede usarse otro si usamos la
opcion -C ruta_y_nombre_del_archivo.

Las opciones adicionales que se pasen a /sbin/lilo desde la linea de comandos tienen preferencia sobre las especificadas en el
archivo de configuracion.

3.El archivo que contiene el codigo de arranque. Por defecto es /boot/boot.b. Si se quiere usar otro o esta en otra ruta hay dos
formas de explicitarlo al instalador /sbin/lilo:
Mediante la entrada en el lilo.conf install=ruta_y_nombre_del_archivo
Mediante la opcion -i de /sbin/lilo
4.Si vamos a utilizar LILO tambien para poder iniciar algun "bootsector" sera tambien necesario:
1.El "chain loader" que es el codigo que permite saltar a un "bootsector" localizable por la BIOS. Por defecto se asume que esta en
/boot/chain.b. Puede utilizarse otro si en la seccion correspondiente a ese "bootsector" o SO del lilo.conf a usar se
explicita con:

loader=ruta_y_nombre_del_chain_loader

2.Si nuestra version de lilo es la 0.19 o anterior y queremos tener la posibilidad de arrancar un "bootsector" de DOS de un disco
que no sea el primero, ademas necesitaremos un "chain loader" especial para estas situaciones, el /boot/any_d.b. Si la
version de lilo es la 0.20 solo hace falta el chain.b (Pero hay que escribir algo mas en el lilo.conf)




PARTES INVOLUCRADAS EN LA EJECUCION DE LILO


Si la instalacion de LILO fue satisfactoria, la primera instancia de LILO se habra copiado al sector de arranque de la particion especificada con la
opcion -b o con la entrada del archivo de configuracion empleado:

boot=/dev/lo_que_sea

Normalmente el destino de esa primera instancia sera:

La MBR del primer disco: boot=/dev/hda
La particion nativa de Linux o la extendida: boot=/dev/hda3 (por ejemplo)
El sector de arranque de un disquete: boot=/dev/fd0

Ademas el instalador lilo genera un "map file" o archivo que contiene la localizacion absoluta en sectores de los "kernels" de Linux y
"bootsectors" correspondientes a las distintas opciones del menu de LILO.

Por defecto, este es colocado en /boot/map. Si se quiere colocarlo en cualquier otro sitio y con cualquier nombre puede especificarse con la
opcion -m de lilo o con la entrada del archivo de config:

map=ruta_y_nombre_del_map_file

La primera instancia de LILO tiene guardada la posicion absoluta en el disco (que puede ser cualquiera!) de la segunda instancia, contenida en
el boot.b (o en el especificado con install= o con -i), y la del "map file", con el resto de las localizaciones. Es decir, la ubicacion fisica de
boot.b, chain.b, y los "kernels" y "bootsectors" debe ser la misma que los especificados en el proceso de instalacion. Si no ocurre
esto, cuando arranque LILO lo hara a medias, colgandose y presentando solo alguna de sus letras Por ejemplo: LI o LIL-. (En el README de lilo
viene detallada el significado de cada posibilida).

No hay que olvidar, que estos procesos de localizacion, LILO utiliza la BIOS, por lo que pueden darse los conocidos problemas con discos
grandes si la BIOS es vieja o no esta adecuadamente configurada.

Para estos casos viene muy bien crear un disco de arranque que contenga LILO, boot.b, chain.b, el "map file" y una copia del "kernel"
(o de los "kernels"). Asi podremos arrancar sin problemas el "kernel" y nuestro sistema linux DEL DISCO DURO. Por supuesto, una solucion
mas elegante, consiste en alojar en una posicion por debajo del cilindro 1024 de un disco accesible por nuestra BIOS una pequeña particion
primaria de Linux con el "kernel" y el directorio /boot (con al menos boot.b, chain.b y el "map file"). De todas formas, con las BIOS
actuales no deberiamos tener ningun problema de este tipo, y estas ultimas medidas son innecesarias.


NOTAS

1.Siempre que se ejecute el instalador /sbin/lilo conviene hacerlo con la opcion -v para que nos de algo de informacion sobre el
proceso de instalacion. (Si se pone -v -v -v nos dara el maximo de informacion)

2.Un punto interesante a tener en cuenta es que si hemos arrancado con un disco de rescate o con el de instalacion de la distribucion y,
posteriormente hemos montado la particion root bajo /mnt (por ejemplo) y pretendemos reinstalar LILO con la configuracion y archivos
del disco duro, entonces, las rutas por defecto no funcionaran (o no del modo deseado) al ser ahora / el disquete.

Desde luego esto se soluciona especificando manualmente las rutas correctas con:

lilo -C /mnt/etc/lilo.conf -i /mnt/boot/boot.b -m /mnt/boot/map

Pero es mas practico la opcion equivalente:

lilo -r /mnt