すずしーね

台風が近づいているせいか、涼しいというかなんだか寒いね。
_ bootsplash
KDEをCVSバージョンにしたり、カーネルを2.4.22にあげたりしたのでメモ。
bootsplashの設定に参考にした「Graphic boot with bootsplash and progress bar in Debian」はスペイン語でよくわかんないんだけど、今、ソフトウェア特許の抗議で読めなくなっているので、googleのキャッシュからどうぞ。→ Page 1 / Page 2 / Page 3 / Page 4 _ bootsplash
bootsplashを使うには、カーネルにbootsplashのパッチを当ててフレームバッファを使えるようにして再構築します。というわけで材料集め。
必要なのは、kernelソースにbootsplashパッチ、splashutilと適当なテーマファイル。
まず、カーネルソースだけど、Debianのkernel-sourceにはすでにパッチが当たっているので、ringサーバーから素のカーネルソースをもらってきます。
bootsplashパッチは、bootsplashのページには2.4.20用しかないので手パッチしかないかと思いきや、ckパッチのCon Kolivas氏のページに2.4.22用のパッチが置いてあるので、それをもらってきます。
あと、bootsplashのconfigファイルをinitrdに納めたり、プログレスバーを表示するために必要なsplashutilと、テーマを公式ページからもらってきます。 _ カーネルのパッチ当てとコンパイル
適当なディレクトリでカーネルを展開。展開したディレクトリに降りて、bzcat patch-2.4.22-1050-bs.bz2 | patch -p1
でパッチを当てる。当てたなら、debianらしくそのディレクトリで、make-kpkg kernel_source
でカーネルソースのパッケージを作ってインスコ。/usr/srcにパッチ済みソースがあるので展開する。
カーネルの設定は以下を有効にして、後は/boot以下にあるconfigを参考に適当に。ちなみにフレームバッファはrivafbで試してみたけどダメだったのでvesaじゃないとダメっぽいです。
カーネルの設定をしたなら、make-kpkg kernel-image
でコンパイル。alsaとかいれるならmake-kpkg modules_image
も忘れずに。
Code maturity level options --->
[*] Prompt for development and/or incomplete code/drivers
Processor type and features --->
[*] MTRR (Memory Type Range Register) support
Block Devices ->
[*] Loopback device support
[*] RAM disk support
(4096) Default RAM disk size
[*] Initial RAM disk (initrd) support
Console Drivers ->
[*] VGA text console
[*] Video mode selection support
Console Drivers -> Frame-buffer support ->
[*] Support for frame buffer devices
[*] VESA VGA graphics console
[*] Use splash screen instead of boot logo
_ テーマなどの設定
カーネルをコンパイルしている間に細々とした設定。
まず、設定に必要なsplashutilをコンパイルします。といっても展開してmakeするだけ。できたファイル、fbresolution, getkey, progress, splash を/usr/local/sbinなどにコピーしておきます。
次に/etc/bootsplash/themesというディレクトリを作って、そこでテーマを展開します。テーマを展開したなら、splash -s -f /etc/bootsplash/themes/Linux/config/bootsplash-1024x768.cfg >> /boot/initrd.splash
でinitrdを作ります。
あとはブート時の設定をするだけ。自分の場合、grubを使っているのでこんな感じ。gentooの人がカーネルパラメータにvideo=〜というのを書いていたけど、フレームバッファはvesaしか使わないしmtrrは有効にしているので別に必要ないです。
root (hd0,5)
kernel /boot/vmlinuz-2.4.22-ck2 root=/dev/hda6 vga=791 splash=silent ro
initrd /boot/initrd.splash
savedefault
boot
_ 再起動
あとは再起動すればおけー。しかし、このままではプログレスバーは動きません。/etc/init.d/rcSの中からprogressを呼び出さないとダメなんだけど、まだそこまでいじってないので今日はここまで。
_ GRUBのsplashimage
Debian Sarge/SidのGrubにはすでにsplashimageパッチが当たっているので、ついでに設定してみた。
方法は簡単。用意するのはgzipで圧縮した640x480で14色のxpm形式の画像ファイルだけ。といってもそういうものは無いので適当に用意した画像を変換して使います。
変換方法はImage Magickなら、convert (元画像ファイル名) -colors 14 -geometry 640x480! (生成されるファイル名).xpm
の一発でおけ。gimpの場合、画像→拡大縮小で640x480にした後、画像→モード→インデックスカラーを選んで、「最適パレットを生成」の色数を14にすればいいけど、ちと面倒くさいね。あとはgzipで圧縮して/boot/grubに置いておきます。
設定はmenu.lstの適当なところに、splashimage=(hd0,5)/boot/grub/(画像ファイル名).xpm.gzと1行追加するだけ。うーん楽ちん。
_ grubconf
上で参考にした「GRUB Splash Image Howto」のページに載ってたけど、GUIでGRUBを設定できるgrubconfなるものがあるそうな。debとrpm
こんなの手でちゃっちゃと書き換えれば済む事やん。と思ったけどWinの人にはこういうのも必要なのかなとも思ったりして。