Fedoraブログ

Linuxのディストリビューション、FedoraCoreに関して日々感じたことを綴っています。

Tips: ハイバネーションをしよう

2006-01-11 14:09:40 | FC Tips
Tips: サスペンドをしよう

 前回のサスペンドに続いて、今回はハイバネーション(休止状態)を実行させる方法をご紹介します。
僕のノートPCのように、バッテリーが1秒もたない(!?)ようなPCではサスペンドは(怖くて)実行出来ないので、今回ご紹介するハイバネーションを使ってください。
当然の如く、At Your Own Riskでお願いしますね。

 何をするのかと一言でいえばソフトウェアサスペンドです。
もし「そんなものとっくに知ってるよ」という方がいらっしゃいましたら、以下は読まなくても全然問題ありません。 (^^;
では早速ダウンロードです。

 Software Suspend Downloadsから、以下のパッケージをDLしてください。
  • kernel-2.6.14-1.1656_1.rhfc4.cubbi_swsusp2.i686.rpm
  • hibernate-1.12-1.i386.rpm
  • swsusp2-mkinitrd-4.2.15-1.cubbi7.i386.rpm
  • swsusp2-userui-0.6.3-0.fc4.cubbi1.i386.rpm
  • swsusp2-userui-fbsplash-0.6.3-0.fc4.cubbi1.i386.rpm
  • swsusp2-userui-snowboardtux-0.6.3-0.fc4.cubbi1.i386.rpm
    上のサイトにはsrc.rpmもあるので、ご自分で再構築してくださってもOKです。
    ちなみに僕はkernel以外は再構築しました。 (短時間で済むので)

     インストールです。
    # rpm -Uvh hibernate-1.12-1.i386.rpm
    # rpm -Uvh swsusp2-mkinitrd-4.2.15-1.cubbi7.i386.rpm
    swsusp2-userui-0.6.3-0.fc4.cubbi1.i386.rpm
    swsusp2-userui-fbsplash-0.6.3-0.fc4.cubbi1.i386.rpm
    swsusp2-userui-snowboardtux-0.6.3-0.fc4.cubbi1.i386.rpm
    # rpm -ivh kernel-2.6.14-1.1656_1.rhfc4.cubbi_swsusp2.i686.rpm
    もし依存関係でエラーが出たら、その都度必要なパッケージをインストールしてください。 (汗)

     次に設定です。
    /etc/hibernate/hibernate.confをhibernate.confを参考に設定してください。
    ……というのは少々ナゲヤリなので、僕が変更した部分だけでも列挙しますね。
    赤字が変更した部分、青字がコメントを外した部分、緑字がコメント化した部分です

    # /etc/hibernate/hibernate.confから抜粋
    # EnableEscape yes # (1)
    # DefaultConsoleLevel 1 # (2)
    ProcSetting userui_program /sbin/suspend2ui_fbsplash # (3)
    Distribution Fedora # (4)
    DownInterfaces eth0 # (5)
    UpInterfaces auto # (6)
    UseDummyXServer yes # (7)
    XStatus x # (8)
    XSuspendText Preparing to suspend... # (9)
    XResumeText Resuming from suspend... # (10)
    XosdSettings --font
    -misc-fixed-medium-r-semicondensed--*-120
    -*-*-c-*-*-*
    --colour=Green --shadow 1 --pos bottom --align
    center --offset 50
    # (11)

     では簡単に説明。
    (1)~(2)は文字どおりコメント化しただけです。
    (3)ではハイバネーション及びレジューム(回復)時に、上のペンギン画面を表示出来るようにしています。
    その場合はFCをフレームバッファモードで起動する必要があります。(Tips: フレームバッファモード参照)
     ただしkernel-2.6.14-1.1656_1.rhfc4.cubbi_swsusp2ではハイバネーションは大丈夫なのですが、レジュームに失敗するみたいですねぇ……kernel-2.6.14-1.1644_5.rhfc4.cubbi_swsusp2では問題無かったのですが。
    という訳で、カーネルのバージョンによっては(3)の部分をコメント化あるいは/sbin/suspend2ui_textに変更してください。

     (4)はディストリビューションを指定しただけです。
    (5)、(6)はコメントを外しただけです。
    (7)は、レジューム後に何故かmplayerやxineで動画を見ることが出来なくなったため、それを回避するための苦肉の策です。 (^^;

     (8)はハイバネーションやレジューム時の状態をXで表示させるために変更しました。
    (9)~(11)は(8)と同じ理由でコメントを外しています。
    ちなみに(8)にXを使う場合は、xosdが必要になります。
    # yum install xosd
    でOKですが。
    また(8)にはxの代わりに、gnomeやkdeを指定することも可能です。

     最後に/boot/grub/grub.confの変更です。
    swapスペースがどのデバイスファイルかあらかじめ確認しておいてください。
    僕の場合は/dev/hda5でしたので、/boot/grub/grub.confのカーネル指定部分に以下のような設定をします。
    赤字の部分が付け加えた部分です。
    kernel /vmlinuz-2.6.14-1.1656_1.rhfc4.cubbi_swsusp2 ro root=LABEL=/ resume2=swap:/dev/hda5 rhgb quiet vga=791

     では、ハイバネーションをしてみましょう。
    # /sbin/hibernate

     無事ハイバネーションが終われば、当然次はレジュームです。
    電源ボタンを押して、ハイバネーションしたカーネルを選択してブートしてください。
    最初はFCの普通の起動画面に見えますが、これで既にレジューム画面に入っています。
    無事レジュームが完了したら、ハイバネーションした時の状態の画面が表示されるはずです。

     赤字で書いたように、ハイバネーションしたカーネルではないものを選択して起動させるとデータが壊れたり、最悪ファイルシステムエラーで起動しなくなります。
    レジューム時には充分に注意してくださいね。
    ちなみに今回もacpidには触れないので、必要な方はご自分で調べてくださいね。 (^^;


     いかがでしたでしょうか?
    ……え? 長すぎて飽きたって?
    いや、本当はもっとコンパクトにまとめるつもりだったのですが…気づくとこんなに長くなってしまいました。
    まだまだ精進が足りませんね。

     余談ですが。
    kernel-2.6.14-1.1656_1.rhfc4.cubbi_swsusp2で/sbin/suspend2ui_fbsplashを使おうとして、imgファイルをいじっていたらファイルシステムエラーが起こり……
    FCが起動しなくなりました。 STO
    repair画面で
    # /sbin/fsck -c
    を実行して何とかなりましたが……怖かったですよ、マジで。
    くれぐれもハイバネーション&レジュームは気を付けて実行してください。
    そして出来ないと思ったら、即座に諦めるのも1つの手かと……。


  • 最新の画像もっと見る