Debian Linuxのノートパソコンでハイバネート
Linuxカーネルには、スワップ領域にメモリの内容を書き出してハイバネートする機能がある。 必要な要件等は以下の通り。 十分な大きさのスワップデバイスまたはファイルを用意する。(メモリ容量と同じくらいあれば良いが、そこまでなくても良いという情報もある。) カーネル起動オプションresume=デバイス名を加えカーネルを起動。 uswsuspを利用することもできるが、利用しなくても良い。その場合initrdをいじる必要は無い。 参考文献 https://wiki.archlinux.jp/index.php/サスペンドとハイバネート https://www.kernel.org/doc/Documentation/power/states.txt https://www.kernel.org/doc/html/latest/power/basic-pm-debugging.html 以下、実際の設定 /etc/fstab (該当部分のみ) #/dev/nvme0n1p7 swap swap defaults 0 0 /swapfile swap swap defaults 0 0 デバイスをスワップとして使う場合と、ファイル(/swapfile)をスワップとして使う場合とで必要なカーネルパラメータが異なる。 後者の場合はresume_offsetも必要。オフセット値は以下のように確認可能。この場合86093824がオフセット値。 sudo filefrag -v /swapfile Filesystem type is: ef53 File size of /swapfile is 17179869184 (4194304 blocks of 4096 bytes) ext: logical_offset: physical_offset: length: expected: flags: 0: 0.. 2047: 86093824.. 86095871: 2048: 1: 2048.. 4095: 86167552.. 86169599: 2048: 86095872: 2: 4096.. 8191:...