Dear rekan-rekan milis,

Di mail ini saya ingin membagi pengalaman ke rekan-rekan tentang cara
mengkonfigurasi bootsplash di Debian Sarge (3.1r0). Inspirasinya
sendiri datang dari tulisan Nicholas Petreley "Jazz Up Your Debian
System Boot" di http://hacks.oreilly.com/pub/h/3124.
Bootsplash sendiri adalah suatu fitur dimana kita dapat memanfaatkan
framebuffer utk menampilkan splashscreen sewaktu booting maupun
shutdown. Sampai saat ini, fitur bootsplash belum disupport secara
"official" di Debian. Namun kita dapat mengkonfigurasinya sendiri dgn
menggunakan paket2 unofficial yg banyak tersedia
di Internet.

Untuk lebih singkatnya, langkah-langkahnya adalah sebagai berikut:

Ekstrak kernel ke /usr/src. Disini penulis menggunakan kernel 2.6.12
# tar jxf linux-2.6.12.tar.bz2 -C /usr/src/.
# cd /usr/src
# ln -s linux-2.6.12 linux

Download patch bootsplash utk kernel 2.6.12 di
http://www.bootsplash.de/files/ dan letakkan di /usr/src/. Untuk lebih
amannya, kita bisa menggunakan opsi "--dry-run" utk melihat terlebih
dulu apakah proses patching berjalan dgn sempurna.
Apabila proses patching dgn "--dry-run" sukses, kita dapat
menghilangkan opsi "--dry-run" utk melakukan patch sesungguhnya. Lihat
manual dari patch(1) utk detail penggunaannya.
# cd /usr/src/linux
# patch -p1 --dry-run < ../bootsplash-3.1.6-2.6.12.diff
patching file drivers/char/keyboard.c
patching file drivers/char/n_tty.c
patching file drivers/char/vt.c
patching file drivers/video/bootsplash/bootsplash.c
patching file drivers/video/bootsplash/bootsplash.h
patching file drivers/video/bootsplash/decode-jpg.c
patching file drivers/video/bootsplash/decode-jpg.h
patching file drivers/video/bootsplash/Kconfig
patching file drivers/video/bootsplash/Makefile
patching file drivers/video/bootsplash/render.c
patching file drivers/video/console/bitblit.c
patching file drivers/video/console/fbcon.c
patching file drivers/video/console/fbcon.h
patching file drivers/video/Kconfig
patching file drivers/video/Makefile
patching file drivers/video/vesafb.c
patching file include/linux/console_struct.h
patching file include/linux/fb.h

Kita hilangkan opsi "--dry-run" utk melakukan patch:
# patch -p1 < ../bootsplash-3.1.6-2.6.12.diff
patching file drivers/char/keyboard.c
patching file drivers/char/n_tty.c
patching file drivers/char/vt.c
patching file drivers/video/bootsplash/bootsplash.c
patching file drivers/video/bootsplash/bootsplash.h
patching file drivers/video/bootsplash/decode-jpg.c
patching file drivers/video/bootsplash/decode-jpg.h
... etc

Lanjutkan dgn mengkonfigurasi kernel:
# make menuconfig

Opsi2 kernel yg diaktifkan utk keperluan bootsplash antara lain:
  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
      (16)  Default number of RAM disks
      (4096) Default RAM disk size (kbytes)
      [*]   Initial RAM disk (initrd) support
    Graphics support  --->
      <*> Support for frame buffer devices
      [*]   VESA VGA graphics support
      Console display driver support  --->
        [*]   Video mode selection support
        <*> Framebuffer Console support
        [*] Select compiled-in fonts
        [*]   VGA 8x16 font
      Bootsplash configuration  --->
        [*] Bootup splash screen

Lanjutkan dgn mengkompilasi kernel beserta modul-modulnya:
Lihat manual dari make-kpkg(1) utk detail penggunaannya.
# make-kpkg --revision=01 --append-to-version "-splash" kernel_image
modules_image

Install kernel yg sudah dikompilasi:
# cd ..
# dpkg -i ./kernel-image-2.6.12-splash_01_i386.deb

Setelah kompilasi kernel, lanjutkan dgn menginstall bootsplash,
init-script bootsplash beserta theme (penulis menggunakan theme newlinux).
Utk sistem yg terkoneksi ke internet, bisa menambahkan entry di bawah ini ke
file /etc/apt/sources.list
  deb http://www.bootsplash.de/files/debian unstable main

# echo "deb http://www.bootsplash.de/files/debian unstable main" >>
/etc/apt/sources.list

Lanjutkan dgn mengupdate database paket, dan menginstall paket bootsplash
# apt-get update
# apt-get install sysv-rc-bootsplash
# apt-get install bootsplash bootsplash-theme-newlinux

Untuk sistem yg tdk terkoneksi ke intenet, download dan install file-file
berikut: (minta tolong teman atau download dari warnet)
http://www.bootsplash.de/files/debian/pool/main/s/sysv-rc-bootsplash/sysv-rc-bootsplash_1.0.0-5_i386.deb
http://www.bootsplash.de/files/debian/pool/main/b/bootsplash/bootsplash_3.1-9_i386.deb
http://www.bootsplash.de/files/debian/pool/main/b/bootsplash-theme-newlinux/bootsplash-theme-newlinux_0.5-5_all.deb

Utk instalasinya, lakukan: (diasumsikan semua paket dlm satu direktori)
# dpkg -i ./sysv-rc-bootsplash_1.0.0-5_i386.deb
./bootsplash_3.1-9_i386.deb ./bootsplash-theme-newlinux_0.5-5_all.deb

Setelah selesai menginstalasi bootsplash-theme, lanjutkan dgn membuat
file initrd.splash nya. Lihat manual dari splash(1) utk detail
penggunaannya.
# cd /etc/bootsplash/themes/
# splash -s -f ./current/config/bootsplash-800x600.cfg > /boot/initrd.splash

Lanjutkan dgn mengupdate file konfigurasi bootloader agar dpt meload
kernel baru hasil kompilasi dan initrd.splash yg sudah digenerate tadi.
Diasumsikan bahwa partisi rootnya ada di /dev/hda1
Utk grub, tambahkan entri berikut di /boot/grub/menu.lst
  title Debian Sarge, 2.6.12-splash
  root (hd0,0)
  kernel /boot/vmlinuz-2.6.12-splash root=/dev/hda1 vga=788 splash=silent
  initrd /boot/initrd.splash

Utk lilo, tambahkan entri berikut di /etc/lilo.conf
  vga=788
  label=DebianSarge-splash
  root=/dev/hda1
  image=/boot/vmlinuz-2.6.12-splash
  initrd=/boot/initrd.splash
  append="splash=silent"
Setelah mengedit lilo.conf, jangan lupa utk menjalankan "lilo -v" utk
melihat apakah perubahan konfigurasi tadi sudah masuk ke bootloader.

Reboot ke kernel baru utk melihat apakah bootsplash telah aktif.
Setelah reboot, bisa kita perhatikan bahwa bootsplash hanya aktif di
konsole pertama (tty1).
Bagi rekan2 pengguna SuSE, mungkin ada yg telah memperhatikan bahwa SuSE
memanggil bootsplash menggunakan script /etc/rc.splash.
Di Debian sendiri, kita mendapat fungsi serupa setelah menginstall
paket sysv-rc-bootsplash. Salah satu isi dari paket ini adalah patch
ke file /etc/init.d/rcS, dimana patch ini akan berisi penambahan
fungsi rc_splash() yg akan mengaktifkan bootsplash sewaktu booting dan
shutdown.

Untuk mengaktifkan bootsplash di konsole lainnya (tty2 s/d tty6) sewaktu
startup, kita bisa menggunakan script /etc/init.d/bootsplash bawaan dari
paket bootsplash_3.1-9_i386.deb. Hintnya adalah, panggil skrip bootsplash
ini *setelah* udev aktif. Udev sendiri adalah sekumpulan skrip yg isinya utk
menginisialisasi semua device pada sistem. Di Debian, udev diaktifkan dgn no
urut 04 sewaktu sistem startup.
# cd /etc/rcS.d/
# ls -l *udev*
lrwxrwxrwx  1 root root 14 2005-11-22 11:07 S04udev -> ../init.d/udev
lrwxrwxrwx  1 root root 19 2005-11-22 11:07 S36udev-mtab -> ../init.d/udev-mtab

Utk mengaktifkan bootsplash utk konsole tty2 s/d tty6, edit file
/etc/default/bootsplash. Cari entri di bawah dan sesuaikan hingga
menjadi:
  BOOTSPLASH_TTYS="1 2 3 4 5"
Utk angka 0 sendiri (konsole pertama), bootsplash akan aktif secara otomatis.

Sekarang, kita set agar /etc/init.d/bootsplash dipanggil setelah udev.
Perintah "update-rc.d" sendiri fungsinya hampir sama dgn "chkconfig" di RedHat.
Lihat manual dari update-rc.d(8) utk detail penggunaannya. Dalam
contoh kali ini, kita set agar bootsplash dipanggil dgn no urut 6.
# update-rc.d bootsplash start 06 S .
Jangan lupa tanda "." di akhir perintah

Cek apakah bootsplash sudah masuk dalam init-script saat sistem start:
# ls -l /etc/rcS.d/*splash*
lrwxrwxrwx  1 root root 20 2006-02-10 16:48 /etc/rcS.d/S06bootsplash ->
../init.d/bootsplash

Reboot kembali utk melihat hasilnya.. ;)

Catatan:
Mohon maaf apabila ada kesalahan dalam penulisan tutorial. Mohon kritik
dan saran dari rekan-rekan lainnya demi kesempurnaan tulisan ini.
Secara umum, bisa diterapkan di distro lainnya. Utk referensi tambahan,
bisa dilihat di:
http://www.planamente.ch/emidio/pages/linux_howto_bootsplash.php
http://julian.coccia.com/blog/index.php?p=69&more=1

bootsplash di Gentoo:
http://gentoo-wiki.com/HOWTO_Framebuffer:Bootsplash:Grubsplash

bootsplash di Slackware:
http://madpenguin.org/cms/index.php/?m=show&id=626

Utk theme lainnya, bisa dilihat di http://www.bootsplash.de/
Ekstrak ke /etc/bootsplash/themes, lalu buat kembali file initrd.splash.
Reboot utk melihat hasilnya.

--
regards,
Hari Purnama

--
FAQ milis di http://wiki.linux.or.id/FAQ_milis_tanya-jawab
Unsubscribe: kirim email ke [EMAIL PROTECTED]
Arsip dan info milis selengkapnya di http://linux.or.id/milis

Kirim email ke