首先修改内核:

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

但是要使用休眠模式, 还需要增加一些操作.

  1. 在内核里面增加下面语句, 然后重新编译内核.

    resume=/dev/sda3 no_console_suspend
  2. 替换genkernel 软件, 原来的 genkernel 据说有 bug, 安装 genkernel-next软件, 替换原来的 genkernel 软件, 然后使用 genkernel --install initramfs, 重新生成 initramfs.

但是使用下面的命令进入休眠模式就有问题, 表现为系统休眠成功了, 但是唤醒不行, 变成冷开机了, 在冷开机的时候, 系统在 swap 里面发现了保存的东西, 但是不能从这么东西里面回复状态.

echo disk > /sys/power/state

这时候需要先安装 pm-utils 软件, 然后再使用下面几步:

  1. /etc/default/grub

    GRUB_CMDLINE_LINUX_DEFAULT="resume=/dev/sda3"
  2. grub-mkconfig -o /boot/grub/grub.cfg
  3. genkernel --install initramfs
  4. vim /etc/pm/config.d/gentoo
    SLEEP_MODULE="kernel"

然后 reboot 系统, 使用 pm-hibernate 来进入休眠模式, 后可以顺利 resume.

休眠的前面两步是否需要, 等以后验证.

经过另外在 nas 上面验证, 只需要下面几个步骤即可:

1. Power management and ACPI options --->
    [*] Suspend to RAM and standby
    [*] Hibernation (aka 'suspend to disk')
2.  pm-utils 
3. 后面的配置.

注意: 不需要在内核里面的 resume 语句, 不需要换成 genkernel-next 软件.

标签: Gentoo

添加新评论