Процесс загрузки FreeBSD можно сделать таким же красивым как в Microsoft Windows, заменив унылые диагностические сообщения симпатичной графической заставкой. Добавление графической заставки достаточно подробно описано в пункте Configuring Boot Time Splash Screens FreeBSD Handbook, однако соответствующие инструкции пока отсутствуют в Руководстве FreeBSD на русском языке. Данная заметка является моей русскоязычной интерпретацией указанного выше пункта FreeBSD Handbook.
Назначение графической заставки
Графическая заставка при загрузке операционной системы FreeBSD выглядит намного привлекательнее стандартных сообщений о ходе загрузки. Она начинает отображаться в начале загрузки ядра и остается на экране до появления консольного приглашения входа в систему или экрана входа в систему, предоставляемого тем или иным менеджером дисплеев. Использование графической заставки в консольной среде позволяет скрыть все сообщения, отображаемые до появления приглашения входа в систему, а при наличии оконной системы X11 и какого-либо менеджера дисплеев — привести начальную загрузку FreeBSD к виду, привычному пользователям Microsoft Windows и других операционных систем, ни как не связанных с семейством Linux/Unix.
Возможности графической заставки
В качестве графической заставки может использоваться любое 256-цветное растровое изображение в формате BMP (файл с расширением .bmp
) или PCX ZSoft (файл с расширением .pcx
). Для корректного отображения графической заставки в стандартном видеорежиме VGA ее разрешение не должно превышать 320×200 пикселей. В случае использования изображений с большим разрешением (максимум — 1024×768 пикселей), необходимо активизировать имеющуюся в составе FreeBSD поддержку VESA, при этом можно использовать как соответствующий модуль ядра, так и статически добавить поддержку VESA в самостоятельно собранное ядро. Включение поддержки VESA обеспечит использование полноэкранного режима для отображения графической заставки. При необходимости графическая заставка может быть скрыта нажатием любой клавиши на клавиатуре.
По умолчанию в консольной среде графическая заставка используется как хранитель экрана (скринсейвер). После истечения периода бездействия пользователя, необходимого для запуска скринсейвера, на экране отображается графическая заставка, и начинается циклическое изменение ее яркости. Скринсейвер по умолчанию может быть изменен добавлением строки saver=
в файл /etc/rc.conf
. Строка saver=
позволяет выбрать один из скринсейверов, перечисленных в splash(4). Скринсейвер по умолчанию имеет имя warp
. Обратите внимание на то, что строка saver=
в файле /etc/rc.conf
работает только в консольной среде и ни как не отражается на поведении оконной системы X11.
Типовые файлы графических заставок можно загрузить из галереи FreeBSD Artwork — Boot Splash Images. Для того, чтобы при загрузке операционной системы отображалась случайная графическая заставка из созданной ранее коллекции, необходимо установить порт sysutils/bsd-splash-changer.
Использование графической заставки
Для использования выбранного изображения с разрешением не более 320×200 пикселей в роли графической заставки необходимо добавить в файл /boot/loader.conf
следующие строки (учтите, что выбранное изображение обязательно должно размещаться в разделе /
):
splash_bmp_load="YES" bitmap_load="YES" bitmap_name="/boot/splash.bmp"
Если разрешение изображения превышает 320×200 пикселей, следует добавить в файл /etc/loader.conf
строку активизации поддержки VESA:
vesa_load="YES"
Представленные выше строки предполагают использование файла в формате BMP в роли графической заставки. Для файлов в формате PCX их следует немного изменить (не забыв добавить строку активизации поддержки VESA для изображений с разрешением более 320×200 пикселей):
splash_pcx_load="YES" bitmap_load="YES" bitmap_name="/boot/splash.pcx"
Имена файлов, содержащих графические заставки, не ограничены значениями, упомянутыми в приведенных выше примерах. Можно использовать файлы в формате BMP или PCX, имеющие имена любой длины, например, splash_640x400.bmp
или blue_wave.pcx
.
Вы можете изменить и другие опции, доступные в файле loader.conf, например, отключить меню начальной загрузки FreeBSD посредством присвоения значения YES
опции bestie_disable
или изменить заданное по умолчанию слово «FreeBSD » справа от пунктов меню начальной загрузки на цветной логотип FreeBSD посредством присвоения значения bestie
опции loader_logo
и т.д. и т.п., согласно собственным вкусам и потребностям.
Заключение
Я надеюсь, что эта коротенькая заметка ответит на все Ваши вопросы, связанные с использованием графических заставок, отображаемых во время загрузки операционной системы FreeBSD. Кстати, для изменения соответствующей графической заставки в Microsoft Windows нужно использовать редакторы ресурсов или продвинутые твикеры, и, естественно, нарушать лицензионное соглашение 😉
Здорово! В общем получилось! Но вот бегунка сильно не хватает! Есть варианты как его сделать?
Боюсь, что нет 🙁
Недочепятка вкралась в раздел Использование графической заставки:
надо — выбранное изображение обязательно должно размещаться в разделе /boot.
Цитата из английской версии handbook’а:
Перевод:
.bmp
или.pcx
файл заставки должен размещаться в корневом разделе, например, в папке/boot
. Корневой раздел и / — одно и тоже 😉Да,папка
/boot
находится в корневом разделе. Но не файл/boot/somefile.bmp
Оригинал же гласит:Ты же перевёл как
и пытаешься доказать,что это одно и то же. Извини за дотошность.
Нет проблем. В спорах рождается истина.
Переместил файл
splash.bmp
в корень файловой системы, поменял строчку в/boot/loader.conf
, перезагрузил компьютер, заставка никуда не делась. Получается, что я перевел документацию правильно 😉Блин! У меня тяжёлый случай!Ничего не получилось. Вот мой
/boot/loader.conf
:if_iwn_load="YES"
legal.intel_iwn.license_ack=1
nvidia_load="YES"
splash_bmp_load="YES"
bitmap_load="YES"
bitmap_name="/boot/splash.bmp"
Скачал, по пути переименовавши в
splash.bmp
. Сплэш NVidia есть, а этого нету.Добавил
vesa_load="YES"
— заработало.Настройка Фри подразумевает внимательность 😉
У меня трабла такая:
1) Сплэш-картинка грузится и показывается
2) Но после загрузки системы я не вижу Shell-promtp.
Читая доку вижу:
Мой Перевод: «Скрин будет отображаться до тех пор пока консольный логин-промпт или XDM не предложат логин-промпт»
Мне же приходится жать кнопку, чтобы увидеть login-prompt что не совсем удобно 🙁
Не сталкивался с такой проблемой как до установки GDM/KDM, так и после. Ищите ответ в багтрекерах 🙁
У меня файл
/boot/loader.conf
был пустой, я добавил туда нужные строки по инструкции, заставка так и не появилась. В чем дело, пожскажите плз.Драйвер vesa существует?
Я не в курсе, это на витруальной машине, ОС — FreeBSD 8.3 Release, ядро — GENERIC.
Драйвер vesa входит в состав ядра GENERIC. Для проверки можно сделать
kldload vesa && kladstat -n vesa
. Думаю, что проблема заключается в том, что:Та же проблема с виртуальной машиной! Помогите пожалуйста.
Никогда не делал заставки на виртуальных машинах. Какая у Вас версия FreeBSD?
У меня HardenedBSD…
С такой штукой не сталкивался. Спросил версию, потому что теперь по умолчанию используется драйвер системной консоли vt(4), но вы можете вернуться на sc(4). Посмотрите это, думаю, что поможет.
По умолчанию стоит sc, меняю на vga, и ставлю
hw.vga.textmode=0
включается и на экране появляются зеленые полоски а затем идет booting с другим шрифтом
Но картинки не появилось . Установил картинку стандартную из freebsd галереи 320х200.
Я все перепробовал. Не помогает. Только ядро не пересобирал.
Так ничего не происходит тоже:
kern.vty=sc
splash_bmp_load="YES"
bitmap_load="YES"
bitmap_name="/boot/1.bmp"
vesa_load="YES"
Если vesa загружается без ошибок, остается грешить только на запуск в виртуалке ❓
А в виртуалке менять нечего. Устанавливаю FreeBSD для эксперимента.
Это понятно. Скорее всего, драйвер vesa не совместим с гипервизором. Проще всего проверить, поставив xBSD на отдельный винт или флешку.
Если будет время, не мог бы глянуть? Буду благодарен (в смысле у себя установить там посмотреть).
Это шутка?
Получилось в общем.
Отлично! В чем был подвох?
Я бы не назвал это подвохом, просто три строчки решают проблему:
kern.vty=vt
hw.vga.textmode=0
boot_mute="YES"
Заставка черно-белая, и чтобы изменить, нужно скомпилировать и установить ядро заново. Но это норм. в принципе, у кого есть решение лучше — буду рад узнать, надеюсь будет.
Можешь добавить в статью. Людям будет полезно!
Спасибо! Думаю, кому нужно, заметят. Кстати, в конфиге ядра есть строчка
device vt_vga
?Да. Есть.
Тогда странно, что черно белая 😐
Она по умолчанию черно белая. У всех. Это заставка другая типа.
Не пробовал и не знаю, когда руки дойдут попробовать 🙁