在筆記型電腦上如何啟用 Suspend to RAM & Suspend to DISK?
雖然目前的 Linux distro 在這部份已經支援相當良好,但免不了還是有失敗的例子,
以下提供小弟在 Linux 下啟用 Suspend to RAM & DISK 的過程(例子),提供大家參考
(一)測試:
先察看您的系統是否已經支援休眠模式了。
- 代碼: 選擇全部
#cat /sys/power/state
mem disk standby
(如果有 『mem』『disk』... 等值,表示您的系統已支援休眠模式。)
可以簡單的測試一下休眠是否成功
- 代碼: 選擇全部
#echo -n mem > /sys/power/state 或
#echo -n disk > /sys/power/state
如果上面的測試後,系統可以順利休眠與甦醒,那麼您這時即可使用 Klaptop 或 Kpowersave
(如果您是使用 KDE 環境),來詳細設定 Notebook 的相關休眠動作。
PS:
如果『(一)測試』 的部份,cat /sys/power/state 的值 mem 與 disk 均有,但 Suspend to DISK 是失敗的,
可以檢查一下,您的 menu.lst (如果是GRUB的話),是否有帶入 resume=XXX 的值給 kernel。
而 resume=XXX 的值,即是 resume partition (save the suspended image)。
- 代碼: 選擇全部
e.g: resume=/dev/hda7
resume=/dev/<other device> ...
(二) 編譯核心:
- 代碼: 選擇全部
//-- 不建議 Linux 新手或不熟的朋友重新編譯,避免發生不可預期的後果。--//
//-- 請在編譯核心之時,確保您知道自己在做什麼。--//
如果系統預設不支援休眠該怎麼辦?一種可能是相關的 ACPI 模組沒有被掛載上來,
另外也許是 kernel 並沒有把相關功能編入進去。
如果您曉得模組的相關名稱為何的話,可以使用 modprobe 將相關模組掛載上來,
並按照(一測試)的部份試看看休眠模式是否順利開啟。
這裡小弟的使用方法,則是 re-build 一份 kernel,直接將相關的 ACPI/APM 模組編入核心,
小弟使用的 kernel 為:
- 代碼: 選擇全部
linux-source-2.6.15 (2.6.15-3)
首先 reload 先前的 .config 檔,接著將以下相關的選項打 * ,編入核心:
- 代碼: 選擇全部
Code maturity level options ---> (注意 !!! EXPERIMENTAL!!! )
[*] Prompt for development and/or incomplete code/drivers
[*] Select only drivers expected to compile cleanly
Power management options (ACPI, APM) --->
[*] Software Suspend
(/dev/hda7) Default resume partition (這裡可設定您的 Resume partition)
[*] Encrypt suspend image
ACPI (Advanced Configuration and Power Interface) Support --->
[*] ACPI Support
[*] Sleep States
[*] /proc/acpi/sleep (deprecated)
編譯完成後,依照您的系統建立 initrd (mkinitrd)...修改 menu.lst... 等,接著 reboot 以新的核心啟動系統...
新核心啟動完畢後,可繼續 『(一)測試』 的步驟,來測試自己的系統是否已經支援休眠模式,
若您在 re-build kernel 後,可以順利支援 Suspend to RAM & DISK,那麼真的恭喜您了!
倘若還是不行,那麼可能就要朝多方向去 Debug 了 (已不在本文的範疇中了 )
不過,不妨參考本文後面的 Reference,或許可幫助您更順利解決問題。
(三)後記:
以上簡單描述小弟在 Linux 下啟用 Suspend to RAM & DISK 的過程(例子),
提供大家參考 ,如果大家有相關資料或文獻要補充那真的太感謝了!
- 代碼: 選擇全部
那麼預祝各位使用愉快!
小弟的測試環境:
- 代碼: 選擇全部
測試機器: IBM X40
測試版本: Debian (with kernel 2.6.15-3)
更多資源:
- 代碼: 選擇全部
http://moto.debian.org.tw/viewtopic.php?t=3149
http://moto.debian.org.tw/viewtopic.php?t=8304
http://moto.debian.org.tw/viewtopic.php?t=4286
http://www.suspend2.net/