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

System resume issues


currently I am maintaining the uswsusp package. I have some bugs related to the resume process [1]. I was talking with Ben in debian-kernel, and I am writing to debian-devel trying to get the best option to solve the problems and because other packages could be affected (cryptsetup, hibernate, pm-utils,...).

The boot process:

- When the system boots tries to find if there is a resume image to recover it.

- initramfs-tools stores the resume partition in the file /etc/initramfs/conf.d/resume. This file is created only when initramfs is installed (is not updated). This file is copied to the initrd image to select the recovery image in the boot process. initramfs-tools adds a /bin/resume file in the initrd file to recover the image. The resume file has one line: "RESUME = /dev/xxx" with the resume device.

- uswsusp package uses the file /etc/uswsusp.conf to store the boot info. In the file the user can select the resume device ("resume device = xxx") and the offset to the image. This info is used by the uswsusp initramfs script to resume the machine. uswsusp adds a /sbin/resume file in the initrd file to recover the image. uswsusp has more features, like image encryption, image compression,...

The problems:

- initramfs-tools doesn't use the info in /etc/uswsusp.conf and if the image selected in /etc/uswsup.conf and /etc/initramfs-tools/conf.d/resume are different, the image is not found.
- initramfs-tools uses /bin/resume and uswsusp uses /sbin/resume
- uswsusp cannot use the boot kernel options.
- The solution to these problems will affect other packages.

Possible solution:

- Create a new package (for example, resume-base).
- Resume base provides a debconf file to configure the resume file. This file is stored at /etc/resume. The user can configure the /etc/resume file with dpkg-reconfigure resume-base. The file contains two lines, resume and offset info.
- initramfs-tools and uswsusp depend on resume-base.
- initramfs-tools and uswsusp use the info in /etc/resume as resume device and resume offset.
- initramfs-tools and uswsusp provides an alternative to /bin/resume.
- Other packages need update their configuration scripts to use /etc/resume.

Comments are welcome.
Thanks a lot,

[1] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=632627

Reply to: