Bootsplash
.
.
Sveiki atvykę į grafinį Linux pasaulį!
Bootsplash tai neaoficiali linux branduolio pataisa leidžianti paprastą krovimosi procesą paversti grafiniu. Laikas nuo laiko išeina pataisos pritaikytos naujiems linux branduoliams, bet ne visi yra palaikomi.
Galimybės:
- Graži grafika (JPEG)
- Glotnių fontų generavimo technologija (TrueType)
- Animacijos (MNG)
- Krovimosi proceso atvaizdavimas
- Krovimosi žinučių rodymas. ("verbose" ir "silent" pasirinkimai)
- Pilnai konfiguruojamos temos.
Naujas branduolio pątaisas visada galima rasti bootsplash.org svetainėje.
Šio puslapio pagrindinis tikslas yra lietuviškai aprašyti bootsplash darymo procesą ant skirtingų linux distribucijų bei branduolio versijų.
Slackware Linux + Kernel 2.6.16.5[keisti]
Šis straipsnis parašytas vadovaujantis slackware linux, 2.6.16.5 branduoliu ir nvidia tvarkyklėmis bet gali tikti ir kitoms linux versijoms.
Perspėju! jog būtumėte atsargūs prieš toliau ką nors mėgindami daryti. Naudosime eksperimentines tvarkykles todėl tai gali pakenkti bendram sistemos stabilumui arba duomenims!
Pradedame nuo branduolio pataisymo bei perkompiliavimo.
cd /usr/src wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.16.5.tar.bz2 <- Atsisiunčiame branduolio išeities kodą bunzip2 linux-2.6.16.5.tar.bz2;tar xf linux-2.6.16.5.tar <- Išpakuojame cd linux-2.6.16.5 <- Įeiname į branduolio išeities kodų katalogą.
Toliau mums reikia atsisiūsti bootsplash pataisymus
wget ftp://ftp.openbios.org/pub/bootsplash/kernel/bootsplash-3.1.6-2.6.15.diff
Tai senesnė pataisa bet puikiai išbandyta ir veikia ant šios versijos branduolio.
cat bootsplash-3.1.6-2.6.15.diff| patch -p1 <- Taisome branduolį
Toliau pradedame konfiguruoti branduolį
make menuconfig
Turime pasirinkti šiuos parametrus:
Code maturity level options ---> [*] Prompt for development and/or incomplete code/drivers Processor type and features ---> [*] MTRR (Memory Type Range Register) support Device Drivers ---> Block devices ---> <*> Loopback device support <*> RAM disk support (4096) Default RAM disk size [*] Initial RAM disk (initrd) support Graphics support ---> [*] Support for frame buffer devices [*] VESA VGA graphics support Console display driver support ---> [*] Video mode selection support Console display driver support ---> [*] Video mode selection support <*> Framebuffer Console support [*] Select compiled-in fonts [*] VGA 8x8 font Bootsplash configuration ---> [*] Bootup splash screen
Toliau galima pradėti kompiluoti kernelį:
make bzImage;make modules;make modules_install
Jei boot loaderis yra lilo rašote:
make install
Jeigu gale proceso matote kažką panašaus į:
Added Windows * Added BeOS Added Linux Added Linux-fb
Vadinasi viskas pavyko, jei ne tvarkotės rankiniu būdu:
cp arch/i386/boot/bzImage /boot/vmlinuz-2.6.16.5 cp System.map /boot/System.map-2.6.16.5 ln -s /boot/System.map-2.6.16.5 /boot/System.map
Toliau į /etc/lilo.conf įdedate šias eilutes:
image=/boot/vmlinuz-2.6.16.5 label=linux-bootsplash read-only root=/dev/hda1
/dev/hda1 tai jūsų įkraunamasis linux įrenginys (boot arba root skirsnis). Išsaugote failą ir paleidžiate lilo:
/sbin/lilo -v
Jei boot loaderis yra GRUB darote panašiai:
cp arch/i386/boot/bzImage /boot/vmlinuz-2.6.16.5 cp System.map /boot/System.map-2.6.16.5 ln -s /boot/System.map-2.6.16.5 /boot/System.map
Tada į /etc/grub/menu.lst įrašote šiuos įrašus:
title=Linux-bootsplash root=(hd0,0) kernel=(hd0,0)/boot/vmlinuz-2.6.16.5 root=/dev/hda1 video=vesafb:ywrap,mtrr vga=0x31A splash=silent initrd=(hd0,0)/boot/initrd.img-splash
Toliau diegiame bootsplash įrankių paketą iš linuxpackages.net arba jei turite swaret galite pasinaudoti juo.
swaret --install bootsplash
Sukuriame initrd imidžą:
mkinitrd -o /boot/initrd.img-splash 2.6.16.5
Nustatome bootsplash temą (visas temas galite rasti bei atsiūsti į /etc/bootsplash/themes):
cd /etc/bootsplash/themes/SlackwareLinux/config splash -s -f bootsplash-1024x768.cfg >> /boot/initrd.img-splash
Jei pas jus lilo teks dar pakoreguoti konfiguraciją ir pridėti eilutes į sekciją kurią redagavote anksčiau
initrd = /boot/initrd.img-splash vga = 0x317 append="video=vesafb:ywrap,mtrr:2 splash=silent"
Vėl įrašote nustatymus:
/sbin/lilo -v
Dabar galite mėginti perkrauti sistemą. Kaip matote bootsplash'as veikia tik ant vienos virtualios konsolės, jei norite, kad jis viektu ir ant kitų turėsite šias eilutes įdėti į /etc/rc.d/rc.S:
a=0 while [ "$a" -le 11 ] do a=$(($a+1)) splash -snu $a /etc/bootsplash/themes/SlackwareLinux/config/bootsplash-1024x768.cfg done
Jei iškyla problemų su nvidia tvarkyklėmis įrašykite šią eilutę į video kortos sekciją faile /etc/X11/xorg.conf:
Option "NvAGP" "1"
Debian linux + kernel 2.4.27[keisti]
Bootsplash’as ant standartinio debian sarge 3.1, branduolio 2.4.27. Esmė ta pati ir ant naujesnių branduolio versijų.
Parsiunčiame branduolio išeities kodą.
apt-get install kernel-source-2.4.27
jis pasideda į /usr/src pavadinimu kernel-source-2.4.27.tar Išpakuojame archyvą.
tar xf kernel-source-2.4.27.tar
Išsiaiškinkite ar turite gcc v3.3 jei ne tada įdiekite. Taip pat turi būti įdiegti šie įrankiai:
apt-get install kernel-package ncurses-dev fakeroot wget bzip2 initrd-tools
Prieš konfigūravimo darbus reiktų parsiūsti bootsplash’o pątaisas branduoliui.
cd /usr/src/kernel-source-2.4.27 wget http://www.bootsplash.de/files/old/bootsplash-3.0.7-2.4.29.diff
Atsisiuntę pataisas gražiai pataisysime branduolį būdami branduolio išeities kodo kataloge:
cat ../bootsplash-3.0.7-2.4.29.diff | patch -p1
Toliau tome pačiame kataloge rašome:
make menuconfig
paspaudus y pažymima * (žvaigždute) tai reikš, kad komponentas bus integruotas į branduolį Paspaudus n komponentas nebus įdiegtas Paspaudus m komponentas bus įdiegtas kaip dinamiškai užkraunamas branduolio modulis.
Pradedame konfigūraciją.
Code maturity level options —> [*] Prompt for development and/or incomplete code/drivers Loadable module support —> [*] Enable loadable module support [*] Set version information on all module symbols [*] Kernel module loader Processor type and features —> (TavoProcesorius) Processor family < -- Nustatome savo procesoriu [*] Machine Check Exception (off) High Memory Support [*] MTRR (Memory Type Range Register) support [*] Unsynced TSC support Block devices ---> <*> Loopback device support <*> RAM disk support (4096) Default RAM disk size [*] Initial RAM disk (initrd) support File systems —> <*> Compressed ROM file system support [*] Virtual memory file system support (former shm fs) <*> ISO 9660 CDROM file system support [*] /proc file system support <*> ROM file system support <*> Second extended fs support Console drivers —> [*] VGA text console [*] Video mode selection support Console drivers —> Frame-buffer support —> [*] Support for frame buffer devices (EXPERIMENTAL) <*> VESA VGA graphics console <*> Virtual Frame Buffer support (ONLY FOR TESTING!) (EXPERIMENTAL) [*] Use splash screen instead of boot logo [*] Select compiled-in fonts [*] VGA 8×8 font [*] VGA 8×16 font
Išsaugom viską, EXIT Kompiliuojam branduolį
make dep && make bzImage && mv arch/i386/boot/bzImage /boot make modules; make modules_install make all; make install mkinitrd -o /boot/initrd_new.img 2.4.27
Toliau prie apt repozitorių pridėsime vieną naują.
pico /etc/apt/sources.list
pridėkite šias dvi eilutes:
deb http://debian.bootsplash.de unstable main deb-src http://debian.bootsplash.de unstable main
išsaugokite (ctrl+o) uždarykite (ctrl+x). Įdiegiame bootsplash paketą.
apt-get install bootsplash cd /etc/bootsplash/themes/newlinux/config
Pasirenkame instaliuotą temą pagal savo raišką kuria norėsite naudoti bootsplash’ą:
jei 640×480 tada rašysite: # splash -s -f bootsplash-640×480.cfg > /boot/initrd.splash jei 800×600 tada rašysite: # splash -s -f bootsplash-800×600.cfg > /boot/initrd.splash jei 1024×768 tada rašysite: # splash -s -f bootsplash-1024×768.cfg > /boot/initrd.splash
Tai nustatys tiktai image koordinates. Kad pasikeistų konsolės framebufferio raiška turime pakeisti dabartinio bootloaderio nustatymus jei tai grub boot loaderis darome taip:
pico /boot/grub/menu.lst
Pridedame šias eilutes:
title Jusu naujo kernelio versija ( With Bootsplash ) root (hd0,0) <- Pas jus gali būti kitaip kernel /boot/vmlinuz-nauja_kernelio_versija root=/dev/hda1 ro vga=XXX splash=silent initrd /boot/initrd.splash savedefault boot
Vietoj vga=XXX rašome parametrą pagal savo norimą raišką:
640x480 -- vga=785 800x600 -- vga=788 1024x768 -- vga=791
Bootloaderio konfigūracija baigta. Panašiai konfiguruojasi ir lilo bootloaderis tik baigus konfigint reik paleist lilo, kad aktyvuot nustatymus.
Norint pakeisk bootsplash temą reikia ją įdiegti, susirasite per apt-cache search bootsplash tada aktyvuoti jo konfigą kaip rodžiau anksčiau pagal tam tikrą raišką, kai tai padarysite belieka perkrauti PC. Tie kas naudojasi daugiau nei viena virtualia konsole ir nori, kad bootsplash'as veiktų ant jų visų reik papildomai įdiegti "sysv-rc-bootsplash" tai galite padaryti taip:
apt-get install sysv-rc-bootsplash
Tai pataisys rc/rcS failus ir turėsite bootsplash'ą ant visų consolių.
Sąvoką kaip konfiguruoti ir įdiegti branduolį galite rasti čia.