Proceso de Arranque de Frenzy

kernel stage

El cargador de arranque se inicia cuando la BIOS le pasa el control al bootmanager que se encuentra en un área arrancable del CD. cdboot arranca el cargador BTX (/boot/loader). BTX lee su archivo de configuración, carga el kernel y los módulos necesarios. Luego muestra el menú de booteo (con el logo). Finalmente se habilitan los dispositivos reconocidos.

Está especificado en la configuración del cargador que el sistemas de archivo raíz “/” sea montado desde la imagen comprimida /boot/frenzyroot.gz. Después de cargar el kernel y montar el sistema de archivo raíz desde esa imagen, el control es pasado al proceso /sbin/init

frenzyroot stage

La imagen de frenzyroot contiene varias utilidades de base:

cp sh test echo init mdconfig mount mount_cd9660 mount_nullfs umount sleep

Hay muchos archivos importantes en /etc, incluyendo rc-scripts especialmente escritos para Frenzy.

/sbin/init arranca a /etc/rc. Este es un script no estandard que realiza la configuración inicial y el booteo del LiveCD.

1. Búsqueda de Dispositivos Booteables

En primer lugar se debe encontrar cual es el disco que contiene el sistema a inicializar y montarlo. El script busca el archivo frenzy.uzip en cada CD-ROM y en los dispositivos USB en ese orden. Cuando se encuentra el archivo, el disco que lo contiene se monta en el directorio /Frenzy/boot

2. Montar el sistema de archivos comprimido

El archivo frenzy.uzip contiene el sistema de archivos comprimido que será usado como raíz. Si no pudiera ser montado sobre un sistema raíz existente, hacemos lo siguiente: El sistema de ficheros de frenzy.uzip se monta en el directorio /Frenzy/fs, luego con la herramienta mount_nullfs se montan desde la imagen comprimida los directorios bin, boot, lib, libexec, sbin, usr sobre el sistema de ficheros existente.

3. Configuración Local

Se carga un juego de fuentes y un mapa de pantalla. Esto es necesario para mostrar el menú en ruso.

4. Calcular el tamaño de la RAM-disk

Comprobamos la cantidad de RAM en el sistema. En base a ello configuramos por defecto algunos de estos valores (10,15,30 o 45 megas) para la RAM-disk.

El menú de booteo se muestra en pantalla. Aquí seteamos los parámetros de arranque (su descripción verla en here )

6. Habilitando la RAM-Disk

Habilitamos la RAM-Disk con el tamaño especificado y la montamos en /Frenzy/ramdisk. Los directorios etc, root, var, mnt se ubicarán allí. Luego de crearlos, copiamos en ellos los archivos de los directorios que están /Frenzy/fs y los colgamos del directorio raíz con la herramienta mount_nullfs. La configuración definida en el menú al momento del booteo se almacena en /etc/frenzy.boot

7. Cargando Parches

Miramos en el directorio /Frenzy/boot/frenzy.conf; Si existieran scripts con nombre terminados en '.patch' se ejecutan. Esto es útil en el caso de que quiera agregar algunos parches para archivos de configuración, sin tener que reconstruir la imagen comprimida.

8. Modo de booteo opcional:'toram' (A memoria)

Si se elige el parámetro 'toram' el cargado se realiza en memoria:

Luego de la carga en memoria, se libera la compactera y el CD es expulsado.

9. Buscando particiones en el Disco Rígido

Por defecto las particiones encontradas se montan en modo “solo lectura”. Las siguientes opciones están disponibles en el menú:

Las particiones montadas se ubican bajo el directorio /mnt/

10. Modo de booteo opcional: 'fromhdd'

Si se elije el parámetro fromhdd el arranque del sistema se realizará desde el Disco Rígido.

* Se busca hasta encontrar el archivo frenzy/frenzy.uzip en cada partición montada.

Luego del arranque del sistema desde el Disco, la compactera se libera y el Cd es expulsado.

11. Miscelaneas

Por último, se ejecuta /etc/rc

base stage

La ejecución de los rc-scripts es muy similar a un FreeBSD estandar, con las siguientes diferencias:

1. Algunas partes de los rc-scripts están editadas de forma tal de no correrlos si existe /tmp/.frenzy. Estos scripts se usan para montar particiones descriptas en fstab y chequearlas con fsck (Esto no es necesario si se bootea desde el liveCD)

2. Después de haber ejecutado todos los rc-scripts, /etc/rc.d/FRENZY realiza lo siguiente: