すずしーね

nogajun
nogajun

_

台風が近づいているせいか、涼しいというかなんだか寒いね。

_ 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なるものがあるそうな。debrpm

こんなの手でちゃっちゃと書き換えれば済む事やん。と思ったけどWinの人にはこういうのも必要なのかなとも思ったりして。