FS#17793 - [mkinitcpio] 0.5.27-1 breaks resume via uswsusp

Attached to Project: Arch Linux
Opened by xduugu (xduugu) - Monday, 11 January 2010, 18:27 GMT
Last edited by Thomas Bächler (brain0) - Tuesday, 12 January 2010, 09:02 GMT
Task Type Bug Report
Category Packages: Testing
Status Closed
Assigned To Tobias Powalowski (tpowa)
Aaron Griffin (phrakture)
Thomas Bächler (brain0)
Architecture All
Severity Medium
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description:
After upgrading mkinitcpio and generating a new image, I get the following error message on boot.

init: 7: /usr/lib/suspend/resume: not found


I did not had the time to look into this any further so far. All I know is that
/usr/lib/suspend/resume is definitely there. Downgrading mkinitcpio and recreating the image make it work again by the way.

$ bsdtar tvf /boot/kernel26.img | grep resume
-rwxr-xr-x 1 0 0 2776 Oct 22 00:21 /bin/resume
-rwxr-xr-x 1 0 0 33400 Feb 12 2009 /usr/lib/suspend/resume
-rw-r--r-- 1 0 0 93 Feb 12 2009 /hooks/uresume


Additional info:
[2010-01-09 19:31] upgraded mkinitcpio (0.5.26-2 -> 0.5.27-1)
This task depends upon

Closed by  Thomas Bächler (brain0)
Tuesday, 12 January 2010, 09:02 GMT
Reason for closing:  Fixed
Additional comments about closing:  0.5.28
Comment by xduugu (xduugu) - Monday, 11 January 2010, 18:57 GMT
Apparently, this is due to missing shared libraries in the image:

$ diff -rq old/ new/
diff: new/lib/ld-linux-x86-64.so.2: No such file or directory
diff: new/lib/libc.so.6: No such file or directory
diff: new/usr/lib/libgcrypt.so.11: No such file or directory
diff: new/usr/lib/libgpg-error.so.0: No such file or directory
diff: new/usr/lib/liblzo2.so.2: No such file or directory
File old/dev/console is a character special file while file new/dev/console is a character special file
File old/dev/mem is a character special file while file new/dev/mem is a character special file
File old/dev/null is a character special file while file new/dev/null is a character special file
File old/dev/zero is a character special file while file new/dev/zero is a character special file
Files old/init and new/init differ
Files old/init_functions and new/init_functions differ


$ ldd /usr/lib/suspend/resume
linux-vdso.so.1 => (0x00007fffeada7000)
liblzo2.so.2 => /usr/lib/liblzo2.so.2 (0x00007f638bff0000)
libgcrypt.so.11 => /usr/lib/libgcrypt.so.11 (0x00007f638bd79000)
libgpg-error.so.0 => /usr/lib/libgpg-error.so.0 (0x00007f638bb76000)
libc.so.6 => /lib/libc.so.6 (0x00007f638b81f000)
/lib/ld-linux-x86-64.so.2 (0x00007f638c211000)
Comment by xduugu (xduugu) - Monday, 11 January 2010, 22:08 GMT
Actually, I was wrong. These files do exist, but the symlinks are broken. Any other hook looks fine, though.

$ mkinitcpio -vp kernel26
[...]
:: Parsing hook [uresume]
adding dir /usr
adding dir /usr/lib
adding dir /usr/lib/suspend
adding file /usr/lib/suspend/resume
adding dir usr
adding dir usr/lib
adding link usr/lib/liblzo2.so.2 -> usr/lib/liblzo2.so.2.0.0
adding file /usr/lib/liblzo2.so.2.0.0
adding link usr/lib/libgcrypt.so.11 -> usr/lib/libgcrypt.so.11.5.3
adding file /usr/lib/libgcrypt.so.11.5.3
adding link usr/lib/libgpg-error.so.0 -> usr/lib/libgpg-error.so.0.5.0
adding file /usr/lib/libgpg-error.so.0.5.0
adding dir lib
adding link lib/libc.so.6 -> lib/libc-2.11.1.so
adding file /lib/libc-2.11.1.so
adding link lib/ld-linux-x86-64.so.2 -> lib/ld-2.11.1.so
adding file /lib/ld-2.11.1.so
adding file /etc/suspend.conf
adding file /hooks/uresume
[...]


$ bsdtar tvf /boot/kernel26.img | grep usr
drwxr-xr-x 2 0 0 0 Jan 11 22:52 /usr
drwxr-xr-x 2 0 0 0 Jan 11 22:52 /usr/lib
drwxr-xr-x 2 0 0 0 Jan 11 22:52 /usr/lib/suspend
-rwxr-xr-x 1 0 0 33400 Feb 12 2009 /usr/lib/suspend/resume
drwxr-xr-x 2 0 0 0 Jan 11 22:52 usr
drwxr-xr-x 2 0 0 0 Jan 11 22:52 usr/lib
lrwxrwxrwx 1 0 0 25 Jan 11 22:52 usr/lib/liblzo2.so.2 -> usr/lib/liblzo2.so.2.0.0
-rwxr-xr-x 1 0 0 143947 May 7 2009 /usr/lib/liblzo2.so.2.0.0
lrwxrwxrwx 1 0 0 28 Jan 11 22:52 usr/lib/libgcrypt.so.11 -> usr/lib/libgcrypt.so.11.5.3
-rwxr-xr-x 1 0 0 546905 Dec 21 17:17 /usr/lib/libgcrypt.so.11.5.3
lrwxrwxrwx 1 0 0 30 Jan 11 22:52 usr/lib/libgpg-error.so.0 -> usr/lib/libgpg-error.so.0.5.0
-rwxr-xr-x 1 0 0 15669 Oct 17 08:44 /usr/lib/libgpg-error.so.0.5.0
Comment by Thomas Bächler (brain0) - Monday, 11 January 2010, 22:47 GMT
There is no uswsusp hook in the mkinitcpio package, nor do I maintain one anywhere.

That said, I plan to test mkinitcpio and the binary/symlink adding features of mkinitcpio anyway this week.
Comment by Thomas Bächler (brain0) - Monday, 11 January 2010, 23:33 GMT Comment by xduugu (xduugu) - Tuesday, 12 January 2010, 07:43 GMT
That was fast, thanks. Your patch fixes the issue for me.

Loading...