Solution to: /initrd/lib/modules doesn't exist for make-kpkg made kernel--> does not boot?
On Tue, 5 Feb 2002, Ben Collins wrote:
> On Tue, Feb 05, 2002 at 11:53:09AM -0500, Walter Tautz wrote:
> >
> >
> > On Tue, 5 Feb 2002, Ben Collins wrote:
> >
> > > On Tue, Feb 05, 2002 at 11:28:58AM -0500, Walter Tautz wrote:
> > > > I can't get a make-kpkg kernel to boot. It can't mount the root fs. Note
> > > > I am using initrd and compiled make-kpkg with --initrd. One difference
> > > > I notice with the stock kernel and mine is:
> > > >
> > > > # locate ext3
> > > > /initrd/lib/modules/2.4.17-686/kernel/fs/ext3
> > > > /initrd/lib/modules/2.4.17-686/kernel/fs/ext3/ext3.o
> > > > /lib/modules/2.4.17-686/kernel/fs/ext3
> > > > /lib/modules/2.4.17-686/kernel/fs/ext3/ext3.o
> > > > /lib/modules/2.4.17mfcf/kernel/fs/ext3
> > > > /lib/modules/2.4.17mfcf/kernel/fs/ext3/ext3.o
> > > >
> > > >
> > > > Perhaps this accounts for the difference in behaviour, i.e. 2.4.17-686 boots
> > > > but mine 2.4.17mfcf does not? Gives a VHS kernel panic message to the effect
> > > > it can't mount the root file system. Note I am using ext3 on the root
> > > >
> > > > in the fstab I put in ext3,ext2 for the type.
> > > >
> > >
> > > Can it not mount the initrd root, or the main root? If it can't mount
> > > the initrd root, maybe you forgot ramdisk/initrd support.
> > >
> > # grep -i initrd config-2.*
> > config-2.4.17-686:CONFIG_BLK_DEV_INITRD=y
> > config-2.4.17mfcf:CONFIG_BLK_DEV_INITRD=y
> >
> >
> > while running 2.4.17-686 cat /proc/mounts gives:
> >
> > # cat /proc/mounts
> > /dev/root.old /initrd cramfs rw 0 0
> > /dev/root / ext2 rw 0 0
> > proc /proc proc rw 0 0
> > devpts /dev/pts devpts rw 0 0
> > /dev/hda8 /var ext3 rw 0 0
> > none /proc/bus/usb usbdevfs rw 0 0
> > /dev/hda7 /fsys1 ext3 rw 0 0
> > /dev/hdb5 /home ext3 rw 0 0
> > /dev/hdb6 /potato ext2 rw 0 0
>
> Do you have cramfs built into the kernel? If so, then it sounds like
> mkinitrd is not copying the ext3.o module to the initrd image, which
> means it cannot mount the ext3 rootfs.
>
>
The solution is to edit /etc/mkinitrd/modules and add ext2 and ext3. Then
all is well and one gets a initrd kernel built properly. It should be noted
that my config file was the same one as the stock binary kernel package
2.4.17-686 that is available in debian/woody. Perhaps some kind of warning
should be issued by the make-kpkg package to the effect that might have to
edit some files.
-walter
Reply to: