[Pkg-dkms-maint] Bug#621846: Bug#621846: dkms looses list of modules to build

Harald Dunkel harri at afaics.de
Wed Apr 13 05:52:34 UTC 2011


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 04/13/11 03:03, Michael Gilbert wrote:
> Harald Dunkel wrote:
> 
>> -----BEGIN PGP SIGNED MESSAGE-----
>> Hash: SHA1
>>
>> Is it possible that this bug was introduced with #586724 ?
> 
> Probably not.  What is in your /var/log/dkms_autoinstaller?

This file contains just a newline:

# ls -al /var/log/dkms_autoinstaller
- -rw-r--r-- 1 root root 1 Jul 22  2009 /var/log/dkms_autoinstaller
# cat /var/log/dkms_autoinstaller

#

>  Also, what
> is the output of "/usr/lib/dkms/dkms_autoinstaller start <your kernel
> version>"?  And if that's broken, can you look into what it may be doing
> wrong?
> 

Here is a sample session:

# dkms status
vboxhost, 4.0.4, 2.6.38-2-amd64, x86_64: installed
# dpkg -P linux-image-2.6-amd64 linux-image-2.6.38-2-amd64
(Reading database ... 114603 files and directories currently installed.)
Removing linux-image-2.6-amd64 ...
Removing linux-image-2.6.38-2-amd64 ...
Examining /etc/kernel/prerm.d.
run-parts: executing /etc/kernel/prerm.d/dkms 2.6.38-2-amd64 /boot/vmlinuz-2.6.38-2-amd64
dkms: removing: vboxhost 4.0.4 (2.6.38-2-amd64) (x86_64)
Examining /etc/kernel/postrm.d .
run-parts: executing /etc/kernel/postrm.d/initramfs-tools 2.6.38-2-amd64 /boot/vmlinuz-2.6.38-2-amd64
run-parts: executing /etc/kernel/postrm.d/zz-update-grub 2.6.38-2-amd64 /boot/vmlinuz-2.6.38-2-amd64
Generating grub.cfg ...
Found memtest86 image: /boot/memtest86.bin
done
The link /vmlinuz is a damaged link
Removing symbolic link vmlinuz
You may need to re-run your boot loader
The link /initrd.img is a damaged link
Removing symbolic link initrd.img
You may need to re-run your boot loader
Purging configuration files for linux-image-2.6.38-2-amd64 ...
Examining /etc/kernel/postrm.d .
run-parts: executing /etc/kernel/postrm.d/initramfs-tools 2.6.38-2-amd64 /boot/vmlinuz-2.6.38-2-amd64
run-parts: executing /etc/kernel/postrm.d/zz-update-grub 2.6.38-2-amd64 /boot/vmlinuz-2.6.38-2-amd64
rmdir: failed to remove `/lib/modules/2.6.38-2-amd64': Directory not empty
# dkms status
# dpkg -P linux-image-2.6-amd64 linux-image-2.6.38-2-amd64
dpkg: warning: ignoring request to remove linux-image-2.6-amd64 which isn't installed.
dpkg: warning: ignoring request to remove linux-image-2.6.38-2-amd64 which isn't installed.
# dpkg -i /var/cache/apt/archives/linux-image-2.6-amd64_2.6.38+33_amd64.deb /var/cache/apt/archives/linux-image-2.6.38-2-amd64_2.6.38-3_amd64.deb
Selecting previously deselected package linux-image-2.6-amd64.
(Reading database ... 111470 files and directories currently installed.)
Unpacking linux-image-2.6-amd64 (from .../linux-image-2.6-amd64_2.6.38+33_amd64.deb) ...
Selecting previously deselected package linux-image-2.6.38-2-amd64.
Unpacking linux-image-2.6.38-2-amd64 (from .../linux-image-2.6.38-2-amd64_2.6.38-3_amd64.deb) ...
Setting up linux-image-2.6.38-2-amd64 (2.6.38-3) ...
Running depmod.
Running update-initramfs.
update-initramfs: Generating /boot/initrd.img-2.6.38-2-amd64
cryptsetup: WARNING: failed to detect canonical device of /dev/md0p1
cryptsetup: WARNING: could not determine root device from /etc/fstab
cryptsetup: WARNING: failed to detect canonical device of /dev/md0p2
W: mdadm: /etc/mdadm/mdadm.conf defines no arrays.
Examining /etc/kernel/postinst.d.
run-parts: executing /etc/kernel/postinst.d/dkms 2.6.38-2-amd64 /boot/vmlinuz-2.6.38-2-amd64
dkms: running auto installation service for kernel 2.6.38-2-amd64:
run-parts: executing /etc/kernel/postinst.d/initramfs-tools 2.6.38-2-amd64 /boot/vmlinuz-2.6.38-2-amd64
run-parts: executing /etc/kernel/postinst.d/pm-utils 2.6.38-2-amd64 /boot/vmlinuz-2.6.38-2-amd64
run-parts: executing /etc/kernel/postinst.d/zz-update-grub 2.6.38-2-amd64 /boot/vmlinuz-2.6.38-2-amd64
Generating grub.cfg ...
Found linux image: /boot/vmlinuz-2.6.38-2-amd64
Found initrd image: /boot/initrd.img-2.6.38-2-amd64
Found memtest86 image: /boot/memtest86.bin
done
Setting up linux-image-2.6-amd64 (2.6.38+33) ...
# dkms status
# /usr/lib/dkms/dkms_autoinstaller start 2.6.38-2-amd64
dkms: running auto installation service for kernel 2.6.38-2-amd64:
# dkms status
# sh -x /usr/lib/dkms/dkms_autoinstaller start 2.6.38-2-amd64
+ test -f /usr/sbin/dkms
+ [ -f /lib/lsb/init-functions ]
+ . /lib/lsb/init-functions
+ FANCYTTY=
+ [ -e /etc/lsb-base-logging.sh ]
+ true
+ [ ! -f /etc/debian_version ]
+ uname -mr
+ uname=2.6.38.2 x86_64
+ [ -n 2.6.38-2-amd64 ]
+ kernel=2.6.38-2-amd64
+ arch=x86_64
+ kernel_preparation_done=
+ dkms_tree=/var/lib/dkms
+ [ -e /etc/dkms/framework.conf ]
+ . /etc/dkms/framework.conf
+ log_daemon_msg dkms: running auto installation service for kernel 2.6.38-2-amd64
+ [ -z dkms: running auto installation service for kernel 2.6.38-2-amd64 ]
+ log_daemon_msg_pre dkms: running auto installation service for kernel 2.6.38-2-amd64
+ :
+ [ -z  ]
+ /bin/echo -n dkms: running auto installation service for kernel 2.6.38-2-amd64:
dkms: running auto installation service for kernel 2.6.38-2-amd64:+ return
+ echo

+ [ -z 2.6.38-2-amd64 ]
+ find /var/lib/dkms -maxdepth 1 -mindepth 1 -type d
+ exit 0




If I kick out the remove-old-mod.patch introduced with #586724,
then dkms remembers the module even after removing the kernel
package. Sample session:


# dkms status
vboxhost, 4.0.4, 2.6.38-2-amd64, x86_64: installed
# dpkg -P linux-image-2.6-amd64 linux-image-2.6.38-2-amd64
(Reading database ... 114603 files and directories currently installed.)
Removing linux-image-2.6-amd64 ...
Removing linux-image-2.6.38-2-amd64 ...
Examining /etc/kernel/prerm.d.
run-parts: executing /etc/kernel/prerm.d/dkms 2.6.38-2-amd64 /boot/vmlinuz-2.6.38-2-amd64
dkms: uninstalling: vboxhost 4.0.4 (2.6.38-2-amd64) (x86_64)
Examining /etc/kernel/postrm.d .
run-parts: executing /etc/kernel/postrm.d/initramfs-tools 2.6.38-2-amd64 /boot/vmlinuz-2.6.38-2-amd64
run-parts: executing /etc/kernel/postrm.d/zz-update-grub 2.6.38-2-amd64 /boot/vmlinuz-2.6.38-2-amd64
Generating grub.cfg ...
Found memtest86 image: /boot/memtest86.bin
done
The link /vmlinuz is a damaged link
Removing symbolic link vmlinuz
You may need to re-run your boot loader
The link /initrd.img is a damaged link
Removing symbolic link initrd.img
You may need to re-run your boot loader
Purging configuration files for linux-image-2.6.38-2-amd64 ...
Examining /etc/kernel/postrm.d .
run-parts: executing /etc/kernel/postrm.d/initramfs-tools 2.6.38-2-amd64 /boot/vmlinuz-2.6.38-2-amd64
run-parts: executing /etc/kernel/postrm.d/zz-update-grub 2.6.38-2-amd64 /boot/vmlinuz-2.6.38-2-amd64
rmdir: failed to remove `/lib/modules/2.6.38-2-amd64': Directory not empty
# dkms status
vboxhost, 4.0.4, 2.6.38-2-amd64, x86_64: built
#

On reinstalling the kernel the module builds fine.

If there are multiple kernels installed, then dkms works
as expected, so on reproducing this problem it is essential
to purge _all_ kernel packages. The linux-header-* packages
can be kept, AFAICS.


Regards

Harri
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk2lOh0ACgkQUTlbRTxpHjet+gCfRmnT3iMwThGlKmGxd89ob3xf
fLAAn0WYNGPCrsDnM86ffdc87hbL5DDr
=fQ00
-----END PGP SIGNATURE-----





More information about the Pkg-dkms-maint mailing list