Debian: bootsplash

14.05.2007, 13:52
Tagy: Debian

Start systému Debian vypadá už mnoho let stále stějně – prostý výpis toho, co se děje. Žádné filtrování, minimum barev. A žádný bootsplash :-)

Nemyslím si, že je bootsplash nějakým způsobem nezbytný, je to jen eye-candy jako každé jiné. Může se to samozřejmě hodit, chceme-li oslnit okolí nebo si jen vychutnat ten úžasný mnohobarevný framebuffer. Ale je jen dobře, že tahle vychytávka v defaultním jádře není, třeba na server je jádro bez bootsplashe určitě vhodnější.

Budeme tedy muset jádro vlastnoručně opatchovat. Není to nijak složité, vše potřebné je připraveno v balíčcích.

Balíky

sudo aptitude install bootsplash sysv-rc-bootsplash linux-patch-bootsplash

Navíc budeme potřebovat zdrojový kód jádra, dále předpokládám verzi 2.6.20. Aktualní verzi lze snadno zjistit, například příkazem aptitude search linux-source.

sudo aptitude install linux-source-2.6.20 kernel-package

Bude se nám hodit i .config z distribučního jádra, ten lze získat z linux-headers odpovídající verze.

Zdrojové kódy někam rozbalíme. Já používám adresář ~/src.

tar jxfv /usr/src/linux-source-2.6.20.tar.bz2
cd linux-source-2.6.20

Sem zkopírujeme také ten .config:

cp /usr/src/linux-headers-2.6.20-1-amd64/.config .

Patch jádra

Nyní aplikujeme bootsplash patch.

sh /usr/src/kernel-patches/all/apply/bootsplash

Jinou možností je dále při překladu přidat --added-patches=bootsplash a měla by se objevit i otázka na konfiguraci nové volby.

Překlad jádra

Před spuštěním překladu se ještě můžete podívat na konfigurační volby jádra a zrušit nejzjevnější zbytečnosti jako watchdogy, různé obskurní síťové drivery apod. Nezapomeňte také zaškrtnout ten bootsplash v Device drivers / Graphics support / Bootsplash configuration.

make xconfig

Vlastní překlad a vytvoření balíčku zařídí nástroj make-kpkg.

make-kpkg clean
make-kpkg --rootcmd fakeroot --initrd \
  --append-to-version=-custom --revision=1 \
  kernel_image kernel_headers

Balíček vznikne o adresář výš. Nainstalujeme jej.

sudo dpkg -i linux-image-2.6.20-custom_1_amd64.deb

Navíc jsme vytvořili druhý balíček, linux-headers, který je potřeba pro překládání dodatečných modulů.

Grub

Nové jádro se do Grubu přidalo automaticky, ale musíme ještě upravit parametry. Je potřeba aktivovat framebuffer, pokud ještě není, a přidat parametr splash=silent nebo verbose. První možnost skrývá výpisy a zobrazuje jen progressbar. Druhá zobrazuje výpisy v rámečku s obrázkem na pozadí. Parametry umístíme na vhodné místo v /boot/grub/menu.lst, například:

# defoptions=vga=791 splash=verbose

Nakonec necháme soubor regenerovat:

sudo update-grub

Pryč s otravným glóbem!

Ještě estetická drobnost. Ten podivný rotující glóbus je možné vypnout zakomentováním všech řádků v souboru /etc/bootsplash/themes/debian/config/animations.cfg:

#checkroot.sh start:bootanim start network.mng
#kdm start: bootanim stop
#xdm start: bootanim stop
#gdm start: bootanim stop
#shutdown:bootanim start network.mng

Poznámka: V dokumentaci Debianu se většinou rozlišují příkazy vykonávané jako root a jako uživatel připsáním znaku $ a # na začátek příkazu. To se ale může plést s shellovými komentáři a už mi to ani nepřipadá tak cool :-) Takže jsem zde použil a budu používat i dále příkaz sudo, s kterým to vypadá lépe a je to snad i jasnější. Aby to takto fungovalo, je nutné mít sudo správně nakonfigurované nebo získat rootovská práva jinak (např. su -c '...').

Komentáře

Zobrazení: prosté / vlákna
libor
Je to pěkné, ale pro téměr začátečníka ne moc srozumitelné.
Kde např. vzít ".config z distribučního jádra" ?
02.07.2007, 13:53 | Link | Odpovědět
No řekněme, že je to pro mírně pokročilé uživatele :-) Nemám sílu rozepisovat každý detail...

A kde vzít .config? Mám tam napsáno, že z linux-headers – tím byl myšlen balíček :-) Další (a asi lepší) místo je /boot/config-`uname -r`. Dá se to pak sfouknout jedním příkazem. Možná to poupravím...
02.07.2007, 14:38 | Link | Odpovědět
Tedy, aby to bylo úplně jasné – ty config soubory k nainstalovaným jádrům jsou v /boot, pojmenované podle verze. Stačí ho zkopírovat a přejměnovat na .config.
02.07.2007, 14:48 | Link | Odpovědět
Přidat komentář
Odpovídáte na komentář .
Vaše stránka. Nepovinné.
**tučné** //skloňené// ''kód''
* seznam pol. 1
* seznam pol. 2
  * vnořený seznam
# číslovaný seznam
{{{
předformátovaný text
}}}
[[http://devl.cz link]]