Professional Documents
Culture Documents
Proceso de arranque en Linux etapas. Las primeras operaciones las realiza el BIOS. En esta etapa se realizan operaciones bsicas de hardware. En esta primera etapa se localiza el sector de arranque (o MBR) y se carga el cargador de este sector (normalmente una parte de LILO o GRUB). A partir de ese momento, el proceso de arranque contina de la siguiente manera: La primera etapa del cargador de arranque carga el resto del gestor de arranque, que normalmente da un mensaje que pregunta que sistema operativo (o tipo de sesin) el usuario desea inicializar. Bajo LILO, esto se hace a travs del mapa instalado que lee el archivo de configuracin /etc/lilo.conf para identificar los sistemas disponibles. Incluye datos como la particin de arranque y la localizacin del kernel para cada uno, as como las opciones personalizadas en su caso. El sistema operativo seleccionado es cargado en la memoria RAM, un sistema de archivos mnimo inicial se establece en la memoria RAM desde un archivo de imagen (" initrd "), y junto con los parmetros adecuados, el control se pasa al sistema operativo activado recientemente. LILO y GRUB difieren en algunos aspectos: LILO no entiende los sistemas de archivos, por lo que utiliza desplazamientos de disco sin procesar y el BIOS para cargar los datos. Se carga el cdigo del men y, a continuacin, en funcin de la respuesta, carga, o el sector MBR del disco de 512 bytes como en Microsoft Windows, o la imagen del kernel de Linux. GRUB por el contrario comprende los sistemas de archivos comunes ext2 , ext3 y ext4. Debido a que GRUB almacena sus datos en un archivo de configuracin en vez de en el MBR y a que contiene un interfaz de lnea de comandos, a menudo es ms fcil rectificar o modificar GRUB si est mal configurado o corrupto.
GRUB
GRUB se carga y se ejecuta en 4 etapas: 1. La primera etapa del cargador la lee el BIOS desde el MBR. 2. La primera etapa carga el resto del gestor de arranque (segunda etapa). Si la segunda etapa est en una unidad grande, en ocasiones se carga una fase intermedia 1.5, que contiene cdigo adicional para permitir que los cilindros por encima de 1024, o unidades tipo LBA, puedan leerse. El gestor de arranque 1.5 es almacenado (si es necesario) en el MBR o en la particin de arranque. 3. La segunda etapa del gestor de arranque ejecuta y muestra el men de inicio de GRUB que permite al usuario elegir un sistema operativo y examinar y modificar los parmetros de inicio. 4. Despus de elegir un sistema operativo, se carga y se le pasa el control. GRUB soporta mtodos de arranque directo, arranque chain-loading, LBA, ext2, ext3, ext4 y hasta "un pre-sistema operativo en mquinas x86 totalmente basado en comandos". Contiene tres interfaces: un men de seleccin, un editor de configuracin, y una consola de lnea de comandos.
LILO
LILO es ms antiguo. Es casi idntico a GRUB en su proceso, excepto que no contiene una interfaz de lnea de comandos. Por lo tanto todos los cambios en su configuracin deben ser escritos en el MBR y luego reiniciar el sistema. Un error en la configuracin puede dejar el disco inservible para el proceso de arranque hasta tal grado, que sea necesario usar otro dispositivo (disquete, etc) que contenga un programa capaz de arreglar el error. Adems, no entiende el sistema de archivos. En su lugar, la ubicacin de los archivos de imagen se almacenan directamente en el MBR y el BIOS se utiliza para acceder a ellos directamente.
Loadlin
Otra forma de cargar Linux es desde DOS o Windows 9x, donde el ncleo de Linux reemplaza completamente la copia de funcionamiento de estos sistemas operativos. Esto puede ser til en el caso de hardware que necesita ser conectado a travs del software y la configuracin de estos programas slo est disponible para DOS y no para Linux, debido a cuestiones de secretos industriales y cdigo propietario. Sin embargo, esta tediosa forma de arranque ya no es necesaria en la actualidad ya que Linux tiene drivers para multitud de dispositivos hardware. Aun as, esto era muy til en el pasado. Otro caso es cuando Linux se encuentra en un dispositivo que el BIOS no lo tiene disponible para el arranque. Entonces, DOS o Windows pueden cargar el driver apropiado para el dispositivo superando dicha limitacin del BIOS, y cargar Linux desde all.
Proceso de arranque en Linux montado. En este punto, con las interrupciones habilitadas, el programador puede tomar el control de la gestin general del sistema, para proporcionar multitarea preventiva, e iniciar el proceso para continuar con la carga del entorno de usuario en el espacio de usuario.
El proceso de inicio
El trabajo de Init es "conseguir que todo funcione como debe ser" una vez que el kernel est totalmente en funcionamiento. En esencia, establece y opera todo el espacio de usuario. Esto incluye la comprobacin y montaje de sistemas de archivos, la puesta en marcha los servicios de usuario necesarios y, en ltima instancia, cambiar al entorno de usuario cuando el inicio del sistema se ha completado. Es similar a los procesos Init de Unix y BSD, de la que deriva, pero en algunos casos se ha apartado o se hicieron a la medida. En un sistema Linux estndar, Init se ejecuta con un parmetro, conocido como nivel de ejecucin, que tiene un valor entre 1 y 6, y que determina que subsistemas pueden ser operacionales. Cada nivel de ejecucin tiene sus propios scripts que codifican los diferentes procesos involucrados en la creacin o salida del nivel de ejecucin determinado, y son estas secuencias de comandos los necesarios en el proceso de arranque. Los scripts de Init se localizan normalmente en directorios con nombres como "/etc/rc...". El archivo de configuracin de ms alto nivel para Init es /etc/inittab. Durante el arranque del sistema, se verifica si existe un nivel de ejecucin predeterminado en el archivo /etc/inittab, si no, se debe introducir por medio de la consola del sistema. Despus se procede a ejecutar todos los scripts relativos al nivel de ejecucin especificado. Despus de que se han dado lugar todos los procesos especificados, Init se aletarga, y espera a que uno de estos tres eventos sucedan:- que procesos comenzados finalicen o mueran; un fallo de la seal de potencia (energa); o una peticin a travs de /sbin/telinit para cambiar el nivel de ejecucin.
Enlaces externos
El cdigo de un IPL en GNU ensamblador [1]
Referencias
[1] http:/ / code. google. com/ p/ akernelloader/
Licencia
Creative Commons Attribution-Share Alike 3.0 Unported //creativecommons.org/licenses/by-sa/3.0/