[Momonga-devel.ja:01719] bootsplash


きたです.

bootsplash(http://www.bootsplash.org/); とは,boot 時に initrd の末尾に
追加しておいた画像を frame buffer 経由で表示するための kernel パッチと
ユーティリティです.

起動時に rc?.d の進捗度合に従ってプログレスバーを表示することも可能です.

splash というユーティリティを使うことで,frame buffer なコンソールに表
示する画像を切り替えたりもできます.


momonga の kernel には bootsplash のためのパッチがすでに当たっているの
ですが,ユーティリティが用意されてなかったため簡単に bootsplash を試す
ことができませんでした.

先程,bootsplash というパッケージと,bootsplash に対応した initscripts
を cvs にコミットしました.
bootsplash には,splash などのユーティリティの他,適当にでっちあげた
Momonga テーマも含まれています.

以下,ちょっと長いですが使い方です.
興味があったら試してみてください.


!! 使い方

1.bootsplash 対応 initscripts と bootsplash をインストール.

2.bootsplash 用のイメージ付き initrd を生成する.
   bootsplash に mkbsinitrd というスクリプトが同梱されています.

     # mkbsinitrd 2.4.21-0.3.1m Momonga

   とやると,/boot/initrd-2.4.21-0.3.1m.img に Momonga テーマの画像を
   追加して /boot/initrd-2.4.21-0.3.1mbs.img という名前で保存します.
   何をやっているのか知りたい人は mkbsinitrd の中身を読んでみて下さい.
   たいしたことはやってません.
   

3.lilo.conf や grub.conf をイジル.
   やることは,
   a.frame buffer のモードを指定.(例:vga=0x317)
   b.splash=silent を追加.
   です.

   lilo.conf だとこんな感じ.

     image=/boot/vmlinuz-2.4.21-0.3.1m
             label=Momonga
             root=/dev/vg00/root
             initrd=/boot/initrd-2.4.21-0.3.1mbs.img
             vga=0x317
             append="splash=silent"
             read-only

   grub.conf だとこんな感じ.

     title Momonga Linux snapshot  (2.4.21-0.3.1m)
       root (hd0,0)
       kernel /boot/vmlinuz-2.4.21-0.3.1m ro root=/dev/vg00/root vga=0x317 splash=silent
       initrd /boot/initrd-2.4.21-0.3.1mbs.img


4.そして再起動.

   bootsplash の画像が表示されている時に F2 を押すと通常のテキスト表示
   に戻ります.


!! テーマ

今のところ Momonga テーマしかありません.
テーマは /etc/bootsplash/themes/ にインストールされます.


!! 設定ファイル

/etc/sysconfig/bootsplash でテーマ名と bootsplash を使うかどうかを指定
します.

THEME
  テーマ名.実際のテーマ置き場は /etc/bootsplash/themes/$THEME になる.

SPLASH
  bootsplashを使うかどうかを "yes" または "no" で指定する.


!! 問題点

/etc/rc.sysinit の処理はプログレスバーに反映されません.でも実は結構長
い時間がかかります.

kudzu が新しいハードウェアを発見しても,自動的にはテキスト表示に画面が
切り替わりません.
また,kudzu がユーザからの入力待ち状態になっている時に F2 を押しても何
も起こりません.

基本的にユーザによるインタラクションが必要なモノとは相性が悪いような気
がします.