Frenzy Handbook | |
start => doc |
Процесс загрузки FrenzyЭтап kernelЗагрузка начинается с того, что BIOS передает управление загрузчику cdboot, находящемуся в загрузочной области компакт-диска. Он в свою очередь запускает BTX loader (/boot/loader). BTX loader читает файлы конфигурации, загружает ядро и необходимые модули и отображает меню загрузки (с логотипом). Затем идет загрузка ядра и определение им устройств. В конфигурации loader-а указано, что корневую файловую систему следует монтировать из сжатого образа /boot/frenzyroot.gz. После того, как ядро было загружено, из этого образа монтируется корневая файловая система и управление передается процессу /sbin/init, запущенному оттуда. Этап frenzyrootОбраз frenzyroot содержит несколько базовых утилит:
Также в каталоге /etc находятся некоторые необходимые файлы, в том числе специально созданные для frenzy rc-скрипты. Итак, /sbin/init запускает /etc/rc. Это нестандартный скрипт, который выполняет всю работу по начальной настройке и загрузке LiveCD. 1. Поиск загрузочного устройстваПервым делом мы должны найти и смонтировать тот диск, с которого загружается система. Скрипт по очереди ищет файл frenzy.uzip на всех CD-ROM приводах и USB Flash дисках. Если такой файл был найден, диск с ним монтируется в каталог /Frenzy/boot. 2. Монтирование сжатой файловой системы
Файл frenzy.uzip содержит сжатую файловую систему, которая будет использоваться в качестве корневой. Однако поскольку ее нельзя смонтировать поверх существующей корневой FS, мы поступаем следующим образом. Файловая система из frenzy.uzip монтируется в каталог /Frenzy/fs, после чего с помощью mount_nullfs поверх существующей корневой файловой системы мы монтируем из сжатого образа каталоги 3. Установка локалиПодгружаем красивый шрифт и выставляем screenmap. Необходимо для того, чтобы загрузочное меню было на русском. 4. Определение размера для RAM-дискаОпределяем, какой объем памяти есть в системе. Исходя из этого, устанавливаем размер RAM-диска по умолчанию (5, 10, 25 мегабайт). 5. Меню загрузчикаНа экран выводится меню загрузчика. Устанавливаем параметры загрузки (подробное их описание смотрите здесь). 6. Создание RAM-диска
Создаем RAM-диск указанного размера и монтируем его в /Frenzy/ramdisk. На RAM-диске будут храниться каталоги 7. Загрузка патчейПросматриваем каталог /Frenzy/boot/frenzy/conf. Если в нем содержатся скрипты с расширением .patch, выполняем их. Полезно в случае, если вы добавляете какие-то патчи для конфиг. файлов, но не хотите пересобирать сжатый образ. 8. Режим загрузки toram (по выбору)
Если в загрузчике был выбран параметр
После загрузки в память CD-ROM освобождается и выдвигается лоток привода. 9. Поиск разделов на жестком дискеИщем разделы на жестком диске. По умолчанию все разделы монтируются в режиме “только для чтения”. В меню загрузки также доступны такие опции:
10. Режим загрузки fromhdd (по выбору)
Если в загрузчике был выбран параметр
После загрузки образа с жесткого диска CD-ROM освобождается и выдвигается лоток привода. 11. Модули расширения
После подключения файловых систем из модулей производится монтирование с помощью mount_unionfs из RAM-диска каталога 12. Разное
И наконец, мы запускаем системный /etc/rc. Этап baseЗагрузка системных rc-скриптов почти ничем не отличается от стандартной FreeBSD. Различия следующие:
1. Часть rc-скриптов подправлена таким образом, чтобы они не запускались при наличии файла
2. После загрузки всех rc-скриптов запускается скрипт
|