Package: kernel-image-2.4.27-1-k7
Version: 2.4.27-1
Severity: important

Thanks for maintaining Debian's kernel-image-2.4.27-1-k7 package.

It makes upgrading pretty easy.

The main reason I'm writing is to report that
after replacing a bad SCSI root hard drive with the
box's first IDE, these error messages appeared at
boot time:

  modprobe : modprobe: can't locate module block-major-3
  modprobe : modprobe: can't locate module block-major-3
  modprobe : modprobe: can't locate module block-major-3
  modprobe : modprobe: can't locate module block-major-3
  modprobe : modprobe: can't locate module block-major-3
  modprobe : modprobe: can't locate module block-major-3
  pivot_root: No such file or directory
  /sbin/init: cannot open dev/console: No such file
  Kernel panic: Attempted to kill init

After spending way too much time debugging this,
it seems to me that the kernel couldn't access the
new IDE hard drive on /.

It also seems to me that the reason why it
couldn't access the new IDE hard drive is that
when kernel-image-2.4.27-1-k7 was installed, it
ran mkinitrd with:

    ROOT=probe

in 

    /etc/mkinitrd/mkinitrd.conf

which didn't know about the new IDE hard drive
when it was originally run and thus didn't include
the right stuff in initrd to access the new IDE
hard drive.

I doubt that this is related to bug #266510, (very
very important ide-probe.c patch) because other
versions of the kernel are affected too, although
they return slightly different error messages,
like:

    modprobe: modprobe: Can't locate module sysfs

or

    ds: no socket drivers loaded!
    kmod: failed to exe /sbin/modprobe -s -k block-major-3, errno = 2
    VFS: Cannot open root device "hda2" or 03:02
    Please append a correct "root=" boot option

I seem to have solved the problem by:

    1.) Booting with a rescue disk (knoppix)

    2.) becoming the root user

    3.) mounting the new IDE hard drive

        $ mount /dev/hda2 /mnt/hda2

    4.) working in a familiar environment

        $ chroot /mnt/hda2

    5.) if I recall correctly, I needed to

        $ mount /proc /proc -t proc

    6.) using the package's install script(s) to
        generate an up to date initrd file

        $ kernel-reconfigure kernel-image-2.4.27-1-k7

    7.) shutdown

    8.) reboot

However, it took a long time to solve and made
recovering from a failed root drive harder than it
already is.

Having said that, I'm not sure how to spare other
people from having to go through the same ordeal,
and can only offer some suggestions and trust your
considerable experience in these matters.

One option would be to just keep this bug report
open, let google index it and some people will
eventually stumble across my solution of using

    $ kernel-reconfigure kernel-image-2.4.27-1-k7
    
Another option would be to suggest to mkinitrd's
maintainer that root=probe always check for IDE
hard drives at run time.

Finally, I suppose this behavior could be
documented in all kernel image packages.

Thanks for your consideration,
Kingsley

-- System Information:
Debian Release: testing/unstable
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: i386 (i686)
Kernel: Linux 2.4.27-1-k7
Locale: LANG=C, LC_CTYPE=C

Versions of packages kernel-image-2.4.27-1-k7 depends on:
ii  coreutils [fileutils]         5.0.91-2   The GNU core utilities
ii  fileutils                     4.5.1-2    GNU file management utilities
ii  initrd-tools                  0.1.73     tools to create initrd image for p
ii  modutils                      2.4.25-3   Linux module utilities

-- no debconf information




Reply via email to