Comment 10 for bug 974765

James Shackleford (tshack) wrote :

I have performed some more work towards this issue and I have found that it is an issue not with the kernel but with the generation of initrd.img.

Ubuntu-3.2.0-20-generic is the kernel I received upon initial install via CD-ROM. This kernel came with the proper initrd.img-3.2.0-20-generic image. update-grub detects both kernel and ramdisk image correctly, and the system boots fine.

Ubuntu-3.2.0-21-generic and Ubuntu-3.2.0-22-generic will installed via repository (normal system update). initrd.img does not exist for either of these kernels. Consequently, update-grub does not generate initrd lines for these kernels and they fail to mount the system partition due to lack of necessary modules.

I built Ubuntu-3.2.0-23 from the Ubuntu kernel git repository via:
$ fakeroot debian/rules clean
$ fakeroot debian/rules binary-headers binary-generic

and installed the resulting debs:
 * linux-headers-3.2.0-23_3.2.0-23.36_all.deb
 * linux-headers-3.2.0-23-generic_3.2.0-23.36_amd64.deb
 * linux-image-3.2.0-23-generic_3.2.0-23.36_amd64.deb

Again, initrd.img-3.2.0-23-generic was never generated for some reason. So, naturally, booting this also failed.

I was able to get Ubuntu-3.2.0-23-generic to boot by:
 1) making a copy of my working initrd.img-3.2.0-20-generic
 2) unpacking it
 3) rename lib/modules/3.2.0-20-generic to lib/modules/3.2.0-23-generic
 4) repacking
 5) moving to /boot/initrd.img-3.2.0-23-generic

I know this is a terrible hack, but I am not sure how to generate a proper initrd.img by hand.

In short, initrd.img is not being generated after kernel installation by initramfs-tools on my system for some reason. I am not familiar enough with the generation of initrd.img to know where the failure could be. Help is, of course, appreciated in tracking the source of the error.

Regardless, this is no longer really a kernel bug and should probably be reassigned or closed/re-opened as appropriate.