Description of problem: kernel-2.6.20-1.2982.fc7: a lot of unknown symbol in ata_piix.ko module not booting. Version-Release number of selected component (if applicable): 2.6.20-1.2982.fc7 How reproducible: install test2 and do a yum update Steps to Reproduce: 1. install fc7 test2 2. update the packages 3. try to boot... Actual results: not booting. kernel panic. coz unable to load the ata_piix.ko. A lot of unkown symbols... Expected results: boot :) Additional info:
I have the same problem with a freshly installed FC7 test3: It fails to boot because the ata_piix module won't load. Steps to Reproduce: 1. Install FC7 test3. 2. Try to boot. There are 34 messages about unknown symbols (presumably many more scrolled off the screen), starting with: ata_piix: Unknown symbol ata_bmdma_start In the end, insmod gives up: insmod: error inserting '/lib/ata_piix.ko': -1 Unknown symbol in module Other unknown symbols reported are: ata_bmdma_stop, ata_bmdma_setup, ata_bmdma_thaw, pci_test_config_bits.
The problem is a broken initrd, which doesn't contain and doesn't load the scsi and libata modules. Here is how to repair the system to a bootable state: 1. Boot the rescue CD. 2. Mount your system on /mnt/sysimage. 2a. If necessary, mount your boot partition on /mnt/sysimage/boot. 3. mkdir /mnt/sysimage/tmp/initrd 4. cd /mnt/sysimage/tmp/initrd 5. gzip -cd </mnt/sysimage/boot/initrd-*.img | cpio --extract 6. Find the modules libata.ko, scsi_mod.ko and sd_mod.ko in /mnt/sysimage/lib/modules and copy them to the lib directory. 7. Edit (joe, pico, nano, emacs, ...) the file init to include these six lines right before it tries to load ata_piix.ko: echo "Loading scsi_mod.ko module" insmod /lib/scsi_mod.ko echo "Loading sd_mod.ko module" insmod /lib/sd_mod.ko echo "Loading libata.ko module" insmod /lib/libata.ko 8. Generate a new initrd image: find . -print | cpio --create --format newc | gzip -c9 >/mnt/sysimage/boot/initrd-fixed.img 9. cd / 10. Unmount, reboot and at the GRUB prompt, edit the boot commands to use your new initrd. It should work, then. Given the above, I think the right component to blame is mkinitrd or the installer, rather than the kernel.
IIRC this was due to a selinux policy error which prevented a proper module deplist from being created. It's fixed for me now. Does it work for you?