Ubuntu

-virtual kernel missing dependent modules (ahci fails to load)

Reported by Scott Moser on 2010-10-11
64
This bug affects 12 people
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Medium
Unassigned
Nominated for Maverick by Scott Moser

Bug Description

with -virtual kernel modprobe ahci will fail to load the ahci module due to missing symbols.

The symbols that are missing would be provided by kernel/drivers/ata/libahci.ko . but that module is not included in -virtual.

It seems this probably points a a problem with the white listing. white-listing should imply dependencies.

As far as I can tell (per 'sudo depmod --all --filesyms /boot/System.map-2.6.35-22-virtual --errsyms'), we're lucky that only this one leaked through. I think ideally kernel build would fail if depmod showed missing symbols.

sudo depmod -a -F /boot/System.map-2.6.35-22-virtual --errsyms
WARNING: /lib/modules/2.6.35-22-virtual/kernel/drivers/ata/ahci.ko needs unknown symbol ahci_ops
WARNING: /lib/modules/2.6.35-22-virtual/kernel/drivers/ata/ahci.ko needs unknown symbol ahci_start_engine
WARNING: /lib/modules/2.6.35-22-virtual/kernel/drivers/ata/ahci.ko needs unknown symbol ahci_interrupt
...
WARNING: /lib/modules/2.6.35-22-virtual/kernel/drivers/ata/ahci.ko needs unknown symbol ahci_reset_em
WARNING: /lib/modules/2.6.35-22-virtual/kernel/drivers/ata/ahci.ko needs unknown symbol ahci_save_initial_config
WARNING: /lib/modules/2.6.35-22-virtual/kernel/drivers/ata/ahci.ko needs unknown symbol ahci_ignore_sss

ProblemType: Bug
DistroRelease: Ubuntu 10.10
Package: linux-image-2.6.35-22-virtual 2.6.35-22.33
Regression: Yes
Reproducible: Yes
ProcVersionSignature: User Name 2.6.35-22.33-virtual 2.6.35.4
Uname: Linux 2.6.35-22-virtual i686
AlsaDevices: Error: command ['ls', '-l', '/dev/snd/'] failed with exit code 2: ls: cannot access /dev/snd/: No such file or directory
AplayDevices: Error: [Errno 2] No such file or directory
Architecture: i386
ArecordDevices: Error: [Errno 2] No such file or directory
CurrentDmesg: [ 19.800018] eth0: no IPv6 routers present
Date: Mon Oct 11 15:02:46 2010
Ec2AMI: ami-508c7839
Ec2AMIManifest: (unknown)
Ec2AvailabilityZone: us-east-1d
Ec2InstanceType: t1.micro
Ec2Kernel: aki-407d9529
Ec2Ramdisk: unavailable
Lspci:

Lsusb: Error: command ['lsusb'] failed with exit code 1:
ProcCmdLine: root=LABEL=uec-rootfs ro console=hvc0
ProcEnviron:
 PATH=(custom, user)
 LANG=en_US.UTF-8
 SHELL=/bin/bash
ProcModules: acpiphp 17239 0 - Live 0xe6f2d000
SourcePackage: linux

Scott Moser (smoser) wrote :
Scott Moser (smoser) on 2010-10-12
Changed in linux (Ubuntu):
importance: Undecided → Medium
status: New → Confirmed
Patrick G. (elgato) wrote :

Looks like -virtual is missing at least 2 important modules.
See Bug: https://bugs.launchpad.net/ubuntu/+source/linux-meta/+bug/659084

toobuntu (toobuntu) wrote :

Bug # 663053 may also be related:
encrypted block devices unavailable with linux-virtual
https://bugs.launchpad.net/bugs/663053

Richard Laager (rlaager) wrote :

This is an issue for me in Natty. It prevents booting a guest under VirtualBox.

I confirm rlagger's report. If I boot kernel 2.6.38-11-virtual in VirtualBox, this error message appears:

FATAL: Error inserting ahci (/lib/modules/2.6.38-11-virtual/kernel/drivers/ata/ahci.ko): Unknown symbol in module, or unknown parameter (see dmesg)

(dmesg output capture at http://www.freeimagehosting.net/newuploads/225b3.png)

modprobe ahci also fails if I chroot into the system.

Diffform (sstoeckl-gmx) wrote :

It also happens for kernel 3.0.0-12-virtual in ubuntu 11.10:

FATAL: Error inserting ahci (/lib/modules/3.0.0-12-virtual/kernel/drivers/ata/ahci.ko): Unknown symbol in module, or unknown parameter (see dmesg)

phil (fongpwf) wrote :

Is there a workaround? Is it possible to manually add libahci.ko?

Also, is this really a duplicate of 570542? 570542 is technically fixed since ahci.ko is included. It just doesn't work if you don't also include its dependencies.

The Loeki (the-loeki) wrote :

It's largely semantics (it should be 'related'), but the issue is largely the same. For some reason the build farms don't pick up on ahci's dependency on libahci (it's also not registered in modules.dep) and therefore libahci isn't included, leading to the same symptom; SATA won't work with -virtual.
The resolution is for both current bugs also the same: include libahci and register the dependency correctly :)

The Loeki (the-loeki) wrote :

The ahci.ko needs libahci to work, which is included in linux-image-extra-virtual (along with everything but the kitchen sink). It *SHOULD* be included in linux-image-virtual IMHO, because ahci.ko is next to worthless without it, and installing an additional 120MB of drivers, modules and cruft to get a 47KiB module to get SATA to work is just plain silly (bug #658461)

Workaround (I guarantee nothing :-P ):
###########
cd /tmp
apt-get download linux-image-extra-3.0.0-12-virtual
cd /
dpkg --fsys-tarfile /tmp/linux-image-extra-3.0.0-12-virtual*.deb | tar --wildcards -xf - */libahci.ko
depmod -a
update-initramfs -u
shutdown -r now
############

<presto>

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers