Re: Swap still not activated on later kernels

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Nov 13, 2020 at 05:44:57PM +0000, Patrick O'Callaghan wrote:
> 
> It's been years since I did this so things may have changed (I don't
> use hibernation as it doesn't work with GPU passthrough for VMs), but
> in my notes it says to add the UUID of the swap device to the command
> line in /etc/sysconfig/grub:
> 
> GRUB_CMDLINE_LINUX="... resume=UUID=xxxxxxxxxxxxxxxx ..."
>  
> and then run 'grub2-mkconfig' to do its magic. I'm not sure if this can
> be adapted to using a swapfile, but something tells me it can't. It has
> to be a device or partition unless things have changed. I'm sure more
> experienced hands will correct this if I'm wrong.

There are extra steps if you use a swap file, instead of a swap
partition.

According to the kernel documentation:
https://www.kernel.org/doc/html/latest/power/swsusp-and-swap-files.html

    The Linux kernel handles swap files almost in the same way as it
    handles swap partitions and there are only two differences between
    these two types of swap areas: (1) swap files need not be
    contiguous, (2) the header of a swap file is not in the first
    block of the partition that holds it. From the swsusp’s point of
    view (1) is not a problem, because it is already taken care of by
    the swap-handling code, but (2) has to be taken into
    consideration.

    In principle the location of a swap file’s header may be
    determined with the help of appropriate filesystem
    driver. Unfortunately, however, it requires the filesystem holding
    the swap file to be mounted, and if this filesystem is journaled,
    it cannot be mounted during resume from disk. For this reason to
    identify a swap file swsusp uses the name of the partition that
    holds the file and the offset from the beginning of the partition
    at which the swap file’s header is located. For convenience, this
    offset is expressed in <PAGE_SIZE> units.

    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)

-- 
Jonathan Billings <billings@xxxxxxxxxx>
_______________________________________________
users mailing list -- users@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to users-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/users@xxxxxxxxxxxxxxxxxxxxxxx



[Index of Archives]     [Older Fedora Users]     [Fedora Announce]     [Fedora Package Announce]     [EPEL Announce]     [EPEL Devel]     [Fedora Magazine]     [Fedora Summer Coding]     [Fedora Laptop]     [Fedora Cloud]     [Fedora Advisory Board]     [Fedora Education]     [Fedora Security]     [Fedora Scitech]     [Fedora Robotics]     [Fedora Infrastructure]     [Fedora Websites]     [Anaconda Devel]     [Fedora Devel Java]     [Fedora Desktop]     [Fedora Fonts]     [Fedora Marketing]     [Fedora Management Tools]     [Fedora Mentors]     [Fedora Package Review]     [Fedora R Devel]     [Fedora PHP Devel]     [Kickstart]     [Fedora Music]     [Fedora Packaging]     [Fedora SELinux]     [Fedora Legal]     [Fedora Kernel]     [Fedora OCaml]     [Coolkey]     [Virtualization Tools]     [ET Management Tools]     [Yum Users]     [Yosemite News]     [Gnome Users]     [KDE Users]     [Fedora Art]     [Fedora Docs]     [Fedora Sparc]     [Libvirt Users]     [Fedora ARM]

  Powered by Linux