I am having problems with a 2.6.14 kernel. I have two x86 machines, A and B. They do not have identical hardware. Machine A is running Debian woody with a 2.4.28 kernel. There is nothing on machine B at this point.
I did a tar -zcvf of everything on machine A, then I did tar -zxvf of that tar file on machine B. So, A and B have exactly the same configuration. Then I did aptitude dist-upgrade on machine B. The upgrade was successful (I just had to edit perhaps two or three configuration files). Now the next step on machine B is to upgrade from a 2.4.x kernel to a 2.6.x kernel. I downloaded the 2.6.14 kernel source from ftp.kernel.org. I did make config and I built the kernel with the make-kpkg method. This gave me the following files: /boot/System.map-2.6.14 /boot/config-2.6.14 /boot/vmlinuz-2.6.14 /boot/initrd.img-2.6.14 Machine B boots succesfully on this 2.6.14 kernel Since the upgrade to sarge and to the 2.6.x kernel on machine B were succesfull, I started upgrading machine A too. I did aptitude dist-upgrade on machine A. Like with machine B, the upgrade was successful, just a few configuration files to edit. The next step is to upgrade the kernel on machine A from 2.4.x to 2.6.x. At first I installed the 2.6.14 kernel source from kernel.org in /usr/src/linux-2.6.14. I took the .config from machine B and put it in /usr/src/linux-2.6.14 on machine A. I built the kernel on A with the make-kpkg tool, installed it but at boot I get a kernel panic (you'll see the details below). Then, since A and B have the very same setup, I took the four files from machine B: /boot/System.map-2.6.14 /boot/config-2.6.14 /boot/vmlinuz-2.6.14 /boot/initrd.img-2.6.14 I have copied these four files from machine B to machine A. So both machines have exactly the same kernel and initrd. md5sum is the same for these four files. /lib/modules/2.6.14 is populated. Here is the entry in /boot/grub/menu.lst on machine A: title Debian GNU/Linux, kernel 2.6.14 root (hd0,4) kernel /vmlinuz- 2.6.14 root=/dev/ataraid/d0p7 ro initrd /initrd.img-2.6.14 savedefault boot But, when I boot machine A with this 2.6.14 kernel, I get: RAMDISK: cramfs filesystem found at block 0 RAMDISK: Loading 2144 KiB [1 disk] into ram disk... done mount: unknown filesystem type 'devfs' umount: devfs: not mounted mount: unknown filesystem type 'devfs' umount: devfs: not mounted pivot_root: No such file or directory /sbin/init: 432: cannot open dev/console: No such file Kernel panic - not syncing: Attempted to kill init! You're gonna say "Well, just remove devfs from the kernel, you don't need it". But in 2.6.14 there is no devfs, it's completely gone. "make config" never asks you about devfs. This problem is very puzzling: how can two machines with very same software configuration yield so different results ? Regarding the kernel compilation, I tried building the kernel both with make-kpkg and the "handmade" way, it does not solve the problem. Perhaps is it an hardware problem. Machine A has a ATA/RAID controller while machine B has a normal IDE controller. But: 1) I did include the required ATA/RAID drivers in the 2.6.14 kernel, both on machine A and machine B. Again, it's the very same kernel: machine B doesn't need the ATA/RAID driver, but it doesn't hurt if it's present. 2) If you look at the boot process on machine A, you can see "VFS: Mounted root (cramfs filesystem) readonly. initrd-tools: 0.1.81.1". This means machine A is able to mount its root filesystem and its initrd image. Last thing: I don't know if it's related, but when I install the kernel on machine A with "dpkg -i kernel-image-2.6.14_10.00.Custom_i386.deb", I get the following error message: Setting up kernel-image-2.6.14 (10.00.Custom) ... /usr/sbin/mkinitrd: add_modules_dep_2_5: modprobe failed FATAL: Module hptraid not found. FATAL: Module pdcraid not found. WARNING: This failure MAY indicate that your kernel will not boot! but it can also be triggered by needed modules being compiled into the kernel. Any help would be appreciated. Cheers, Alex