Errors during filesystem check with one kernel while no errors with other kernel
Linux - GeneralThis Linux forum is for general Linux questions and discussion.
If it is Linux Related and doesn't seem to fit in any other forum then this is the place.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
"/dev/hda6 is my root partition, when dropped to shell and running fsck with no arguments I get the same message:
fsck.ext3 for device /dev/hda6 exited with signal 4"
fsck should not be run against a mounted file system. If you do then you will get error messages. These errors may only be the fact that /dev/hda6 was not dismounted cleanly. So this is not a valid test of /dev/hda6.
"I can browse the root partition using cd with no problems"
If you boot a rescue CD and fsck.ext3 runs clean against /dev/hda6, this is a valid test that /dev/hda6 is clean.
"Having no problem booting using kernel 2.4"
This is a valid test that /dev/hda6 is clean.
"While booting with old kernel 2.2.12 I get the following message
Warning...fsck.ext3 for device /dev/hda6 exited with signal 4 [FAILED]"
This is a valid test that /dev/hda6 is corrupt.
Looking over the evidence I would say that the problem lies in kernel 2.2.12, not /dev/hda6. I don't know what the problem is and you have already eliminated one possibility.
I've downloaded and installed another kernel 2.2.12 to make sure that the kernel I'm using wasn't corrupted or so but I've got the same error message.
So I tried the follwing
my /etc/fstab was as follows:
=========================================================
LABEL=/1 / ext3 defaults 1 1
none /dev/pts devpts gid=5,mode=620 0 0
LABEL=/home1 /home ext3 defaults 1 2
none /proc proc defaults 0 0
none /dev/shm tmpfs defaults 0 0
/dev/hda5 swap swap defaults 0 0
/dev/cdrom /mnt/cdrom udf,iso9660 noauto,owner,kudzu,ro 0 0
=========================================================
but I changed it to the following:
=========================================================
LABEL=/1 / ext3 defaults 0 0
none /dev/pts devpts gid=5,mode=620 0 0
LABEL=/home1 /home ext3 defaults 0 0
none /proc proc defaults 0 0
none /dev/shm tmpfs defaults 0 0
/dev/hda5 swap swap defaults 0 0
/dev/cdrom /mnt/cdrom udf,iso9660 noauto,owner,kudzu,ro 0 0
=========================================================
I thought that this will prevent filesystem checks during booting but it didn't, I still get the damn error.
BTW , I'm running Fedora Core 1 and this is my grub.conf
=========================================================
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You do not have a /boot partition. This means that
# all kernel and initrd paths are relative to /, eg.
# root (hd0,5)
# kernel /boot/vmlinuz-version ro root=/dev/hda6
# initrd /boot/initrd-version.img
#boot=/dev/hda
default=1
timeout=10
splashimage=(hd0,5)/boot/grub/splash.xpm.gz
title Fedora Core (2.4.22-1.2115.nptl)
root (hd0,5)
kernel /boot/vmlinuz-2.4.22-1.2115.nptl ro root=LABEL=/1 rhgb
initrd /boot/initrd-2.4.22-1.2115.nptl.img
title Windows
rootnoverify (hd0,0)
chainloader +1
title Fedora Core (2.2.12)
root (hd0,5)
=========================================================
"as with the Fedora Core 1 kernel (the kernel 2.4.22 that works fine)
/lib/modules/2.4.22-1.2115.nptl/kernel/fs/ext3 contains ext3.o"
The kernel needs the file system module immediately at boot so 2.4.22-1.2115 must be loading ext3 with initrd during boot.
"can't find any ext3.o or ext2.o in /lib/modules/2.2.12-20/fs"
Your kernel must have the root filesystem support compiled into the bootable kernel. The question is, does it have ext2 or ext3 or both? I have seen other threads where people say that they can access an ext3 filesytem using ext2. Perhaps your 2.2.12 kernel has only ext2 support, finds an unrecognized filesystem on /dev/hda6, reports an error, and then works fine using ext2.
You already said that kernel 2.2.12 has ext3 drivers. Could you double check that? Maybe it is getting by using ext2 to support ext3. See if you can find the config file that Red Hat (or whichever distribution it is) used to compile kernel 2.2.12-20.
The same kernel (the very same binaries) worked fine on RH9 and MDK 9.2 and had no problems with the same partition ( same format) so its most probably something with the configuration.
Whenever anyone compiles a kernel they first have to set up a config file. This config file describes what routines are included in the kernel, what routines are excluded, and whether routines are to be included in the bootable kernel or in the loadable modules in /lib/modules.
Red Hat includes the config file used to compile a kernel in their kernel rpms. I don't know for sure where the config file is installed on your system. It is probable in /boot but it may be somewhere in the /usr/src tree. So see if you can find a file called something like config-2.2.12-20. Open config-2.2.12-20 with a text editor and search for ext2 and ext3. You should find several variable names which contain ext2 or ext3. These variables will have values set to y, n, or m. y means to compile a module into the bootable kernel. n means to exclude the module. m means to compile the module into /lib/modules/2.2.12-20/. You have already proven that neither ext2 nor ext3 is in lib/modules/2.2.12-20/. By checking config-2.12-20 you will prove whether or not ext2 and/or ext3 are compiled into the bootable kernel.
In my /boot/config-2.4.22-1.2115.nptl config file I have:
CONFIG_EXT2_FS=y
CONFIG_EXT3_FS=m
CONFIG_EXT3_INDEX=y
CONFIG_EXT3_FS_XATTR=y
CONFIG_EXT3_FS_XATTR_SHARING=y
CONFIG_EXT3_FS_XATTR_USER=y
CONFIG_EXT3_FS_POSIX_ACL=y
Which says that I have ext2 compiled into my bootable kernel and ext3 compiled into /lib/modules.
So you should look for similar variable settings in your config-2.2.12-20.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.