====== 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. ==== 5. Menú de Booteo ==== El menú de booteo se muestra en pantalla. Aquí seteamos los parámetros de arranque (su descripción verla en [[doc_es:boot|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: * Se crea la RAM-disk del suficiente tamaño como para alojar al sistema (el tamaño se calcula automáticamente dependiendo de frenzy.uzip) y se monta en /Frenzy/mfs * Se copia /Frenzy/boot/frenzy/frenzy.uzip ahí y se vuelve a montar /Frenzy/fs desde este archivo. * Se remonta el sistema de ficheros desde el nuevo /Frenzy/fs como se describe en el punto 2. 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ú: * **hdrw** - Montado en modo escritura ( solo para FAT/UFS/EXT2FS ) * **nohdmnt** - Busca las particiones, crea los puntos de montaje y se actualiza fstab pero las particiones no se montan. * **nohdd** - No se realiza ni la búsqueda ni el montado de las particiones. 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. * Si se encuentra este archivo, se realizan las operaciones descriptas en el punto 8 (remontado de la imágen comprimida y los directorios) Luego del arranque del sistema desde el Disco, la compactera se libera y el Cd es expulsado. ==== 11. Miscelaneas ==== * La existencia del archivo /tmp/.frenzy (si es creado) se interpreta por scripts como un signo de que el arranque del sistema fue realizado desde CD/Flash. * El lenguaje del sistema queda establecido en /usr/local/bin/frlang * Se restaura el Backup desde diskette/HDD/USB/CD. Este paso puede ser cancelado eligiendo la opción **nobackup** 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: * Se ejecuta la utilidad (''/usr/local/bin/mouse-detect'') para detectar el mouse. * Si la opción **hwinfo** fue seleccionada, se ejecuta una utilidad que recolecta información del sistema. * Activado el autologin en la primera terminal (siempre permitido mientras el booteo sea desde CD/Dispositivos Flash) * Se ejecuta la Interfaz Gráfica (si fue elegida la opción **gui**)