Portál AbcLinuxu, 29. května 2024 02:43

Šmarjápanno, já se na ten bootsplash vydlabu!

11.11.2005 12:04 | Přečteno: 1338× | IT

Hip hip hurá! Už je to tady! Po čtrnácti dnech neustálého kompilování jádra, zjišťování komponent a vyrábění initramdisků jsem konečně zjistil, proč ten krám na bedně jede a na notebooku ne.

Abyste byli v obraze: zhruba před 2 týdny jsem se rozhodl rozchodit na svém notebooku bootsplash. Díky supr článku na linux.ic.cz jsem si ověřil, že opravdu vybírám všechny potřebné součásti jádra, aby to šlapalo (autoři se totiž v návodu omezili pouze na jádra 2.4.x a tak při kompilaci 2.6.x jádra marně hledám např. "Use splash screen instead of boot logo"...). Jádro jsem si zkompiloval prvně na bedně (Slackware 10.1, resp. Fedora 1). Vše se tvářilo v pohodě. Začal jsem tedy laborovat s konfigurací bootsplashe. Než jsem zjistil, proč mi nejede progressbar, chvíli to trvalo. Jde o to, že během startu musí "něco" posílat číselné údaje do /proc/splash, čímž se nastaví aktuální hodnota progressbaru. Nepřipadá mi to jako příliš rozumné řešení, už proto, že na začátku některého ze skriptů, které se provádí při startu systému, se musí připsat funkce, která to bude provozovat, a pak je také nutné "zaprasit" jednotlivé startovací skripty řádky s názvem funkce a aktuální číselnou hodnotou... Navíc tím odpadá možnost nastavovat prbar plynule a před předáním řízení ramdisku, resp. initu.

Nastala vhodná chvíle, zkompilovat jádro pro můj notebook (FC3). Stalo se, jádro naběhlo a tak jsem zadal splash -s -f bootsplash.conf >> /boot/initrd.splash. Předtím jsem zkopíroval původní initramdisk na /boot/initrd.splash. A jaký byl výsledek? Při dalším startu nenaběhl initramdisk a jádro mi chladnokrevně sdělilo, že: VFS: Cannot open root device "/dev/hda2" or unknown-block(3,2). Paradoxně tuto hlášku zná strýček Google i na stránkách v mém rodném jazyce, ale nikde není rozumné vysvětlení problému. Kdekdo tvrdí, že nemám načtený modul pro ext3, ale to je blbost, protože ho mám zakompilovaný přímo v jádře. A pointa: Může za to bootsplash!

Průběžně jsem kompiloval jádro s podporou různých zařízaní a filesystémů v domnění, že jsem na něco zapomněl. Nicméně až opětovné testování na bedně, kde vše jelo i s novými jádry a ramdisky, mě přivedlo na záludnou myšlenku: "A je ten ramdisk na té bedně vůbec nutný?" Odpověď zní ne. Zatímco na mém notebooku vytváří obsah adresáře /dev udev, na bedně je již vytvořený. Co z toho plyne? Bootsplash připojením svých obrázků zprzní initramdisk, takže pak nejde spustit. Na bedně to nevadí, protože tam jsou zařízení jako /dev/hda2, /dev/console apod. už vytvořená. Na notebooku je ale vytváří udev, který je spuštěn po načtení ramdisku. Jenže když ten ramdisk nelze přečíst, tak nelze spustit udev a pak chybí /dev/hda2 a těžko ho pak přimountujeme, že...

Tedy poučení pro příště: Nevěřte, že po připojení obrázků bootsplashe příkazem splash -s -f config >> /boot/initrd bude initrd použitelný. Neplatí to ani pro gzipovaný cpio archiv (FC3) ani pro klasický gzipovaný ext2 (FC1).

Poznámka na okraj: Kdo se chce v FC3 podívat do distribučního ramdisku, ať udělá: mkdir /tmp/ramdisk; cd /tmp/ramdisk; gunzip - < /boot/initrd | cpio -iv a kdo chce initrd vytvořit z aktuálního adresáře, nechť udělá find ./ | cpio -co | gzip - > /boot/initrd

Až se vzpamatuju z tohoto zážitku a přestanu ze spaní drmolit "make menuconfig, make, teďka chvilu pauza, pak překopírovat jádro, vytvořit initrd a nabootovat -- a sakra, vono to furt nejede", hodím sem odkaz na nějaký pěkný splash-obrázek... Hledám něco fenomenálního, co by dostatečně provokovalo všechny Windowsáky sedící v přednáškovém sále za mnou ;-)

       

Hodnocení: -

zatím nehodnoceno
        špatnédobré        

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře. , Tisk

Vložit další komentář

11.11.2005 12:20 jm
Rozbalit Rozbalit vše Re: Šmarjápanno, já se na ten bootsplash vydlabu!
Odpovědět | Sbalit | Link | Blokovat | Admin
Zkus to znova a radostneji. ;-)

Jinak, vydlabat se na to je taky velmi rozumne reseni...
11.11.2005 14:29 Spike | skóre: 30 | blog: Communicator | Praha
Rozbalit Rozbalit vše Re: Šmarjápanno, já se na ten bootsplash vydlabu!
To je dobrý týpek. Používám akorát vesafb-tng. Na splash dlabu. K čemu? Možná, až budu dělat něco jako LiveCD nebo tak...
David Watzke avatar 11.11.2005 14:27 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: Šmarjápanno, já se na ten bootsplash vydlabu!
Odpovědět | Sbalit | Link | Blokovat | Admin
teďka chvilu pauza
Proč? Pomodlíš se? :-)
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
11.11.2005 15:01 lukas.ramlich | skóre: 3 | blog: linux_a_ja
Rozbalit Rozbalit vše Re: Šmarjápanno, já se na ten bootsplash vydlabu!
Odpovědět | Sbalit | Link | Blokovat | Admin
Ty windowsáci určitě budou hodně vyprovokovaní. Nejvíc se asi budou smát tomu bootování.

- "to neumí uložit obsah paměti na disk, vypnout se a příště to zase načíst?" - "ne, to je linux"
11.11.2005 15:23 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
Rozbalit Rozbalit vše Re: Šmarjápanno, já se na ten bootsplash vydlabu!
Nevím jak jinde, ale mě swsusp2 + hibernate funguje dobře. Je to fajn pocit, když mi KDE startují stejně rychle, jako jakýkoliv jiný správce oken :-D.
When your hammer is C++, everything begins to look like a thumb.
David Watzke avatar 12.11.2005 00:00 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: Šmarjápanno, já se na ten bootsplash vydlabu!
Můžeš mi říct, jak dlouho ti startuje KDE a jak jakýkoliv jiný správce oken? Jen se v klidu ptám, abych věděl, jestli mám z těch nových X mít radost, nebo velkou radost. :-D
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
mirec avatar 12.11.2005 11:17 mirec | skóre: 32 | blog: mirecove_dristy | Poprad
Rozbalit Rozbalit vše Re: Šmarjápanno, já se na ten bootsplash vydlabu!
Odpovědět | Sbalit | Link | Blokovat | Admin
Najjednoduchším riešením zmeny témy je použiť script switch-themes (u mňa je v /usr/share/bootsplash/scripts/). V prípade poškodenia intrd stačí použiť mkinitrd.
LinuxOS.sk | USE="-fotak -zbytocnosti -farebne_lcd +vydrz +odolnost +java" emerge telefon

Založit nové vláknoNahoru

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.