Comment 42 for bug 352440

Revision history for this message
Josh Enders (josh-enders) wrote :

Looking for a fix?

The tl;dr version is to copy /lib/modules/2.6.24-26-generic/kernel/drivers/dca/dca.ko from the linux-image-2.6.24-26-generic_2.6.24-26.64_amd64.deb to the root of the most current initrd. [1]

---

As a follow-up, my assertion was incorrect- It's not that the initrd/kernel are mismatched, although the symptoms are similar, it's that a dependency for igb-next.ko is missing in the latest netinstall media for hardy: dca.ko. This is all too clear when you examine dmesg output after a full night sleep: "igb_next: Unknown symbol dca_*". This was mentioned by an earlier commenter but I overlooked the post.

You can also verify this by using modinfo to check the module dependency:

$ modinfo igb-next.ko | grep depends
 depends: dca

In order to get igb-next.ko loaded and the kernel to recognize the Intel 82576 ethernet card properly, we need to do some modification of the initrd.

The following steps will create patched Hardy netinstall media that will recognize the Intel 82576 ethernet card. Do not forget to use the appropriate kernel for the initrd this process creates.:
    http://archive.ubuntu.com/ubuntu/dists/hardy/main/installer-amd64/20070308ubuntu40.13/images/netboot/ubuntu-installer/amd64/linux

$ sudo mkdir -p destroot/lib/modules/2.6.24-26-generic/kernel/drivers/dca/
$ wget http://archive.ubuntu.com/ubuntu/dists/hardy/main/installer-amd64/20070308ubuntu40.13/images/netboot/ubuntu-installer/amd64/initrd.gz
$ zcat initrd.gz | ( cd destroot && sudo cpio -i )
$ wget http://launchpadlibrarian.net/36450254/linux-image-2.6.24-26-generic_2.6.24-26.64_amd64.deb
$ dpkg --fsys-tarfile linux-image-2.6.24-26-generic_2.6.24-26.64_amd64.deb | sudo tar -xOf - ./lib/modules/2.6.24-26-generic/kernel/drivers/dca/dca.ko > destroot/lib/modules/2.6.24-26-generic/kernel/drivers/dca/dca.ko
$ ( cd destroot && find . -print0 | sudo cpio -0 -H newc -o ) | gzip -c > initrd.gz.patched

sudo is needed so that cpio can create the device files /dev/console and /dev/null in your buildroot and for consistent file permissions.

[1] I linked this file incorrectly in post #41, should NOT have been http://archive.ubuntu.com/ubuntu/dists/hardy/main/installer-amd64/20070308ubuntu40.13/images/netboot/ubuntu-installer/amd64/pxelinux.0 but instead http://archive.ubuntu.com/ubuntu/dists/hardy/main/installer-amd64/20070308ubuntu40.13/images/netboot/ubuntu-installer/amd64/initrd.gz . I apologize for the confusion.