Алексей Федорчук
Вступление от сего дня. Эта заметка была написана более трёх лет назад после опробования метода в сугубо экспериментальных целях. Нынче же она неожиданно оказалась актуальной практически: после детального знакомства с Cinnamon 2.4 у меня появилось непреодолимое желание поглядеть, как он будет выглядеть в других дистрибутивах. В частности, в будущей Fedora 21, поскольку её разработчики официально заявляют о поддержке этого десктопа. Однако на данный момент среди образов её бета-версии диска netinst для сетевой установки не значится. И тогда я вспомнил о методе BFO, который позволяет установить Fedora почти вне зависимости от релиза, как древнего, так и грядущего. За прошедшие годы метода этот изменился только в мелких деталях, поэтому воспроизвожу заметку в том виде, в каком она была.
За два с лишним года своего федорианства я перепробовал много способов установки этого дистрибутива. Среди них были и установка с DVD (а в прошлых релизах -- ещё и с набора CD), и с LiveCD, и с большой "загрузочной дискеты" -- диска netinst
. Каждый из этих способов имеет сво достоинства, проявляющиеся в определённых ситуациях. Однако оказалось, что один из способов установки Fedora остался мной не охваченным. Это -- установка с образов BFO.
О BFO я узнал из поста Петра Леменкова aka peter_lemenkov на форуме проекта Russian Fedora (за что выражаю ему свою признательность). Подозревая, что многие пользователи Fedora также не знаю о существовании такого метода установки, я и решил описать его подробнее.
Аббревиатура BFO расшифровывается как boot.fedoraproject.org, соответствующий проект пребывает здесь. Метода эта основывается на BKO (boot.kernel.org) -- удалённой загрузке машины по протоколу HTTP, несколько напоминающей сетевую загрузку через PXE. При этом сначала происходит загрузка машины из ПЗУ сетевой карты посредством механизма iPXE (именуемого также gPXE или Etherboot), затем устанавливается http-соединение с каким-либо сервером, распространяющим дистрибутив Linux (в нашем случае -- с сервером проекта Fedora), с него загружается ядро Linux (и, при необходимости, initrd), а также управляющая программа, позволяющая выполнить тестирование аппаратуры, аварийно-спасательные работы или установку системы на локальный носитель.
Для установки Fedora через BFO необходимо скачать с упомянутого сайта один из трёх образов -- дискеты (bfo.dsk
, 300 Кбайт), CD-диска (bfo.iso
, 670 Кбайт) или usb-флэшки (bfo.usb
, 336 Кбайт) и перенести его на соответствующий носитель. Разумеется, образ дискеты нынче не актуален, а относительно двух других выбор за пользователем.
У меня под рукой не было ни свободной флэшки, ни незадействованной SD-карты, поэтому я записал на компакт-диск образ bfo.iso
посредством Brasero. При использовании usb-образа можно прибегнуть к команде dd
или любой из специализированных графических утилит типа USB Creator (детали см. здесь). Причём под загрузочный образ можно отвести лишь необходимую часть флэшки или SD-карты, оставив свободное пространство для для переноса данных, например.
После загрузки с подготовленного носителя сначала можно было наблюдать процесс загрузки iPXE:
Здесь важно помнить, что ядро Linux пока ещё не загружено, и потому поддержка устройств и количество драйверов ограничены, так что возможны проблемы. У меня их, впрочем, не обнаружилось, так что вскоре после этого я увидел меню BFO:
Разумеется, меня больше всего интересовал пункт Install, к которому я вернусь позже. А пока кратко освещу содержание остальных пунктов.
Выбор строки Local boot ведёт к выходу из меню BFO и загрузке установленной на данной машине системы.
Пункт Rescue предлагает выполнить аварийно- восстановительные работы для установленной Fedora (в диапазоне релизов от 13-го по 15-й):
Через пункт Utilites можно выполнить определение оборудования и тест памяти:
Пункт About BFO выводит очень краткое описание рассматриваемого механизма:
Подробнее с ним можно ознакомиться здесь.
Наконец, пункт Experimental прежназначен для скачивания и загрузки LiveCD -- правда, довстаточно дренвей тестировочной версии:
Которая, к тому же, по прописанному адресу не обнаруживается, так что можно считать, что пункта этого и нет.
А теперь вернёмся к пункту Install. В нём предлагается установить один из трёх ныне актуальных релизов -- 13-й, 14-й или 15-й, каждый в 32- и 64-битном вариантах:
По выборе одного из них (я выбрал 15-й 64-битный релиз) можно наблюдать сначала процесс скачивания и загрузки ядра, а затем initrd
-- эта процедура занимает весьма много времени:
После этого происходит определение оборудования и развёртывание виртуальной файловой системы ramfs
-- это происходит уже достаточно быстро:
Вслед затем возникает текстовая панелька выбора языка:
Далее грузится Anaconda -- установка проходит точно так же, как при инсталляции с netinst
.
Каковы преимущества установки с образа BFO? Во-первых, крайне малый его объём, что особенно актуально для флэшек или SD-карт. Во-вторых, как утверждается в документации проекта, с одного образа можно установить любой грядущий релиз Fedora. В-третьих, не надо думать о номерах релизов, которые целесообразно устанавливать в данном случае (а я, скажем, "для того парня" сейчас воздержался бы от установки 15-го релиза) и архитектуре целевой машины. И, наконец, в-четвёртых, после инсталляциии мы получаем заведомо актуализированную систему -- впрочем, то же самое можно сказать и про установку с netinst
.
Недостаток, пожалуй, один -- очень длительное время загрузки ядра и особенно initrd
, в ходе чего можно не только покурить, но и выпить/закусить. Кроме того, как и при любой сетевой инсталляции необходим "толстый" канал в Интернет. Но зато при наличии такового установка, как и в случае с netinst
, происходит быстрее, чем с локального оптического привода.
В общем, я не рискну однозначно рекомендовать установку с образа BFO всем пользователям. Но для себя -- принял этот метод на вооружение.