Тюнинг в стиле X. Часть 2 Alexander S. Salieff Спецвыпуск Xakep, номер #046, стр. 046-018-6 Device Drivers --> Graphics support --> Bootsplash configuration --> Bootup splash screen Ну и сам framebuffer, естественно, тоже неплохо бы включить и настроить ;). Наконец можно собрать ядро и перейти к следующему пункту - установке темы. Тема - это две картинки (для типов загрузки "verbose" и "silent") и конфигурационный файл, описывающий, как ими пользоваться. Различные темы в изобилии водятся на http://www.bootsplash.de/files/themes/. Создай каталог /etc/bootsplash/themes и распакуй туда тарболл с выбранной темой. Чтобы не пришлось ковыряться в конфигах некоторых тем, сразу возьми за правило создавать симлинк с именем "current"на текущую тему: ln -s /etc/bootsplash/themes/KillBillTux-Grey /etc/bootsplash/themes/current Из темы (с помощью утилиты splash) создается образ для InitRD: /sbin/splash -s -f /etc/bootsplash/themes/current/config/bootsplash-1024x768.cfg > > /boot/initrd.splash В один InitRD-образ можно встраивать несколько тем с различными разрешениями, тогда при загрузке будет выбираться соответствующая. Осталось прикрутить новое ядро к загрузчику, включить в нем framebuffer, установить аргумент "splash" в значение "silent" или "verbose" (в зависимости от желаемого поведения при загрузке), а в качестве образа Initial RAM-Disk установить созданный нами initrd.splash. Я использую LILO, и выглядит у меня это приблизительно так: image=/boot/vmlinuz-2.4.20-31.9custom label=LINUX initrd=/boot/initrd.splash vga=1303 read-only append="root=/dev/hda3 splash=silent" После перезагрузки с новым ядром ты увидишь преобразившуюся консоль. Если ты выбрал тип загрузки "silent", то на экране будет отображаться прогрессбар. Но сам он, к сожалению, не двигается, и ему нужно давать указания. Управляется полоска прогресса (и не только она) через файл /proc/splash, непосредственно прогрессбар двигается занесением в этот файл команды "show X", где X - 16-битное значение, то есть варьируется в диапазоне 0-65534. Соответственно нужно расставить в различных rc-скриптах команды вроде echo "show 600" > /proc/splash, echo "show 1200" > /proc/splash и т.д. Тогда полоска прогресса будет двигаться по мере прохождения загрузочных скриптов. В RedHat-подобных дистрибутивах иногда возникают проблемы с выставлением должных прав звуковым девайсам. Это связано с тем, что при очередном логине система сама перебивает их права и владельца. Прописывается это поведение в /etc/security/console.perms. Найди там строку вида "<console> 0600 <sound> 0600 root" и перебей права на 0666 в обеих позициях. Если в группе <sound> недостает некоторых девайсов или имеются лишние, исправь это. Все, теперь все и всегда будут иметь доступ к звуковым девайсам. Аналогичную операцию иногда требуется провести над группами <video> , <fb> и всеми другими, на которые неверно проставляются права. Если ты обратил внимание, при включении framebuffer во время загрузки ядра в верхнем левом углу появляется маленький пингвинчик (или что-то другое в зависимости от дистрибутива). Описывается этот пингвинчик в конкретном заголовочном файле /usr/src/linux/include/linux/linux_logo.h, и ничего не мешает заменить его на произвольное изображение. Конечно, делать это руками - нереальная задача, поэтому существует специальный плагин для GIMP по имени LinuxLogo (glogo), взять его можно здесь: http://registry.gimp.org/plugin?id=376. После этого тебе потребуется нарисовать три картинки размером 80x80 (одну в 2 цвета, вторую в 16 и третью в 224 или меньше), скормить эти картинки нашему плагину, после чего тот сможет создать свой альтернативный linux_logo.h. Осталось лишь заменить им исходный, пересобрать ядро, и ты увидишь свой логотип во время загрузки. |