Bug#408203: Xen kernel has no /dev/snapshot support
The packaged amd64 Xen kernel (and perhaps others) in etch does not have
the /dev/snapshot node or underlying char device, and so is unable to do
userspace suspend. (The non-Xen kernel includes it.) Observe:
Starting suspend at Tue Jan 23 21:19:49 EST 2007
hibernate:  Executing MiscLaunchAuxFunc1 ...
hibernate:  Executing CheckLastResume ...
hibernate:  Executing CheckRunlevel ...
hibernate:  Executing LockFileGet ...
hibernate:  Executing MiscLaunchAuxFunc2 ...
hibernate:  Executing NewKernelFileCheck ...
hibernate:  Executing EnsureUSuspendCapable ...
/dev/snapshot device not found.
hibernate: EnsureUSuspendCapable refuses to let us continue.
hibernate:  Executing NoteLastResume ...
hibernate:  Executing MiscLaunchAuxFunc3 ...
hibernate:  Executing LockFilePut ...
Resumed at Tue Jan 23 21:19:50 EST 2007
Checking manually reveals this is indeed the problem:
[USER AND HOSTNAME REMOVED]:~$ uname -a
Linux [HOSTNAME REMOVED] 2.6.18-3-xen-amd64 #1 SMP Mon Dec 4 17:56:42
CET 2006 x86_64 GNU/Linux
[USER AND HOSTNAME REMOVED]:~$ ls -l /lib/libc.so.6
lrwxrwxrwx 1 root root 13 2007-01-07 13:23 /lib/libc.so.6 ->
[USER AND HOSTNAME REMOVED]:~$ ls -al /dev/snapshot
ls: /dev/snapshot: No such file or directory
[USER AND HOSTNAME REMOVED]:~$ sudo mknod /dev/snapshot c 10 231
[USER AND HOSTNAME REMOVED]:~$ sudo head -c 1 /dev/snapshot
head: cannot open `/dev/snapshot' for reading: No such device
The expected behaviour is of course that the Xen kernel
includes /dev/snapshot support and that userspace suspend works.
It should be noted that when this same system boots 2.6.18-3-amd64
instead, suspend works as expected.
This system is a Dell XPS M1710 laptop with a 2GHz Intel Core 2 Duo
processor. (Other hardware details are presumably not pertinent.)
The suggested fix is to rebuild and repackage the Xen kernels
with /dev/snapshot support turned on, assuming the Xen kernels do
currently have that option. If not, then open a corresponding bug in the
Xen project's tracker.