Bootsplash

Iš Žinynas.
Jump to navigation Jump to search
Verbose Bootsplash in action

.

Silent Bootsplash in action

.


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.