Package: initrd-tools Version: 0.1.70 Description: apt-get installed kernel-images fail to find IDE devices on boot
What I did: 1. installed debian/testing via net installer, everything works fine, system boots and reboots normally 2. upgraded to debian/unstable, everything still works find, system boots and reboots normally 3. apt-get install kernel-image-x.x.x-x-xxx 4. reboot and choose the new kernel image from the grub menu, IDE devices not found What happens: -system A (upgrade from 2.6.6-1-686-smp to 2.6.6-2-686-smp) -P4P800 Deluxe MB -Pentium 4 2.8Ghz HT, 512k L2 cache -2 x SAMSUNG SP1213C 120GB S-ATA hard drives -1 SAMSUNG DVD R/W SH-W08A dvd /rw drive In this case the system boots normally since the root device is on a S-ATA hard drive which uses libata. The DVD drive, however, does not appear, no /dev/hd* nodes are present. rmmod/modprobe cycling the ide-* and cd modules doesn't help. -system B (upgrade from 2.6.5-1-386 2.6.6-1-686) -FS51 MB (from ShuttlX system) -Pentium 4 2.4 GHz, 512k L2 cache -1 SAMSUNG SP0802N 80GB IDE hard drive -1 SAMSUNG DVD R/W SH-W08A dvd r/w drive This system won't even boot since the root device points to an IDE hard drive. Workaround: Mounting and investigating the initrd image from the non-bootable, recently installed kernel (on system 1) I found that the 'loadmodules' file contained something like this: modprobe -k ata_piix modprobe -k sg modprobe -k sd_mod whereas the old, bootable kernel's initrd had a 'loadmodules' file that looked like so: modprobe -k vesafb > /dev/null 2>&1 modprobe -k fbcon 2> /dev/null modprobe -k unix 2> /dev/null modprobe -k pdc202xx_new > /dev/null 2>&1 modprobe -k aec62xx > /dev/null 2>&1 modprobe -k alim15x3 > /dev/null 2>&1 modprobe -k amd74xx > /dev/null 2>&1 modprobe -k atiixp > /dev/null 2>&1 modprobe -k cmd64x > /dev/null 2>&1 modprobe -k cs5520 > /dev/null 2>&1 modprobe -k cs5530 > /dev/null 2>&1 modprobe -k cy82c693 > /dev/null 2>&1 modprobe -k generic > /dev/null 2>&1 modprobe -k hpt34x > /dev/null 2>&1 modprobe -k hpt366 > /dev/null 2>&1 modprobe -k ns87415 > /dev/null 2>&1 modprobe -k opti621 > /dev/null 2>&1 modprobe -k pdc202xx_old > /dev/null 2>&1 modprobe -k piix > /dev/null 2>&1 modprobe -k rz1000 > /dev/null 2>&1 modprobe -k sc1200 > /dev/null 2>&1 modprobe -k serverworks > /dev/null 2>&1 modprobe -k siimage > /dev/null 2>&1 modprobe -k sis5513 > /dev/null 2>&1 modprobe -k slc90e66 > /dev/null 2>&1 modprobe -k triflex > /dev/null 2>&1 modprobe -k trm290 > /dev/null 2>&1 modprobe -k via82cxxx > /dev/null 2>&1 modprobe -k ide-generic modprobe -k ide-disk modprobe -k ata_piix modprobe -k sg modprobe -k sd_mod Eventually I figured how to add things to this file, namely by adding lines to /etc/mkinitrd/modules (which in my install had no un-commented lines). Adding the lines ide_generic ide_disk ata_piix sg sd_mod and re-installing the new kernel allowed the system to boot up and detect all IDE drives on both systems 1 and 2. I think this counts as a bug since the kernel installed from the cd generates a proper initrd, but the one installed via apt-get fails to generate an appropriate initrd image. Perhaps it has to do with upgrade from testing to unstable but it seems like the /etc/mkinitrd/modules file might always want to contain those lines about ide devices to prevent this from happening. Anyway, hopefully this will save someone else a day or two of frustration. Thanks, Charles -- The loneliest goat sees the last sunset last...

