Onde está a capacidade de hibernar exposta no Linux?

3

Quando eu inicializo com uma opção resume=.. no kernel e uma initrd construída com uma opção -h , as ferramentas userland (digamos, batti ) me oferecem a opção de hibernação; quando eu inicializo sem eles não.

Onde está o fato de que eu tenho um sistema capaz de hibernar / retomar exposto para essas ferramentas para descobrir isso? (Isso é no Slackware, caso isso seja específico do init.)

    
por Bandrami 08.06.2014 / 08:41

1 resposta

3

Uma maneira de fazer isso é através da interface /sys/power . A maneira usual de induzir a hibernação (usada por várias ferramentas de nível superior) é gravar em alguns campos:

echo shutdown > /sys/power/disk
echo disk > /sys/power/state

Eu acredito que o primeiro define a metodologia e o segundo aciona a mudança. 1 No entanto, se você ler a partir desses nós, você terá uma lista de possibilidades:

> cat /sys/power/disk
platform [shutdown] reboot suspend

> cat /sys/power/state
freeze standby mem disk

Como shutdown e disk estão disponíveis, a máquina pode ser colocada em hibernação.

1 Você também pode definir platform on /sys/power/disk para fazer a mesma coisa através do hardware ACPI do sistema, presumindo que o driver funcione corretamente, e echo mem > /sys/power/state coloca a máquina em suspensão (estado salvo em ram) .

    
por 08.06.2014 / 13:57