Next Previous Contents

4. Sobre LILO

4.1 �Qu� es LILO y para qu� sirve?

LILO, literalmente, el cargador de linux (LInux LOader) es un gestor de arranque muy vers�til que permite iniciar un sistema operativo (SO) cargando el sector de arranque de una partici�n del disco duro (o de un disquete).

Esto lo pueden hacer otros gestores de botado, pero s�lo LILO puede cargar el kernel de linux y arrancar linux presentando adem�s la posibilidad de pasar par�metros al kernel mediante l�neas de comando.

LILO tiene una serie de componentes que se cargan de manera secuencial. En primer lugar, se carga la primera parte (el comienzo del c�digo) del cargador en el sector de arranque. Cuando este primer tramo del cargador se ha iniciado, aparece una "L" en el monitor. Entonces, el resto (la mayor parte del c�digo) del cargador (que junto con la primera parte del c�digo se encuentra en el fichero /boot/boot.b) procede a iniciarse. Justo antes de que se cargue este segundo tramo de c�digo, se presenta "I" en la pantalla. Si todo ha ido bien, despu�s de haberse cargado, la siguiente letra de LILO, "L", aparecer� en la pantalla. Despu�s de esto, se produce la carga de la tabla de descriptores a partir del fichero /boot.map, donde se establecer�n las ubicaciones de los posibles kernels de linux as� como los sectores de arranque correspondientes a otros SOs que tambi�n gestione LILO. Por �ltimo, se carga el SO seleccionado, que en principio ser� el kernel de linux. Si todo ha funcionado sin problemas, aparecer� una "O" en el monitor y se habr� escrito en la pantalla la palabra LILO.

Si hubieren problemas en el proceso de arranque la presencia o ausencia de las letras de LILO junto con algunos otros mensajes ser�n claves para diagnosticar la causa del fallo.

4.2 �D�nde se instala LILO?

Dependiendo de las necesidades que tengamos, podremos instalar LILO:

La opci�n de instalar LILO en un disquete ("de arranque") es el procedimiento m�s seguro, pero tambi�n el m�s lento de cargar linux en nuestra m�quina.

Si solamente tenemos linux en nuestro ordenador, la opci�n id�nea ser�a instalar LILO en el MBR del primer disco duro. Si vamos a disponer de otros SOs coexistiendo en nuestra m�quina (MS-DOS, Windows), tambi�n podemos escoger la instalaci�n de LILO en el MBR, y gestionar con �l la carga de los SOs. Pero con esto hay que tener ciertas precauciones.

Si ya tenemos un SO en una partici�n, p. ej. Windows 95, cuando instalemos LILO en el MBR, sobreescribiremos dicho sector y ya no podremos arrancar Windows 95, si no lo gestiona el propio LILO. Si tenemos linux instalado con LILO en el MBR y despu�s instalamos p. ej., Windows 95, se borrar� LILO del MBR y no podremos arrancar linux. En tal caso, para poder usar LILO como gestor com�n, habr�a que cargar linux con un disquete de arranque y reinstalar, desde linux LILO en el MBR. Por lo tanto, si vamos a meter varios SOs en nuestra m�quina, es mejor instalar primero los otros y luego linux, usando despu�s LILO como gestor de arranque de todos los SOs.

Si nos planteamos iniciar los diversos SOs, inclu�do linux desde otro gestor de arranque, como por ejemplo el moderno BootMagic del PartitionMagic 4.0 (Englobado ya en El Caldera OpenLinux 2.2), la mejor opci�n ser�a escribir LILO en el sector de arranque de la partici�n linux nativa correspondiente. En tal caso, cuando instalemos linux, deberemos marcar dicha partici�n ra�z como activa (usando el comando "a" de fdisk o el "b" de cfdisk).

4.3 �Qu� limitaciones impone el BIOS a LILO?

Excepto en el caso de que LILO sea el gestor de otros SOs, ser� el BIOS u otro cargador el responsable de ejecutar el sector de arranque de la partici�n. El BIOS (Basic Input Output System) cuando encendemos el ordenador, lleva a cabo el POST (Power-On Self Test) para comprobar los par�metros de la configuraci�n de hardware que se encuentran permanentemente salvados en el chip CMOS (Complementary Metal Oxyde Semiconductor) RAM (continuamente alimentado por una bater�a aunque el ordenador se apague): memoria instalada, disqueteras, discos duros, cd-roms,...

Despues del test, BIOS muestra en la pantalla los valores de los par�metros de hardware y procede a arrancar el SO. En el caso de un disco duro toma el MBR del disco primario y de �l se cargar� el programa gestor de arranque. Anta�o, el MBR conten�a el sistema de arranque del �nico sistema operativo instalado. Hoy d�a como es posible cargar m�s de un SO, para arrancar, hace falta un gestor de arranque m�ltiple, como por ejemplo LILO. Por lo tanto, LILO est� limitado por las opciones del BIOS. Adem�s, LILO depende del BIOS para cargar los ficheros /boot/boot.b; /boot.map; los diversos kernels; los sectores de arranque de los otros Sos y el mensaje de arranque de LILO si se ha definido.

Las restricciones m�s importantes que afectan LILO eran en el caso de BIOS antiguos la limitaci�n a los dos primeros discos duros y la imposibilidad de acceder m�s all� de 1024 cilindros por disco, lo cual se vulneraba en cuanto el disco duro superaba los 504 Mbytes, por lo que conven�a tener la partici�n ra�z que contuviera los kernels en las primeras posiciones de la tabla. Los BIOS de las modernas placas base ya soportan hasta cuatro dispositivos (discos duros o cdroms). As�, cuando la partici�n de arranque de linux se encuentra en el segundo, tercero o cuarto disco duro, LILO imprime un mensaje de precauci�n pero contin�a. El l�mite de los 1024 cilindros no ha cambiado con los nuevos BIOS, pero los controladores de disco con soporte de LBA (Logical Block Address)o LARGE(IDEs con m�s de 1024 cilindros, la mayor�a de EIDEs y todos los SCSI) pueden "traducir" o "remapear" la geometr�a del disco en otra equivalente de manera que parezca que el sistema tiene menos de los 1024 cilindros y se puedan gestionar hasta casi 8 Gbytes. Si la informaci�n acerca de la geometr�a del disco que hay en el men� del BIOS (remapeada con p.ej. LBA) no es la misma (en cuanto a cilindros/cabezas/sectores) que la que nos da fdisk, entonces se producir� un problema de "geometry mismatch" (no equivalencia de geometr�a) y LILO abortar� el arranque a menos que se utilice la opci�n "linear" en la configuraci�n de LILO.

4.4 �C�mo se configura e instala LILO?

La configuraci�n de LILO se hace en /etc/lilo.conf, pero antes que editar y escribir manualmente la configuraci�n en este archivo, existen interfaces o programas capaces de preparar una configuraci�n conveniente para el usuario, de manera que solamente en el caso de incorporar opciones avanzadas tenga que editar y modificar a mano el archivo.

En primer lugar existe un programa llamado "Quickinst" que acompa�a la distribuci�n original del programa LILO. Se trata de un gui�n (shell script) que produce una configuraci�n m�nima de LILO que luego conviene actualizar. Por otra parte la mayor parte de las distribuciones proporcionan un asistente durante la instalaci�n que ayuda a la configuraci�n de LILO. RedHat en su "INSTALL" dedica una parte importante a la configuraci�n de LILO. El"SETUP" de Slackware tambi�n lo permite. Distribuciones como Caldera OpenLinux o SuSE disponen de herramientas de instalaci�n que permiten una c�moda configuraci�n de LILO para el usuario (LISA y LIZARD para OpenLinux 1.3 y 2.2, y YAST para SuSE). Quiz� Debian ha sido un poco m�s espartana (al menos hasta Hamm 2.0) en su utilidad de instalaci�n para la configuraci�n de LILO: se limita a escribir una configuraci�n b�sica de LILO sin soporte para otros SOs ni otros kernels.

El fichero /etc/lilo.conf solo deber�a ser le�do por el superusuario administrador, ya que podr�a contener contrase�as. En caso de duda, deber�amos hacer (como root)

  chmod 600 /etc/lilo.conf
Escribiendo /etc/lilo.conf

El fichero /etc/lilo.conf comienza con una "global section" (secci�n general) seguida de una o m�s "system sections" (secciones para cada SO que LILO gestione) que comenzar�n por image= (si es un kernel linux) u other= (si es otro SO). Los comentarios en el fichero comienzan con el s�mbolo de la almohadilla (#).

Consideremos a continuaci�n las l�neas m�s importantes de /etc/lilo.conf:

Seccion general

Seccion linux

Seccion otros SOs

Otras opciones interesantes (solo algunas)

Despu�s de haber escrito el fichero /etc/lilo.conf, es necesario lanzar el "map installer" haciendo:

  /sbin/lilo
con lo cual LILO escribe un backup del sector de arranque, escribe la primera parte de su c�digo en �l y crea un nuevo fichero de mapeado (/boot/map). LILO anuncia entonces por la pantalla los SOs que gestiona, a�adiendo una estrella al que se arrancar� por defecto. Hay que recalcar que si cualquiera de los componentes de LILO cambia o se modifica su configuraci�n mediante /etc/lilo.conf, es necesario volver a reinstalar LILO con /sbin/lilo.

Configuraci�n m�nima de LILO y configuraci�n para gestionar linux y otro sistema operativo (win95)

Consideremos el siguiente fichero /etc/lilo.conf �nicamente para arrancar linux:

  #
  #Fichero de configuraci�n /etc/lilo.conf
  #
  # Secci�n general
  boot=/dev/hda
  delay=100
  vga=normal

  # Partici�n linux

    image=/vmlinuz
    root=/dev/hda1
    label=linux
    read-only  
Este ejemplo se interpreta de la siguiente forma:

LILO se va a instalar en el MBR del disco duro /dev/hda. El modo de video EGA es 80x25, el sistema linux nativo se encuentra en la primera partici�n del disco duro (/dev/hda1) y la imagen del kernel se encuentra en el fichero /vmlinuz. Despues de 10 segundos, arrancar� el sistema linux, cuyo nombre es "linux". Si hacemos /sbin/lilo, entonces aparecer� en el monitor:

  Added linux*
Veamos ahora otro fichero de configuraci�n para gestionar linux y win95:
  #
  # Fichero de configuraci�n /etc/lilo.conf
  #
  # Secci�n general

  boot=/dev/hda
  prompt
  timeout=100
  vga=normal

  # Partici�n linux

    image=/vmlinuz
    root=/dev/hdc1
    label=linux
    read-only  

  # Partici�n Windows 95

    other=/dev/hda1
    label=win95
    table=/dev/hda
En este caso, LILO tambi�n est� en el MBR del primer disco duro (/dev/hda) y hay dos sistemas operativos: linux en la partici�n /dev/hdc1 y Windows 95 en la partici�n /dev/hda1. La tabla de partici�n para el gestor de arranque corresponde al dispositivo /dev/hda.

si hacemos /sbin/lilo, aparecer� el mensaje:

  Added linux*
  Added win95

lo que significa que LILO va a gestionar los dos sistemas operativos y que por defecto el primero en arrancar ser� linux.

Cuando reinicialicemos el sistema, si todo ha ido bien aparecer� la palabra LILO seguida del indicador de arranque

  LILO boot:
y as� perman�cera durante unos 10 segundos, pasados los cuales si no hemos escrito el nombre de uno de los SOs, cargar� por defecto linux.

Si antes del tiempo, pulsamos la tecla TAB, entonces aparecer�n en pantalla los nombres de los SOs gestionados:

  linux       win95

4.5 �C�mo desinstalo LILO?

Hay razones para desear desinstalar LILO. Una, desinstalar el sistema linux de nuestra m�quina. Otra imperativa: porque algo va mal. LILO es un programa que, mal manejado, puede hacer al sistema no arrancable si se instala en el MBR. Mal configurado, impedir� el acceso al cualquier SO. En tales casos es indispensable disponer de disquetes de arranque para dichos SO. Por lo tanto es conveniente hacer el disco de arranque de Windows y el de arranque de linux (en el momento adecuado de la instalaci�n del sistema) de manera que nos permita acceder via disquetera al sistema correspondiente en caso de imposibilidad de arrancar. N�tese que en el BIOS el arranque deber� comenzar por defecto en la disquetera A:.

Una vez que hemos arrancado el SO, hay muchas maneras de desinstalar LILO del MBR. Si nos encontramos en DOS o Windows, basta con ejecutar el comando MS-DOS

  FDISK /MBR (� SYS C: si C: es el disco duro en cuyo MBR se instal� LILO)
si estamos en OS/2
  FDISK /NEWMBR
que escriben los primeros 446 bytes (el c�digo de arranque) en el MBR y dejando las particiones ilesas.

si estamos en linux, basta con hacer

  /sbin/lilo -u 
para restaurar el MBR anterior a la instalaci�n de LILO

Adem�s de todo esto puede hacerse otra cosa: Cuando LILO sobreescribe el MBR, salva una copia de backup en /boot/boot.xxxx, donde xxxx es un n�mero m�gico del dispositivo donde se ha instalado. Veamos algunos ejemplos

  Disco         /dev/zzz                xxxx
  IDE primario  /dev/hda                0300
  SCSI primario /dev/sda                0800
  floppy        /dev/fd0                0200
as�, si queremos desinstalar LILO del sector de arranque de alguno de estos dispositivos, bastar� con hacer:
  dd if=/boot/boot.xxxx of=/dev/zzz bs=446 count=1
Si LILO se ha instalado en una partici�n ra�z, no har� no arrancable ning�n otro sistema operativo. �nicamente, si est� mal instalado, har� que no arranque linux. Si deseamos restaurar el sector de arranque de la partici�n /dev/yyyy (p.ej. /dev/hda1) podemos reescribir el sector de botado haciendo:
  dd if=/dev/yyyy of=New-file bs=512 count=1
  dd if=Backup-Date of=/dev/yyyy
si lo que queremos es desinstalar linux, borraremos la partici�n root con fdisk.

4.6 LILO no funciona bien. Diagn�stico de errores.

Cuando LILO se inicia, si todo ha ido bien, presenta en la pantalla las cuatro letras "LILO". Como ya vimos, cada letra correspond�a a una acci�n. Si LILO no ha funcionado, las letras que presente en pantalla junto con ciertos mensajes, ser�n la clave para saber donde est� el problema. Veamos los m�s comunes:

La mayor parte de las veces, no se trata de un problema f�sico del dispositivo de botado, sino errores debidos a la no equivalencia entre la geometr�a del disco que fdisk presenta y que el BIOS ha remapeado. En tal caso el uso del par�metro "linear" en /etc/lilo.conf puede funcionar. Otras veces puede deberse a que se ha intentado instalar LILO en una partici�n l�gica. Y otras veces a causas m�s sutiles. Por ejemplo: Yo arranco linux junto a otros sistemas operativos con el gestor de arranque de Partition Magic y tengo LILO en una partici�n ra�z. Una vez hice un "resize" y cambi� el tama�o de mi partici�n linux nativa porque necesitaba espacio para instalar nuevos programas. Al terminar e intentar arrancar linux de su partici�n, apareci� en la pantalla "LI". Eso se debi� a que despu�s de haber hecho el cambio de tama�o, hab�a movido /boot/boot.b y no hab�a lanzado el map installer /sbin/lilo. Cog� mi disquete de arranque de linux, y cuando entr� ejecut� la orden y reinici� el sistema. Todo funcion�.


Next Previous Contents
Hosted by www.Geocities.ws

1