воскресенье, 8 марта 2009 г.

fedora + plymouth - красивый загрузчик.

Уже fedora 11 не за горами, а я только озаботился, почему у меня после обновления fedora 9 на 10 вместо графического окна загрузки появился какой-то сине-белый прогресc бар.
Оказалось, что в 10той федоре новый графический загрузчик - plymouth, но корректно работать с моим разрешением 1280x800 невозможно.
Об этом далее.

Разрешения экрана


Сначала нужно проверить видит ли драйвер фреймбуфера разрешение вашего дисплея (мое разрешение 1280x800 он отказался определять). Это можно проверить запустив команду vbetest из под рута.

[foot@olin ~]$ sudo vbetest
VBE Version 3.0
ATI ATOMBIOS
[256] 640x400 (256 color palette)
[257] 640x480 (256 color palette)
[!!!SKIPPED!!!]
[485] 1920x1440 (5:6:5)
[486] 1920x1440 (8:8:8)

Если в списке вы увидели свое разрешение, то надо дописать параметр ядра "vga=<номер режима>" (например "vga=257", что соответствует 640x480 256 цветов) в файл /etc/grub.conf и перейти к пункту "Выбор темы".

Должно выглядеть примерно так:

kernel /vmlinuz-2.6.27.19-170.2.35.fc10.i686 ro root=UUID=bfb4779a-c71d-447a-9a0b-dfb9b3b73338 rhgb quiet vga=257
initrd /initrd-2.6.27.19-170.2.35.fc10.i686.img


Если вы не нашли в списке своего разрешения, то возможно вам поможет следующие шаги.

По умолчанию kernel использует драйвер фреймбуфера vesafb. Вы можете попробовать использовать другой драйвер: radeonfb, atyfb, intelfb или nvidiafb.
(Так-же для поддержки широкоформатных разрешений экрана есть еще одни драйвер фреймбуфера uvesafb, но я с ним еще не экспериментировал.) Я покажу на примере radeonfb. Для этого нужно собрать initrd с поддержкой этого драйвера:

Бэкапим текущий initrd:
#mv /boot/initrd-`uname -r`.img /boot/initrd-`uname -r`.img.backup

Создаем новый initrd c поддержкой драйвера фрэймбуфера radeonhd:
#mkinitrd --with=radeonfb /boot/initrd-`uname -r`.img `uname -r`

Дописываем в grub.conf параметр ядра "video=radeonfb:1280x800-32@60" (тут указано необходимое разрешение, цвета, частота).
Параметр "vga=..." указывать не надо, так как это приведет к загрузке драйвера vesafb.

Выбор темы


В 10 федоре представлены сразу несколько графических загрузчиков. По умолчанию установлены solar и text (уродливый прогресс бар, который у меня так и остался). Так-же можно установить еще несколько:
#yum install plymouth-plugin-fade-in plymouth-plugin-pulser plymouth-plugin-spinfinity

Выбираем тему (тут <pluginname> - имя темы, например solar):
#plymouth-set-default-plugin <pluginname>

Обновляем initrd:
#/usr/libexec/plymouth/plymouth-update-initrd

Перезагружаемся и наслаждаемся красивым загрузчиком и мелким шрифтом в консоле!

Комментариев нет:

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