Та затова реших да се направя на знаещ или поне да споделя опит. Ето какво трябва да постигнем накрая:
Понеже аз съм с nVidia нямам опит с ATi и затова ще напиша моите настройки. Освен това ще уточня, че използвам vesa, а не vesa-tng, защото при второто трябва да прекомпилирам кърнъла всеки път когато искам да сменя резолюцията на конзолата. gensplash е портнат и за Fedora, Debian и Arch, така че може да се ползва и там.
Инсталиране на теми и помощни програми
Първо нека да сложим splashutils (включва някои полезни програми като, например, за трансформиране на bootsplash към gensplash), както и някои стандартни теми, тъй като ще обясня по-нататък как да си правите ваши:
- Код за потвърждение: Избери целия код
emerge splashutils splash-themes-gentoo splash-themes-livecd bootsplash-themes
За да можете да използвате стандартните теми трябва да сложите глобални use флагове "png truetype". Ако ги нямате все още направете
- Код за потвърждение: Избери целия код
emerge -vuDN world
Конфигуриране на kernel
Още особености - използвам genkernel и gentoo-sources, така че при други варианти не отговарям.
- Код за потвърждение: Избери целия код
genkernel --menuconfig kernel
Компилираме само kernel-а, initrd го оставяме за после. Пълните настройки са копирани от gentoo-wiki, но те влизат в употреба само ако ползвате нещо различно от gentoo-sources.
- Код за потвърждение: Избери целия код
General Setup >
[*] Initial RAM filesystem and RAM disk (initramfs/initrd) support
Device Drivers >
Block devices:
<*> RAM disk support
(4096) Default RAM disk size (kbytes)
Input Device Support
<Event>
<*> Support for frame buffer devices
[ ] Enable Tile Blitting Support
<VESA>
(X) vesafb
( ) vesa-tng
< > nVidia Framebuffer Support
< > nVidia Riva support
<Matrox>
--- Video mode selection support
<*> Framebuffer Console support
[*] Support for the framebuffer splash
И тук лек коментар - единствената разлика при gentoo-sources e Default RAM disk size. Ако искате - експериментирайте, аз предпочитам да спазвам howto-то когато става въпрос за Gentoo.
Добавяне на тема
За да може да имате splashimage още от началото на boot ще трябва да добавите темата в initrd. Това става по следния начин:
- Код за потвърждение: Избери целия код
genkernel --gensplash=theme initrd
Трябва да заместите theme с името на избраната от вас тема. За да разгледате темата директно в конзола можете да използвате
- Код за потвърждение: Избери целия код
splash_manager --theme=gentooplus --cmd=set --tty=1
splash_manager е част от splashutils. Заменете gentooplus с исканата тема (звучи като ръководство за готварка печка, нали?
). Темата ще бъде показана на TTY 1. Това обаче може да се ползва едва когато буутнете новият kernel. Ако още не сте - преминете към следващата част.Как да настроим Grub
Ръководейки се от тази таблица
- Код за потвърждение: Избери целия код
640x480 800x600 1024x768 1280x1024 1152x864 1600x1200
8 bit 769 771 773 775 353 800
15 bit 784 787 790 793 354 801
16 bit 785 788 791 794 355 802
24 bit 786 789 792 795 803
избираме резолюцията, която искаме да ползваме.
ВАЖНО: темата трябва да бъде същата резолюция като избраната. Ето защо, ако ползвахме vesa-tng трябваше да прекомпилираме kernel-a при евентуална смяна на темата.
Изборът на резолюция става като добавим vga=792 (или каквото сте избрали) при опциите на кърнъла. Опциите, които аз ползвам са следните:
- Код за потвърждение: Избери целия код
vga=792 splash=verbose,theme:gentooplus fbcon=scrollback:128K quiet CONSOLE=/dev/tty1
Сега ще обясня кое какво е. splash може да приема две стойности - verbose и silent, предполагам всички знаят какво означават, но все пак - silent скрива boot процеса, докато verbose го показва (най-общо казано). Аз съм фен на verbose. theme трябва да има същата стойност като името на темата, с която сте компилирали initrd. Другите неща просто препишете.
Стартиране на splashscreen на всички конзоли
Просто добавете splash към runlevel default:
- Код за потвърждение: Избери целия код
rc-update add splash default



Ся пробвам микс от gentoo-wiki и тази. Ще споделя резултата ако стане. Ако не значи просто не мога да буутна.