Por que um arquivo como swap não pode ser usado para hibernação no Linux?

0

Eu estava tentando hibernar meu sistema Fedora 27 temporariamente usando um arquivo swap e falhei. As respostas na pergunta a seguir também dizem que uma partição swap dedicada deve ser usada para hibernar o sistema e swapfile não pode servir o propósito.

Por que o Linux usa um troca de partição em vez de um arquivo?

Estou usando o sistema de arquivos ext3 no qual criei o swapfile . O que está parando o swapfile a ser usado para hibernação?

    
por Abhik Bose 28.03.2018 / 23:37

1 resposta

1

Como dito aqui (link fornecido por @don_crissti), o sistema deve localizar o cabeçalho do arquivo de troca, mas para fazer isso o sistema de arquivos que contém o arquivo de troca deve ser montado, e um sistema de arquivos com diário (como ext3 é) não pode ser montado durante a retomada do disco.

Citando o documento:

In order to use a swap file with swsusp, you need to:

1) Create the swap file and make it active, eg.

# dd if=/dev/zero of=<swap_file_path> bs=1024 count=<swap_file_size_in_k>

# mkswap <swap_file_path>

# swapon <swap_file_path>

2) Use an application that will bmap the swap file with the help of the FIBMAP ioctl and determine the location of the file's swap header, as the offset, in <PAGE_SIZE> units, from the beginning of the partition which holds the swap file.

3) Add the following parameters to the kernel command line:

resume=<swap_file_partition> resume_offset=<swap_file_offset>

where <swap_file_partition> is the partition on which the swap file is located and <swap_file_offset> is the offset of the swap header determined by the application in 2) (of course, this step may be carried out automatically by the same application that determines the swap file's header offset using the FIBMAP ioctl)

OR

Use a userland suspend application that will set the partition and offset with the help of the SNAPSHOT_SET_SWAP_AREA ioctl described in Documentation/power/userland-swsusp.txt (this is the only method to suspend to a swap file allowing the resume to be initiated from an initrd or initramfs image).

    
por 29.03.2018 / 12:43