Ubuntu Gutsyでのuswsuspのスプラッシュを動作させるための覚え書き
uswsuspによる休止/復帰における進行状況バーの表示自体は、動くところまで持っていけたのだが、現状では、Usplash*1/Splashyのいずれの場合も、問題が残ってしまっている。見た目をあまり気にしないのであれば、テキストによる表示で使用するのが一番楽で無難と言えそう。
今回はパッケージビルドなどの作業があるため、一部端末を使用した手順となっている。
uswsuspのソースパッケージをビルドするのに必要なパッケージの準備
パッケージ名を並べているだけなので、Synapticで探して入れてもOK。
$ sudo apt-get install dpkg-dev debian-keyring fakeroot $ sudo apt-get install debhelper pciutils-dev docbook2x po-debconf libgcrypt-dev zlib1g-dev libusplash-dev libx86-dev
usplashを有効にしてビルド・インストール
下の作業でビルドし直してインストールすることで、休止前の進行状況表示が起動時のような感じで出た後、電源が落ちるようになった。しかし、復帰後の進行状況バーが最後まで進んだ後もその状態のままで、Xには戻らなかった。
$ apt-get source uswsusp $ cd uswsusp-0.6~cvs20070618/ $ mv suspend-cvs20070513/* suspend-cvs20070618/ $ dpkg-buildpackage -rfakeroot -us -uc -b $ cd ../ $ sudo dpkg -i uswsusp*.deb
splashyを有効にしてビルド・インストール
事前に、「usplash」パッケージを完全削除しておく。
ビルド
Splashyサポートは、配布されているパッケージでは無効になっているようで、以下の作業によって有効にすることはできるが、そのままでは動作してくれない。
ビルドには、追加で「libsplashy1-dev」パッケージを入れておく必要もある。
$ apt-get source uswsusp $ cd uswsusp-0.6~cvs20070618/ $ sed -i -e 's/^#\(CONFIG_SPLASHY\)/\1/' suspend-cvs*/Makefile $ dpkg-buildpackage -rfakeroot -us -uc -b $ cd ../ $ sudo dpkg -i uswsusp*.deb
Splashyを有効にするための準備
Splashyを有効にするには、
の2つを行い、/dev/fb0がDirectFBから使用できるようにしておく。
カーネル引数は「gksudo gedit /boot/grub/menu.lst」などでメニューファイルを開き、「kernel」の行に、解像度に応じた数字を含めて書き足す。値はvesafbに関するカーネル付属ドキュメントを参照。「よって、カーネルモード番号の表は、次の通りです:」と書かれている下に一覧がある。
initrdにSplashyを含める
以下の作業によって/sbin/splashyをinitrdに含めることにより、休止/復帰時の進行状況表示が行われるようになる。
起動時にはバーが進まない?
Splashyは、起動時にも進行状況バーを表示するのだが、何故かバーは進まない。
Ubuntu Linux独自の起動システム(upstart)には対応していないのかというと、そうでもなさそうなのだが...*2
また、電源を切るときや再起動をするときにはスプラッシュは出なくなってしまうのも気になる。
/etc/splashy/config.xmlの途中に
<fifo>/dev/.initramfs/splashy.fifo</fifo>
を追加し、initrdの中にも反映させたが、効果はなし。
また、initrdの中でsplashyが実行されるときにエラーが出ていないかも見たのだが、splashyのエラー出力は全く無かった。
Usplash(起動/終了時のため)とSplashyを両方入れておいて、休止/復帰だけSplashyを使用したいところではあるのだが、それをやろうとすると、起動時にも休止/復帰時にも画面が真っ黒になってしまう(処理自体は普通に進む)。
関連記事:
- Ubuntu Gutsy(7.10)でuswsusp + hibernate-scriptによるハイバネーションを行う
- Ubuntu Gutsy(7.10)でuswsuspのスワップ「ファイル」からの復帰ができなかった件の対処と、ファイルへの書き込みの流れ
- Debian lenny上でSplashyが動作するかを検証(2007/11/5現在)
関連URL:
*1:Ubuntu Linuxで採用されている起動/終了スプラッシュ