Nobody about something

Настройка bootsplash в gentoo

Написано 27 февраля 2009 в 15:18 - Рубрики: *nix

Решил я облагородить процесс загрузки.
Погуглил, нашёл кучу инструкций, но все какие-то “бородатые”, а те, что не бородатые, те неполные. Пришлось часть додумывать

Делать бутсплеш будем для абстрактного gentoo в вакуме ядра версии 2.6.28. Исходники gentoo-sources. Они содержат необходимые патчи. Если исходники другие, то необходимо наложить патч fbsplash. Ядро собираю через genkernel

  1. Ставим необходимые пакеты
    Добавляем в /etc/make.conf use-флаг fbcondecor. Ставим splashutils, и по желанию, темы
    emerge splashutils splash-themes-gentooТемы также обитают на kde-look.org. Скачанные темы нужно поместить в /etc/splash
  2. Конфигуряем ядро
    Сразу же выбираем тему и разрешение (тема должна это разрешение подерживать)
    genkernel --olconfig --splash=emergence --splash-res=1280x1024 --menuconfig allКлюч gensplash является deprecated

    Небольшое отступление. Я считаю, что самый удобный способ конфигуряния ядра – через menuconfig. Потому что в нём можно найти необходимую опцию по имени, можно посмотреть описание, и самое главное, только в нём можно увидеть зависимости, и блочащие опции. Для меня это было критично важно, так как у меня были включены опции блочащие fbcondecor

    Для работы сплеша необходимы следующие опции

    • Ядро должно быть модульное, и с поддержкой initrd
    • Support for frame buffer devices (CONFIG_FB)
    • Поддержка VESAFB (CONFIG_FB_VESA)
    • Support for the Framebuffer Console Decorations (CONFIG_FB_CON_DECOR). Собственно, это самая важная опция, и она требует остальные
  3. Настройка загрузчика
    Ядро и initrd собрали, теперь надо указать их в grub. Это будет выглядеть примерно так:
    title gentoo
    kernel (hd0,0)/boot/kernel-genkernel-x86-2.6.28-gentoo-r1 root=/dev/sda1 resume=/dev/sda2 vga=794 splash=silent,theme:emergence console=tty1 quiet
    initrd (hd0,0)/boot/initramfs-genkernel-x86-2.6.28-gentoo-r1
    режим vga=794 – это для разрешения 1280×1024. Для 1024×768 должно быть vga=791
    За сплеш отвечаетsplash=silent,theme:emergence console=tty1 quietТема должна быть указана.
  4. добавляем fbcondecor в автозагрузкуrc-update add fbcondecor default
  5. Reboot

Теперь у нас есть картинка при загрузке, и фоновая картинка в консолях. Любители разнообразия могут почитать /etc/conf.d/fbcondecor

Для смены картинки сплеша, необходимо переделать initrd и поменять конфиг grub. Initrd пересобирать так:genkernel --no-clean --no-mrproper --splash=emergence --splash-res=1280x1024 ramdisk

Возможная проблема: Прогресс-бар не доходит до 100% и блокирует вторую консоль. У меня было такое, из-за того, что в /etc/conf.d/modules были указаны несуществующие модули и об этом выдавалась ошибка

Метки:

Комментарии (3) на запись “Настройка bootsplash в gentoo”

  1. xwrs пишет 5 июня 2009 в 16:27

    Я сделал все как здесь написано, splash появляется при загрузке, есть индикатор, доходит до 100%, но когда начинает гаснуть сплэш, картинка виснет и все. Можно перейти в другую консоль и перезапустить xdm. Тогда все работает – Х-сы запускаются. Также если перейти во время загрузки в verbose mode, то Х-сы грузятся нормально.Что делать?

  2. xwrs пишет 5 июня 2009 в 17:15

    Решено. echo ‘kdm’ >> /etc/conf.d/local.start

  3. tuupic пишет 5 июня 2009 в 17:23

    @ xwrs:
    Проблема с запуском иксов, похоже.

Оставить комментарий