DragonFly. Интермедия: знание через силу. Пара слов о загрузке

Алексей Федорчук

На самом деле эта тема заслуживает очень многих пар слов — и некоторые из них сказаны на отдельной странице. Пока же поговорим только о том, что необходимо знать на этапе инсталляции.

Инсталляционная программа любой ОС, как это ни странно, обычно работает под управлением инсталлируемой же ОС. Из этого правила есть исключения, но BSD-системы в их число не входят. То есть, прежде чем запустить инсталлятор DragonFly, необходимо загрузить её саму, точнее, её ядро. Ядро — это (почти) обычная программа, в прерогативы которой входят управление ресурсами машины (процессором, памятью, доступом к устройствам и файловым системам) и их взаимодействие со всеми остальными системными и прикладными программами.

На стадии инсталляции для нас наиболее важны функции опознания устройств и их поддержки ядром. Все они обеспечиваются либо непосредственно службами, встроенными в ядро, то есть в единый исполняемый бинарный файл, образ которого присутствует в памяти постоянно, либо модулями — небольшими программами, каждая из которых отвечает за поддержку одного определённого класса устройств, загружаемыми в память по мере необходимости. Причём в DragonFly по умолчанию всё, что может быть собрано в виде модулей, в системе присутствует.

По умолчанию при старте с установочного компакта загружается некий типовой образ ядра (так называемые GENERIC) и набор модулей, обеспечивающий, по возможности поддержку имеющегося в наличии «железа». И потому с большой долей вероятности можно предполагать, что более-менее стандартная современная машина будет загружена без всяких дополнительных манипуляций.

Однако исключить некоторые неприятные неожиданности при загрузке с установочного носителя не может никто. Результат — процесс загрузки, дойдя до какой-то определённой стадии, стопорится или впадает в цикл опроса одного и того же устройства. И вывести машину из этого ступора можно только кнопкой Reset или отключением питания — никакие комбинации из трех пальцев в данной ситуации не помогают.

Тем не менее, невозможность загрузить DragonFly с первой попытки — ещё не повод для отчаяния. Во-первых, главное меню загрузчика предлагает два штатных варианта загрузки, отличных от умолчальных — с отключением модулей контроля энергопотребления (ACPI disabled), механизма поддержки SATA-дисков (AHCI disabled) и в так называемом безопасном режиме (Safe Mode), то есть без подключения модулей вообще. К первым двум вариантам приходится прибегать при установке на некоторые ноутбуки, второй же остаётся как предпоследний резерв, задействуемый при неудаче загрузки по умолчанию или без ACPI/AHCI.

Последний же резерв верховного главнокомандования — это переход в командную строку загрузчика и ручное включение и отключение тех или иных модулей. Процесс этот не столь сложен, как кажется — по своим интерактивным возможностям штатный загрузчик BSD-систем (который так и называется — BSD Loader), хотя и уступает GRUB’у, но существенно превосходит Lilo. Тем не менее, он требует некоторых знаний, выходящих за пределы базовых, и потому подробнее описан на соответствующей странице.

В последнее время я никогда не сталкивался с проблемами загрузки DragonFly BSD (как и FreeBSD) в штатном режиме. Но на всякий случай следует помнить, что «спотыкание» процесса загрузки на определении какого-либо устройства при установке вовсе не означает, что оно не опознаётся системой в принципе: возможно, что его поддержка просто не включена в умолчальное ядро этой ОС, загружаемое с установочного носителя, и в этом случае его можно будет попытаться сконфигурировать инсталляции. Во время которой критически важна поддержка лишь контроллера целевого носителя. А с этим нынче непреодолимые препятствия крайне маловероятны — разве что со столь специфическими устройствами, как OCZ Revo Drive.

Так что в дальнейшем мы будем исходить из предположения, что загрузка машины, тем или иным методом, но была осуществлена успешно. После чего может быть запущен инсталлятор и начат процесс установки, о чём говорится на соответствующей странице. Так что здесь речи о нём не будет — остановлюсь на специфике дисковой разметки BSD-систем вообще и DragonFly в частности.

Предварение | Интермедия: содержание |Продолжение
Оглавление