Over the weekend, I decided to add the pc speaker sound driver to
my system. After quite a bit of fiddling, I successfully
compiled the kernel and added the new image to the lilo map file.
However, when I try to boot this image, the computer says it is
"not able to mount root". Is there something I may have
forgotten to do while I was compiling the kernel? I did make
sure I set the right root device using rdev.
My machine is a 486-33 running SLS 1.03 (Linux 0.99.12) [I know,
I know, I need to upgrade, but my linux machine is not connected
to anything so upgrading is a big job. As soon as I get a _lot_
of time, I'll install Slackware.] My file system is the ext2fs
which was recommeded when I installed SLS.
Now, here's what I did: I installed the appropriate patch to
0.99.12 from the pcsndrv 0.5 package, then ran 'make config',
'make depend', and 'make zImage'. It may be significant which
things I set up during config, so I'll list that here:
---------------------------------------------------------------
#
# Automatically generated make config: don't edit
#
#
# General setup
#
# CONFIG_MATH_EMULATION is not set
CONFIG_BLK_DEV_HD = CONFIG_BLK_DEV_HD
CONFIG_BLK_DEV_XD = CONFIG_BLK_DEV_XD
# CONFIG_MITSUMI is not set
# CONFIG_BLK_DEV_SBPCD is not set
# CONFIG_INET is not set
# CONFIG_MAX_16M is not set
CONFIG_SYSVIPC = CONFIG_SYSVIPC
CONFIG_M486 = CONFIG_M486
#
# Program binary formats
#
CONFIG_BINFMT_UMP0 = CONFIG_BINFMT_UMP0
CONFIG_BINFMT_ELF = CONFIG_BINFMT_ELF
#
# SCSI support
#
# CONFIG_SCSI is not set
#
# Network device support
#
# CONFIG_ETHERCARDS is not set
#
# CONFIG_CDU31A is not set
# CONFIG_MCD is not set
#
# Filesystems
#
CONFIG_MINIX_FS = CONFIG_MINIX_FS
CONFIG_EXT_FS = CONFIG_EXT_FS
CONFIG_EXT2_FS = CONFIG_EXT2_FS
CONFIG_XIA_FS = CONFIG_XIA_FS
CONFIG_MSDOS_FS = CONFIG_MSDOS_FS
CONFIG_PROC_FS = CONFIG_PROC_FS
# CONFIG_NFS_FS is not set
# CONFIG_ISO9660_FS is not set
CONFIG_IFS_FS = CONFIG_IFS_FS
CONFIG_QUOTA = CONFIG_QUOTA
#
# character devices
#
CONFIG_KBD_META = CONFIG_KBD_META
# CONFIG_KBD_NUML is not set
# CONFIG_BUSMOUSE is not set
CONFIG_PSMOUSE = CONFIG_PSMOUSE
# CONFIG_MS_BUSMOUSE is not set
# CONFIG_ATIXL_BUSMOUSE is not set
CONFIG_SELECTION = CONFIG_SELECTION
# CONFIG_TAPE_QIC02 is not set
#
# Sound
#
# CONFIG_SOUND is not set
CONFIG_PCSP = CONFIG_PCSP
#
# Kernel hacking
#
# CONFIG_DEBUG_MALLOC is not set
# CONFIG_PROFILE is not set
---------------------------------------------------
I have to admit, I don't know what all those things are in the
file system section, so I may have made some dumb choices. At
any rate, when the kernel created using this config is booted,
the usual things happen (it detects the printer, the floppy
drives, the math coprocessor, etc.) until it gets to where my old
kernel says "partition check: /dev/hda /dev/hda1 /dev/hda2".
Instead, it says "Kernel panic: VFS: unable to mount root." Of
course, it can go no further, so I have to reboot.
My only idea is that the old kernel included a different set of
options which is incompatible with the set I chose. I don't know
what those are because that's the kernal that came with the
distribution. If there is anyone who can help me figure out what
to do, you may reply to
As requested in the FAQ, I will be happy to post a summary of
replies if that will be useful to people.
Thank you for your help.
Karl.