試験運用中なLinux備忘録・旧記事

はてなダイアリーで公開していた2007年5月-2015年3月の記事を保存しています。

UbuntuでTuxOnIceを用いる(Ubuntu 10.10時点・前半)

システムの状態をディスクに書き出して次回起動時に復元するTuxOnIceの機能を有効にしてビルドされたカーネルとそれに関連するツールは、UbuntuではTuxOnIceの開発チームがPPAリポジトリを通じて公開している。一部ツールはUbuntu公式のパッケージが存在するものもあるが、最新のバージョンを提供している。
TuxOnIceを導入することで、マルチコア環境ではマルチスレッド処理によりメモリイメージの読み書き処理がuswsuspよりも高速に行えるようになる。

リポジトリ設定

「ppa:tuxonice/ppa」を追加する。リポジトリ追加の作業については「milkjfフォントとut(内海氏)版AnthyのUbuntu向けパッケージを作成(2010/11/20現在)」を参照。

パッケージのインストール

Synapticapt-getコマンドなどで

  • linux-generic-tuxonice(本体)
  • linux-headers-generic-tuxonice(カーネル開発パッケージ・カーネルモジュールのビルドに必要)
  • tuxonice-userui(休止/復帰時に用いるプログラム・最新バージョン)
  • hibernate(休止に入るためのスクリプト・最新バージョン・hibernate-scriptを用いる場合のみ必要)

を選択してインストールする。
国内のパッケージミラーサーバと比べてPPAリポジトリのサーバからのダウンロード速度は遅く、特にこのTuxOnIceカーネルはサイズが大きいので取得に時間がかかる。

自分でカーネルソースとパッチからビルドする場合

上記リポジトリを用いずに自分でカーネルソースパッケージ(linux-source)とTuxOnIceパッチからカーネルをビルドする方法もあり、Ubuntu 10.10(Linux 2.6.35系を使用)ではtuxonice-3.2-rc2-for-2.6.35.patch.bz2が問題なく適用できる。
カーネルを自分でビルドする場合でもカーネル以外のツールはPPAのパッケージを利用すると便利。

pm-utilsからTuxOnIceを用いる

デスクトップ環境などのログアウト時の「ハイバネート」項目からの休止かpm-hibernateコマンドを用いる休止の手順ではpm-utilsというツール群が用いられる。
これはTuxOnIceを標準でサポートしており、休止の方式(sleepモジュールの選択による)をTuxOnIceのものに指定することでTuxOnIceが用いられるようになる。しかし、復帰後に画面のロックがされない場合がある。また、カーネルがTuxOnIceパッチ未適用の場合は(当然)動作はしない。

sleepモジュールの選択

標準ではTuxOnIceは用いられない(古い休止の仕組みか、それを追加ツールで補助するuswsuspのどちらかのことが多い)ため、以下の内容のファイルを管理者権限で配置してTuxOnIceのモジュールが用いられるようにする。
[任意]ファイル名: /etc/pm/config.d/00sleep_module

SLEEP_MODULE="tuxonice"

/etc/pm/config.d/以下には/usr/lib/pm-utils/defaultsの内容をもとにしたファイルを管理者権限で配置することでpm-utilsの動作を色々と調整することができ、上のモジュール指定はその1つとなる。

(「UbuntuでTuxOnIceを用いる(Ubuntu 10.10時点・後半)」に続く)

関連記事:

使用したバージョン:

  • Linux 2.6.35-23.41~ppa1(PPAのバイナリ), 2.6.35-24.42~ppa1(PPAのバイナリ), 2.6.35-24.42(ソースからビルドしたもの)
  • pm-utils 1.4.1-3
  • tuxonice-userui 1.0.git20100407~ppa1~maverick1
  • hibernate-script 2.0.git20100603~ppa1~maverick1