お知らせ

  • 利用規約を守って投稿してください。また、よくある質問および投稿の手引きも参照してください。
  • メッセージの投稿にはアカウントが必要です。未登録の方は、ユーザ登録ページからアカウントを作成することができます。

#1 2009-05-06 16:58:05

sokafuji
メンバ
登録日: 2008-12-21

ハイバネートを機能させるには何が必要ですか?

皆さんこんにちは、sokafujiと申します。

Ubuntu 9.04 日本語Remex(x86)を、DellのMini9に入れています。(Dellカスタマイズ版は使っていません)
マシンは2GBのRAMと、32GBのSSDを搭載しています。
他のOSとは共存させておらず、Ubuntu 9.04のみがインストールされています。
このマシンは特に問題も無く快調に動いているのですが、唯一、ハイバネートだけが出来ません。
(サスペンドは問題なく機能します)

私は、インストールの時にswapパーティションを作りませんでした。
私の利用には2GBのメインメモリだけで十分で、swapは必要ないと考えたからです。
また、どうしてもswapが必要になれば、適当なファイルをswapファイルとして登録出来ることを
知っていたからです。

しかし、後から「ハイバネートをするにはswapパーティション(又はswapファイル)が必要」
だということを知りました。

検索して、メインメモリが2GBで、どうもその倍程度の容量のswapパーティションが必要
だと知ったので、CDからBootしたUbuntu 9.04のgpartedを使って、
ディスクの末尾に4GBのswapパーティションを作りました。

今は/deb/sda1(ext4)が/で、/deb/sda2がLinux swapです。

uswsuspをインストールし、質問に答えました。
/etc/uswsusp.confは次のようになっています。

# /etc/uswsusp.conf(8) -- Configuration file for s2disk/s2both
resume device = /dev/sda2
compress = y
early writeout = y
image size = 0
RSA key file = /etc/uswsusp.key
shutdown method = platform
suspend loglevel = 7
max loglevel = 7
splash = y

この状態で高速ユーザー切り替えアプレットからハイバネートを選ぶと、一瞬スクリーンセーバーの
ような画面が表示され、その後暫くコンソールにカーソルのみの黒い画面が表示され、電源が落ちます。
しかし、電源をONにし、GRUBのメニューでハイバネートで使ったのと同じカーネルを選択しても、
通常のログイン画面が表示され、ハイバネートされません。

また、黒い画面が続いた後に、ロックアウト後の認証画面(パスワードを聞かれる)が表示されて、
元に戻ってしまう(電源が落ちない)こともあります。

これは、swaponされているか、swapoffされているかで変わるようですが、再現性が無くよくわかりません。


質問は次の3つです。

一般的に、Ubuntu(に限らないと思いますが)でハイバネートを実現するために必要な作業は何でしょうか?
uswsuspをaptitude installして質問に答えるだけでは不十分なのでしょうか?

私は、通常の使用でswapパーティションを使いたくありません。
/deb/sda2はLinux swapとして作成されていますが、ハイバネート以外には使いたくなく、普段はマウント
させない(fstabに書かない)ようにしたいです。
そのような使い方は可能でしょうか?
それともハイバネートするには必ずswapをマウントしなければいけませんか?

検索すると、ハイバネートにはメインメモリの2倍程度のswapパーティションが必要だと書かれている
ページが多いのですが本当でしょうか?
私の考えでは、メインメモリが2GBでswapパーティションをマウントしないのであれば、/deb/sda2は
2GBあれば足りるように思います。
またuswsuspの質問の中には「イメージを圧縮しますか?」との質問がありますので、やはり2GB以上の
swapパーティションは必要ないのではないかと思ってしまいます。
これは間違いでしょうか?

この3つが質問です。

ハイバネートがうまく出来ている方は、どのように設定されたかを教えていただけませんか?
また、Mini9でハイバネートが出来ている方はいらっしゃいますか?

よろしくお願いします。

最後の編集者: sokafuji (2009-05-06 18:27:02)

オフライン

 

#2 2009-05-07 21:32:03

einundzwanzighundertsechs
メンバ
登録日: 2008-12-28

Re: ハイバネートを機能させるには何が必要ですか?

回答にはなってませんが参考までに,此方(8.10 on EeePC900)では
http://wiki.geteasypeasy.com/Fix:_hibernate
の手順で uswsusp を使って hibernate が「ほぼ」できています.(ときおり失敗)

* カーネルが対応していないといけない. http://www.array.org/ubuntu/
* スワップパーティションでなくスワップファイルを使用する解説である.
* /etc/pm/config.d/config の解説は 8.04 向けで古くなっている.
* 8.10 では /etc/uswsusp.conf は uswsusp のインストール時の質問で生成されるので,
  編集の必要無しと書かれているが,此方では必要だった.

9.04 の array.org カーネルはまだ出ていないので当方は待ちの状態です.

オフライン

 

#3 2009-05-13 01:32:13

funatogawa
メンバ
From: 関東
登録日: 2009-02-01

Re: ハイバネートを機能させるには何が必要ですか?

こんばんは
ハイバネートは通常インストールで使えるようになっているはずですが、Swapエリアが必要ですので、必ず作ってください。電源管理の仕事ですので、gnome-power-managerがインストールされていれば、システム→管理→電源の管理 で確認できます。
質問1 1 ACPIであること。(APMではダメです)
     2 カーネルは8.04以降対応済です。→uswsuspは要りません。(8.04、8.10、9.04とも使っていないと思います。)
     3 Swapはファイルでもパーティションでもどちらでもよいのですが、/etc/fstabにスワップを設定してください。
     4 Swapは常時使わなくともハイバネーションのみに使う書き方もあります。(einundzwanzighundertsechsさんが示されたURLを参照してください。)
Swap領域の書き方は、私のコンピュータでは、

# /etc/fstab: static file system information.
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
proc            /proc           proc    defaults        0       0
# /dev/sda3
UUID=e49a75b3-5ab1-4d37-b6c6-f3dcba141cdc /               ext3    relatime,errors=remount-ro 0       1
# /dev/sda5
UUID=b5032064-9be0-432f-a263-7e968dcd36ef none            swap    sw              0       0
/dev/scd0       /media/cdrom0   udf,iso9660 user,noauto,exec,utf8 0       0

になっています。
    5 スワップをONにしてください。
これで使えるはずですが、リセット後、システムモニターでスワップ領域がとられていることを確認してください。

質問2 /etc/fstabの書式でできます。
質問3 1G以上のメモリーがあれば通常は要らないのですが、作っておいてもスワップされませんので、意識する必要はありません。(私見ですが、)昔はメモリーの半分程度といわれていました。ハイバネートでも、使っているメモリーと、後はコンピュータの中のACC、レジスター、MMUなどの保存域が確保されればよいので、2倍は要らないと思います。

以上ですが、健闘を祈ります。


文字を訂正しました。

最後の編集者: funatogawa (2009-05-14 08:19:16)

オフライン

 

#4 2009-05-13 18:27:40

sokafuji
メンバ
登録日: 2008-12-21

Re: ハイバネートを機能させるには何が必要ですか?

einundzwanzighundertsechsさん、funatogawaさん、ありがとうございます。
色々試してみたのですが、やっぱりハイバネート出来ずにいます。

やってみたこと

とりあえずuswsuspをアンインストール。
サイズはあとから考えるとして、とりあえずswapをマウント
このとき、これまでfstabに/dev/sda2と書いていたのを、一度mkswapし、その時得られたUUIDの指定に変えたこと。

現在のfstabはこんな感じです。

UUID=10c2e1af-e3ec-46c6-abed-777ca242afe3 /               ext4    relatime,errors=remount-ro 0       1
/dev/scd0       /media/cdrom0   udf,iso9660 user,noauto,exec,utf8 0       0
/dev/scd0       /media/floppy0  auto    rw,user,noauto,exec,utf8 0       0

#/dev/sda2       none swap  sw,noauto,defaults 0 0
UUID=e1001a35-b460-43c0-988f-90962786820c none swap sw 0 0

この状態でfreeすると、

             total       used       free     shared    buffers     cached
Mem:       2052624     626180    1426444          0      33176     255024
-/+ buffers/cache:     337980    1714644
Swap:      4192956          0    4192956

という感じで、swapが取れています。

ここで、電源ボタンを押すと、コンピュータをシャットダウンするというダイアログが開き、
ハイバネートが選べます。
ハイバネートを選ぶと、暫く(30秒位でしょうか…)掛かって、電源が落ちます。
いつものシャットダウン時のubuntuのロゴ画面ではなく、コンソールになにやら表示されています。

その後、電源を入れて、普通にGRUBから起動すると、一番最初のログイン画面に戻ります。
ログインすると、ハイバネートしたときに開いておいた端末等も残っていませんので、
普通にシャットダウンしたのと同じ状態で起動していると思われます。

カーネルオプション等で、何か指定が要るのでしょうか…
なんだか、全部消してswapを作るようにして再インストールすれば、インストーラーが勝手に
うまくやってくれそうな気がして、どうしたものかなぁという感じです。

たぶん、簡単なことで、何か手順が抜けているんだと思うのですが…
もう少し色々調べてみて、駄目だったら/homeだけバックアップを取って再インストールしてみるかなぁ。
しかし、何か負けたような気がして嫌だなぁとも思います。

なにか進展があれば、また報告します。

オフライン

 

#5 2009-05-13 21:35:09

funatogawa
メンバ
From: 関東
登録日: 2009-02-01

Re: ハイバネートを機能させるには何が必要ですか?

こんばんは

ハイバネートを選ぶと、暫く(30秒位でしょうか…)掛かって、電源が落ちます。
いつものシャットダウン時のubuntuのロゴ画面ではなく、コンソールになにやら表示されています。

真っ黒な画面に何も表示されないで電源が切れれば正常。その他はエラーがある。多分swapが見つからないというメッセージ。

確認
1 Gpartedでswap領域を確保
2 fdiskで 「この領域はLinuxのswap領域」というフラグを立てる。

funa@funa-desktop2:~$ sudo fdisk -l /dev/sda
[sudo] password for funa:

ディスク /dev/sda: 1000.2 GB, 1000204886016 バイト
ヘッド 255, セクタ 63, シリンダ 121601
Units = シリンダ数 of 16065 * 512 = 8225280 バイト
Disk identifier: 0x0005ef82

デバイス ブート     始点        終点    ブロック   Id システム
/dev/sda1   *           1      120849   970719561   83  Linux
/dev/sda2          120850      121601     6040440    5  拡張領域
/dev/sda5          120850      121601     6040408+  82  Linux スワップ / Solaris
funa@funa-desktop2:~$

3 mkswap で初期化する。(sudo mkswap /dev/sda5 ;私の場合)
4 swapon で使用宣言する(sudo swapon /dev/sda5 :私の場合)
5 swapon -s できちんと使用状態になっているか確認。

funa@funa-desktop2:~$ swapon -s
Filename                Type        Size    Used    Priority
/dev/sda5                               partition    6040400    0    -1

6 /etc/fstab に登録をすると、Linuxが起動するときに自動的にswaponコマンドを実行してくれる。(#3参照)

参考書 http://www.itmedia.co.jp/enterprise/art … ws011.html

オフライン

 

#6 2009-05-18 17:53:53

sokafuji
メンバ
登録日: 2008-12-21

Re: ハイバネートを機能させるには何が必要ですか?

なにやら、電源が切れるちょっと前に一瞬だけ文字列が表示されているのを確認しました。

どうしようかと考えて、デジカメで画面写真を撮ってみました。
以下、デジカメ見ながらの手打ちですので、間違ってたら申し訳ないです。

[ 3550.969138] btusb_intr_complete: hci0 urb ededc800 failed to resubmit (1)
[ 3550.969130] btusb_bulk_complete: hci0 urb ededc780 failed to resubmit (2)
[ 3550.969163] btusb_bulk_complete: hci0 urb ededcf80 failed to resubmit (1)

このあと、自動的に電源が切れます。


こんな感じで、swapは認識されていると思うのですが…

sokafuji@Mini9-Red:~$ swapon -s
Filename                Type        Size    Used    Priority
/dev/sda2                               partition    4192956    0    -1

オフライン

 

#7 2009-05-18 19:53:36

funatogawa
メンバ
From: 関東
登録日: 2009-02-01

Re: ハイバネートを機能させるには何が必要ですか?

こんばんは
ご苦労されている様子がよく分かります。
さて、

[ 3550.969138] btusb_intr_complete: hci0 urb ededc800 failed to resubmit (1)
[ 3550.969130] btusb_bulk_complete: hci0 urb ededc780 failed to resubmit (2)
[ 3550.969163] btusb_bulk_complete: hci0 urb ededcf80 failed to resubmit (1)

はbluetooth関係だということが分かりました。
参考;https://lists.ubuntu.com/archives/ubunt … 04575.html 
        http://ubuntuforums.org/showthread.php?p=7276217 ←回答は出ていない。

もし、bluetoothを使っていらっしゃらないのでしたら、サービスを止めてみては?(system→system管理→サービスの管理)

これまでの苦労は勉強として、最初からインストールしなおした方がはやいかも?

オフライン

 

#8 2009-05-19 06:36:06

sokafuji
メンバ
登録日: 2008-12-21

Re: ハイバネートを機能させるには何が必要ですか?

funatogawaさん、そして回答を下さった皆さん、ありがとうございます。

残念ながら、bluetoothは大好きで(w うちにあるほとんどのマシンにデスクトップ・ノートを問わず搭載しています。

せっかくカスタマイズして良い感じのデスクトップになったのになぁ。
まぁでも、home以下をバックアップ取っておけば、大概は元に戻るしなぁ。
やっぱり入れ直しが簡単ですかねぇ…

回答を頂いた皆様には申し訳ないですが、入れ直しの方向で検討したいと思います。
これって、解決とは言いませんよねぇ… 本当に申し訳ないです。

http://ubuntuforums.org/showthread.php?p=7276217 を
生暖かくウォッチしながら、入れ直しの手順を考えます。

ありがとうございました。

p.s.
入れ直しても、やっぱりハイバネ出来ないようならまた来ます。 (^^;

オフライン

 

#9 2009-05-19 09:54:09

sokafuji
メンバ
登録日: 2008-12-21

Re: ハイバネートを機能させるには何が必要ですか?

入れ直しました。

設定をだいたい戻すのに3時間程掛かりましたが、ハイバネートはあっさり成功。
うーむ、後から設定は非常に難しい(というかやり方がわからない)という事を知りました。
インストーラーは優秀だなぁ。

とりあえず、解決(?)しました、ありがとうございました。

オフライン

 

#10 2009-05-19 11:51:40

sokafuji
メンバ
登録日: 2008-12-21

Re: ハイバネートを機能させるには何が必要ですか?

einundzwanzighundertsechsさんの紹介して下さったページのスクリプトで、ハイバネートするときだけswapパーティションをマウントして
普段はスワップ無しで動かせる事を確認しました。

皆様、ありがとうございました。

オフライン

 

Board footer

Powered by FluxBB