Configuración del LILO (LInux LOader) Introducción 11.. PPrrooppóóssiittoo _L_i_n_u_x puede ser inicializado usando mecanismos diferentes. La inicialización envuelve la lectura y la colocación en la memoria del archivo del kernel (a veces llamado zImage, a veces vmlinuz), y luego su ejecución. A pesar de que eso parece simple, hay varios detalles que se deben tener en cuenta, y es por eso que inicializar un sistema operativo es un tipo de ``arte oscuro''. A Diferencia de otros cargadores hechos para otros sistemas operativos comerciales, el _L_I_L_O está completamente documentado y es realmente, uno de los cargadores más versátiles de los existentes. Primero se explicará lo que está relacionado con el LILO, y después lo que usted puede hacer con él. \index{lilo!configuración@configuración} 22.. LLooss pprriinncciippiiooss ddeell LLIILLOO Sin profundizar mucho, sigue una explicación sobre lo que es inicializar una máquina PC: 22..11.. EEll pprriimmeerr hhaabbiittaannttee:: eell BBIIOOSS Cuando un PC inicializa, el primer programa en asumir el control es el _B_I_O_S, que reside en la _R_O_M. Después de inicializar la mayor parte del hardware de su máquina, es cargado un pequeño programa, que normalmente se encuentra en el primer sector de un disquete o en el primer sector de un disco rígido. Este programa es llamado _M_B_R o _R_e_g_i_s_t_r_o _M_a_e_s_t_r_o _d_e _A_r_r_a_n_q_u_e. 22..22.. DDeell MMBBRR ddeell ddiissccoo rrííggiiddoo aall SSOO El _M_B_R del disco rígido, usando el BIOS, hace una acción entre dos opciones: La primera posibilidad (como el MBR incluido con el DOS) es que él localiza la partición activa y carga el primer sector _d_e _e_s_a partición. Ese sector contiene un programita muy pequeño que sabe un poco más sobre los detalles internos del _s_i_s_t_e_m_a _o_p_e_r_a_t_i_v_o que está en esa partición. Él irá a cargar o los componentes básicos del sistema o simplemente otro cargador de inicialización más sofisticado que terminará el trabajo. La segunda posibilidad es que el MBR del disco rígido pueda cargar informaciones directamente de una de las particiones, y usarlas para cargar sistemas operativos en cualquier partición. El LILO puede ser configurado de esa manera, así como el cargador de inicialización del OS/2 y el Partition Magic, dos cargadores muy conocidos. 22..33.. EEll sseeccttoorr ddee iinniicciiaalliizzaacciióónn ddeell ddiisskkeettttee El sector de inicialización de un disquete puede ser comparado al sector de inicialización de una partición activa. Normalmente, es procesada la carga del sistema operativo presente en el propio diskette. 22..44.. YY eell LLIILLOO El _L_I_L_O es extremadamente flexible, y aquí está el por qué: · Puede ser instalado como un substituto del _M_B_R o como el sector de inicialización de una partición, y aún inicializar _L_i_n_u_x y muchos otros SOs de cualquier partición o disco. · Puede ser instalado en el sector de inicialización de un diskette y aun así hacer su tarea normal de inicializar casi todo en el o los discos rígidos. · Fuera del sector de inicialización, no tiene archivos escondidos, ni usa una partición especial. Y además de eso, sus archivos de configuración pueden ser instalados en cualquier partición, hasta en aquéllas que no son _L_i_n_u_x, e incluso en un subdirectorio de una partición _D_O_S. · Puede inicializar varias configuraciones diferentes de kernel y hasta varios kernels diferentes. · Puede inicializar más de una instalación _L_i_n_u_x. · Puede inicializar _L_i_n_u_x en cualquier drive (disquetera). 22..55.. EEll LLIILLOO,, LLiinnuuxx,, yy eell mmuunnddoo Cuando instale _L_i_n_u_x en un sistema con muchos SOs (a parte de _L_i_n_u_x), lo siguiente es una regla fija: instale y configure la inicialización de todos los otros SOs primero, porque ellos son menos flexibles. De este modo, será más fácil configurar el LILO para inicializar todos los otros SOs. 33.. LLaa ccaajjaa ddee ddiiáállooggoo ddee ccoonnffiigguurraacciióónn ddeell LLIILLOO Ahora que usted sabe un poco sobre lo que el _L_I_L_O puede hacer, puede configurarlo usando el _L_i_n_u_x_c_o_n_f. La caja de diálogo principal es dividida en dos secciones. Esta es una introducción para cada sección: 33..11.. OOppcciioonneess bbáássiiccaass Esta sección trata de cómo instalar el _L_I_L_O. \index{lilo!opciones@opciones} 33..11..11.. DDeesshhaabbiilliittaannddoo eell LLIILLOO Si usted inicializa su sistema _L_i_n_u_x sin _L_I_L_O, podrá hallar el _L_i_n_u_x_c_o_n_f un poco aburrido pues él siempre intenta certificar si el _L_I_L_O está configurado correctamente. Usted puede desactivar el soporte del _L_i_n_u_x_c_o_n_f al _L_I_L_O en cualquier momento. Eso afecta sólo al _L_i_n_u_x_c_o_n_f, y nada más. Eso no irá a desinstalar el _L_I_L_O, apenas le dirá al _L_i_n_u_x_c_o_n_f: ``deje de chequear el LILO''. 33..11..22.. IInnssttaallaannddoo eell sseeccttoorr ddee aarrrraannqquuee El _L_I_L_O es despertado en la inicialización ejecutándose un programita muy pequeño, llamado sseeccttoorr ddee iinniicciiaalliizzaacciióónn. Este programa debe ser instalado en un lugar estratégico. La lista de ayuda de este campo le ofrece una lista de opciones válidas en orden de preferencia. Si la partición _L_i_n_u_x es la aaccttiivvaa, no es muy importante. Si no lo fuera, o si su partición _L_i_n_u_x no fuera la primera del disco rígido, usted debe instalar el sector de inicialización en el Registro Maestro de Arranque del primer disco, o en un diskette. Note que instalar el sector de arranque en un diskette es, después de todo, rápido, pues sólo se lee un sector. Todos los otros archivos quedan en la partición _L_i_n_u_x de su disco rígido. Si usted tiene otro administrador de arranque (el _a_d_m_i_n_i_s_t_r_a_d_o_r _d_e _a_r_r_a_n_q_u_e _d_e_l _O_S_/_2, o el Partition Magic), entonces lo correcto es instalar el sector de inicialización en la partición Linux. Usted tendrá que informar al otro administrador de inicialización sobre esa partición nueva. El _g_e_r_e_n_c_i_a_d_o_r _d_e _a_r_r_a_n_q_u_e _d_e_l _O_S_/_2 puede (como el LILO) inicializar Linux aun si él está localizado en un segundo disco rígido (no en el primario). 33..11..33.. MMooddoo ddee aarrrraannqquuee ddeell BBIIOOSS Conocido por inicializar más rápido. Conocido por no funcionar en algunas máquinas. No se tiene experiencia relacionada con él. 33..11..44.. CCóóddiiggoo ddee llaa ttaabbllaa ddee iinniicciiaalliizzaacciióónn El LILO crea una tabla que deja al cargador de arranque localizar los archivos del kernel. Esta codificación es hecha como pista/cabeza/sector, o como un número de bloque lineal. Con algunos controladores SCSI, la primera estrategia no funciona. Si a usted le sucede eso, intente usar el modo lineal (linear). Muchos computadores modernos trabajan bien cuando usted usa un número de bloque lineal. 33..11..55.. mmoossttrraarr eell pprroommpptt LLIILLOO bboooott:: Con esa opción, el LILO mostrará su prompt. Normalmente está activa. LILO boot: De aquí usted puede: · Iniciar un SO diferente o una configuración diferente. · Pasar parámetros de tiempo de inicialización al kernel. En el prompt, usted puede seleccionar una configuración. Apriete la tecla TAB para ver la lista de configuraciones. Digite el nombre de una configuración o sencillamente apriete para seleccionar la configuración por defecto. Si usted necesita pasar parámetros de tiempo de inicialización al kernel, debe digitar primero el nombre de la configuración, aún si es la configuración por defecto. 33..11..66.. TTiieemmppoo ddee eessppeerraa ddeell pprroommpptt Sin un tiempo de espera, el LILO se quedará para siempre en el prompt. Usted puede especificar un tiempo de espera después del cual el LILO irá a inicializar la configuración por defecto automáticamente. El tiempo de espera por defecto es de 5 segundos. 33..11..77.. EEssppeerraa ddee llaa iinniicciiaalliizzaacciióónn El LILO puede esperar algún tiempo antes de presentar el prompt LILO boot: (en caso de estar configurado para mostrar el prompt) o inicializar (en caso de estar configurado para no mostrar el prompt). Durante esa espera, usted puede interceptar la secuencia de inicialización presionando Shift+Tab, y el LILO mostrará su prompt normal LILO boot:. Si usted desactiva el prompt, una espera de 5 segundos es recomendada. Informando 0 desactiva la espera. 33..11..88.. AArrcchhiivvoo ddee mmeennssaajjeess Usted debe colocar aquí la ruta de un archivo texto. Lo ideal es que ese texto sea breve y que quepa en la pantalla, dejando el prompt del _L_I_L_O en el final. Eso es usado para disquetes de inicialización de algunas distribuciones, pero usted puede usarlo, por ejemplo, para dar instrucciones a usuarios de un laboratorio o para miembros de la familia que no recuerdan qué teclas presionar. 33..22.. OOppcciioonneess eexxttrraa Esta sección provee la configuración por defecto, que el Linuxconf aplica a las diferentes entradas de configuración de _L_i_n_u_x. Colocar información aquí le ahorra el trabajo de repetirla más tarde. 33..22..11.. PPaarrttiicciióónn rraaíízz Usted debe decir dónde está su partición raíz _L_i_n_u_x. Una lista de ayuda le muestra todas las particiones. 33..22..22.. TTaammaaññoo ddeell ddiissccoo eenn mmeemmoorriiaa Los discos en memoria son usados para diskettes de inicialización para la instalación de Linux. Ellos son raramente usados en un sistema instalado. El desarrollo de los módulos del kernel más recientes tornan los discos en memoria configurables en tiempo de ejecución. Un valor de 0 desactiva esa función. 33..22..33.. MMooddoo ddee iinniicciiaalliizzaacciióónn:: ¿¿ssóólloo lleeccttuurraa?? Normalmente está activa. Para instalaciones _U_M_S_D_O_S, ésta debe estar desactivada, y generalmente se usa el _l_o_a_d_l_i_n para inicializar el sistema en vez del _L_I_L_O. A menos que usted realmente sepa lo que está haciendo, déjela activa. ¿Por qué? Porque cuando _L_i_n_u_x inicializa en modo sólo lectura, puede hacer inspecciones extensivas de las particiones sin dañarlas. Eso es bueno, especialmente si la inicialización es después de una caída del sistema que dejó las particiones fuera de sincronía. ¿Y por qué no meterse con las particiones? Bien, _L_i_n_u_x soporta múltiples registros de horario (time stamp) por archivo. Uno es el "horario del último acceso", que significa que el filesystem ha cambiado (se escribieron datos en el disco) sólo por haber leído un archivo (que es exactamente lo que sucede en la inicialización). Este registro del último acceso es muy útil, pero se torna algo incómodo en la inicialización. El "solamente lectura" le dice al _L_i_n_u_x que desactive esa función. Después que la partición ha sido revisada, el sistema cambirá al modo de "escritura" automáticamente. 33..22..44.. OOppcciioonneess ddee iinniicciiaalliizzaacciióónn Algunos controladores requieren alguna información para inicializarse correctamente. Por ejemplo, algunos drivers de CDROM no son reconocidos. Para decir a Linux cuál es su CDROM, usted puede necesitar algo como: hdc=cdrom Eso le dirá a Linux que el dispositivo IDE maestro en la segunda interfaz IDE (/dev/hdc) es un drive de CDROM. 33..33.. CCoonnffiigguurraacciioonneess ddeell LLIILLOO ppaarraa LLiinnuuxx La sección de valores por defecto es seguida de varias secciones idénticas, que definen una configuración de arranque _L_i_n_u_x. Cada una de esas configuraciones puede repetir todos los parámetros de la sección por defecto. Usted puede simplemente sobreescribirlos en cada una, en caso que usted quiera cambiarlos. La primera será la configuración por defecto. Eso significa que el _L_I_L_O arrancará según esa configuración, a menos que escriba algo distinto en el prompt LILO boot:. Sólo dos campos difieren siempre de la sección por defecto. 33..33..11.. AArrcchhiivvoo ddee iimmaaggeemm ddeell kkeerrnneell La ruta del archivo del kernel que inicializará esta configuración. Note que un archivo de kernel puede ser usado por varias configuraciones. 33..33..22.. IIddeennttiiffiiccaacciióónn Es un nombre corto y único que identifica la configuración. Una vez que un archivo de kernel puede ser compartido por varias configuraciones, necesitamos una clave única, que será usada para interceptar el proceso de inicialización. El _L_I_L_O espera que una de esas identificaciones sea digitada para inicializar su configuración correspondiente. 33..44.. CCoonnffiigguurraacciioonneess ddee LLIILLOO ppaarraa oottrrooss SSOOss El _L_I_L_O puede inicializar casi todos los sistemas operativos existentes. Para cada sistema operativo que usted quiera inicializar, simplemente especifique su partición y una identificación. El _L_I_L_O sencillamente carga el sector de inicialización de la partición y lo ejecuta. 44.. MMoovviieennddoo aarrcchhiivvooss ddee ccoonnffiigguurraacciióónn ddeell LLIILLOO A veces, se desea hacer un test con el archivo de configuración del _L_I_L_O. Las buenas noticias son que puede ser movido de lugar y que usted puede informar al Linuxconf sobre eso. Vaya al menú "Configurar todos los archivos de configuración", encuentre la línea del /etc/lilo.conf y apriete el botón Editar. Coloque una ruta nueva para el archivo de configuración del _L_I_L_O. Note que el _L_I_L_O espera encontrar su archivo de configuración en /etc/lilo.conf, por lo tanto al moverse ese archivo, debe ir a un subdirectorio que a su vez contenga un subdirectorio llamado etc, donde quedará el lilo.conf, por ejemplo, /mnt/tmp/etc/lilo.conf. \index{lilo!moviendo} 44..11.. ¿¿MMoovveerr eell LLIILLOO ?? ¿¿PPaarraa qquuéé?? Hay distintas razones del por qué alguien querría hacerlo. He aquí algunas: · Su disco rígido tiene más de 1024 cilindros y la partición raíz está después del cilindro número 1024. El _L_I_L_O usa el BIOS para cargar los archivos del kernel (además de otros), y si el archivo del kernel está arriba de ese límite de 1024, el _L_I_L_O no podrá inicializarlo apropiadamente. Si eso sucede, el _L_I_L_O le avisará en su instalación. · Su partición raíz está localizada en el tercer o cuarto disco rígido y su BIOS es muy antiguo y no sabe sobre la existencia del segundo canal IDE. En ese caso, el LILO le avisará en su instalación que algunos BIOS no consiguen acceder al disco. En la inicialización del sistema usted tendrá varios errores. Por otro lado, algunas distribuciones instalan todos los archivos necesarios para la inicialización en el directorio /boot, que está en una partición separada, si es que la partición Linux no está completa abajo de la marca del cilindro 1024. En ese caso, usted no necesitará mover el LILO. 44..22.. ¿¿CCóómmoo mmoovveerrlloo?? PPaarraa ddóónnddee?? En una máquina que tenga sólo Linux, con un disco grande con más de 1024 cilindros, muchas personas crearán una partición menor para el sistema base y una mayor para los datos, asegurándose de que todos los archivos del LILO están abajo del cilindro 1024. A veces, eso puede tornar la administración más compleja, pues usted tendrá dos particiones parcialmente completas. Otra solución es crear una partición muy pequeña (pocos megabytes) en el inicio del disco y reservarla para la configuración del _L_I_L_O y los archivos del kernel. Así usted puede crear sólo una partición raíz que es más fácil de administrar. Algunos pueden argumentar que crear una única partición es malo pues usted está colocando "todos los huevos en la misma cesta". Dado que el formato del filesystem EXT2 distribuye la administración de información por toda la partición, con replicación, eso no es un problema. Entonces usted tiene una partición que encaja en estos términos, y que es totalmente accesible por el BIOS. Suponiendo que esa partición esté montada en el directorio /lilo y usted quiera colocar todos los archivos de configuración en la raíz de esa partición, he aquí los pasos a seguir: · mkdir /lilo/etc · cp /etc/lilo.conf /lilo/etc/lilo.conf · mkdir /lilo/boot · cp /boot/* /lilo/boot · cd / · tar cf - dev | (cd /lilo && tar xvf -) · cp /vmlinuz /lilo Usted puede activar esa configuración recién movida así: /sbin/lilo -r /lilo Y usted puede hacer eso con el Linuxconf, diciendo que el /etc/lilo.conf ahora es /lilo/etc/lilo.conf. De ahora en adelante, usando el Linuxconf, eso será completamente claro para usted o cualquiera que venga a administrar su máquina. 55.. AAlltteerrnnaattiivvaass aall LLIILLOO _L_i_n_u_x puede ser inicializado desde un disquete o usándo el loadlin. Eso no tiene mucho que ver con el _L_I_L_O, pero es importante saberlo. Asumiendo que su partición raíz de _L_i_n_u_x es /dev/hdaX: 55..11.. UUssaannddoo uunn ddiissqquueettee Para crear un diskette de inicialización, haga: · cp zImage /dev/fd0 · rdev /dev/fd0 /dev/hdaX · rdev -R /dev/fd0 1 55..22.. UUssaannddoo eell llooaaddlliinn Para inicializar con el loadlin (un programa _D_O_S), copie el archivo del kernel para su partición _D_O_S y digite, en el prompt del _D_O_S: loadlin zimage root=/dev/hdaX ro \index{loadlin}