Пользователи Linux давно привыкли при загрузке системы видеть красивую (и зачастую даже анимированную) картинку вместо текстового лога загрузки. Пользователи же FreeBSD до сих пор воспринимают поток текста при загрузке как норму. И мало кто знает что во FreeBSD с версии 3.1 есть штатный механизм отображения картинки (splash) при загрузке.
Несмотря на то что с момента появления модуля «splash» для FreeBSD прошло более восемнадцати лет он практически не развивается и сильно уступает по возможностям таким технологиям из мира Linux как «Plymouth», «Splashy» и «FBSplash». Однако даже статичная картинка скорее всего окажется симпатичнее чем текстовый лог загрузки. Потому приступаем к настройке.
Для начала нужно подготовить картинку с глубиной цвета в восемь бит и разрешением 320x200 (для некоторых совсем старых видеоадаптеров) или 640x480 (для большинства современных графических карт) пикселей в формате BMP или PCX. Вариант от автора этих строк можно скачать здесь. Неплохая коллекция есть тут.
Если ваш видеоадаптер поддерживает режим VESA (практически все современные видеокарты) то с большой долей вероятности можно использовать изображения в разрешении 1024x768, однако на некоторых видеокартах могут быть проблемы. Отдельно нужно отметить что если соотношение сторон вашего монитора отлично от 4:3 то изображение будет растянуто чтобы полностью заполнить экран.
Ещё одно важное замечание: модуль «splash» нормально работает с драйвером консоли «syscons», однако с современным «vt» (бывший «newcons») модуль конфликтует вплоть до краха системы при старте системы. Потому придётся выбирать: или консоль с поддержкой юникода, или картинка при загрузке.
Если выбор сделан в пользу заставки то размещаем подготовленное изображении в директории «/boot» под произвольным именем. Например «bootsplash.bmp» и добавляем в файл «/boot/loader.conf» строки:
# Указываем драйвер виртуальных консолей kern.vty=sc # Модуль для поддержки загрузочных картинок в формате BMP splash_bmp_load="YES" # Если загрузочная картинка в формате PCX то предыдущую строку надо закомментировать, # А эту - раскомментировать. #splash_pcx_load="YES" # Загружаем картинку из файла "/boot/bootsplash.bmp" bitmap_load="YES" bitmap_name="/boot/bootsplash.bmp" # Если возникает необходимость явно включить режим VESA # То нужно раскомментировать эту строку. Обычно необходимости в этом нет. #vesa_load="YES"
После этого перезагружаем машину и любуемся выбранной картинкой. Чтобы увидеть текстовый лог достаточно нажать любую клавишу.
Кроме того существует пакет «bsd-splash-changer», позволяющий менять загрузочную картинку после каждой загрузки. Установить его можно командой:
pkg install bsd-splash-changer
При каждом запуске скрипт выбирает случайную картинку из директории «/usr/local/share/bsd-splash-changer» и копирует её в файл «/boot/splash». К сожалению никаких картинок вместе со скриптом не идёт и о них надо позаботиться самостоятельно.
Для работы скрипта надо разрешить его запуск при старте системы, добавив в файл «/etc/rc.conf» строку:
splash_changer_enable="YES"
А в файле «/boot/loader.conf» в качестве пути к splash-изображению указать «/boot/splash»:
bitmap_name="/boot/splash"
На этом всё. Приятной работы!
Anonymous 2018-05-27 11:08:19 (#)
Какой-то прогресс бар можно выводить или только статичную картинку?
Может хотябы друг за другом картинки с пририсованным прогрессбаром? )