首先修改内核:
Power management and ACPI options --->
[] Suspend to RAM and standby
[] Hibernation (aka 'suspend to disk')
然后安装 suspend 软件
emerge --ask sys-power/suspend
然后检查一下系统支持的模式
cat /sys/power/state
然后使用下面的命令就可以进入睡眠模式
echo mem > /sys/power/state
但是要使用休眠模式, 还需要增加一些操作.
- 在内核里面增加下面语句, 然后重新编译内核.
resume=/dev/sda3 no_console_suspend
- 替换genkernel 软件, 原来的 genkernel 据说有 bug, 安装 genkernel-next软件, 替换原来的 genkernel 软件, 然后使用 genkernel --install initramfs, 重新生成 initramfs.
但是使用下面的命令进入休眠模式就有问题, 表现为系统休眠成功了, 但是唤醒不行, 变成冷开机了, 在冷开机的时候, 系统在 swap 里面发现了保存的东西, 但是不能从这么东西里面回复状态.
echo disk > /sys/power/state
这时候需要先安装 pm-utils 软件, 然后再使用下面几步:
3. /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="resume=/dev/sda3"
grub-mkconfig -o /boot/grub/grub.cfg
genkernel --install initramfs
- vim /etc/pm/config.d/gentoo
SLEEP_MODULE="kernel"
然后 reboot 系统, 使用 pm-hibernate 来进入休眠模式, 后可以顺利 resume.
休眠的前面两步是否需要, 等以后验证.
经过另外在 nas 上面验证, 只需要下面几个步骤即可:
- Power management and ACPI options --->
[] Suspend to RAM and standby
[] Hibernation (aka 'suspend to disk') - pm-utils
- 后面的配置.
注意: 不需要在内核里面的 resume 语句, 不需要换成 genkernel-next 软件.