fsck fails during boot with 2.6.9-34.0.1.EL kernel because root filesystem is already rw mounted

Floriola floriola2000 at yahoo.com
Mon Jul 3 21:33:57 UTC 2006


Hi,

I have found the problem. If the /etc/fstab file contains the following line:

/dev/VolGroup00/LogVol01 / ext3 rw 1 1  

then when you install any new kernel, in intrd file the root filesystem is mounted with the
following command:

mount -o rw --ro -t ext2 /dev/root /sysroot  

and I have the errors during the boot process.

Now, if the /etc/fstab file has the following line:

/dev/VolGroup00/LogVol01 / ext3 defaults 1 1  

then when you install any new kernel, in intrd file the root filesystem is mounted with the
following command:

mount -o defaults --ro -t ext2 /dev/root /sysroot  

and there is no error during boot process.

So, basicaly I think that mkinitrd command looks into the /etc/fstab file to see what options are
used to mount the root filesystem. However, I think this is a bug, since if the root filesystem is
mounted as read-write, the system becomes unbootable.

Best regards,
Floriola

--- Floriola <floriola2000 at yahoo.com> wrote:

> Hi,
> 
> I have a RHES4 server running kernel version 2.6.9-34.EL. During this night, I have updated to
> latest kernel-2.6.9-34.0.1.EL. The problem is that with the new kernel, my linux is not booting
> anymore. During the boot, I have the following error:
> 
> Checking root filesystem
> [/sbin/fsck.ext3 (1) -- /] fsck.ext3 -a /dev/VolGroup00/LogVol01
> /dev/VolGroup00/LogVol01 is mounted. e2fsck: Cannot continue, aborting.
> 
> 
> [FAILED]
> 
> *** An error occurred during the file system check.
> *** Dropping you to a shell; the system will reboot
> *** when you leave the shell.
> *** Warning -- SELinux is active
> *** Disabling security enforcement for system recovery.
> *** Run 'setenforce 1' to reenable.
> Give root password for maintenance
> (or type Control-D to continue):
> 
> Luckily, I still have the old kernel installed, so I booted with the old one, without any
> problems.
> 
> I dig a bit more, and I found the following:
> 
> In the old 2.6.9-34.EL kernel that I am able to boot with, the init script in the initrd
> contains
> the following mount command:
> 
> mount -o defaults --ro -t ext2 /dev/root /sysroot 
> 
> while with the new kernel 2.6.9-34.0.1.EL that I have just installed, the init file in the
> initrd
> contanin the following command:
> 
> mount -o rw --ro -t ext2 /dev/root /sysroot 
> 
> So this is why with the new kernel, my root filesystem si already mounted read-write during the
> boot process, before the fsck.
> 
> However, this looks quite weird. First, I cannot find anywhere what this --ro means (there are
> no
> info about this option in the man page). Most probably, it means that the filesystem should be
> mount read-only, but then why in the new kernel the mount command contains also "-o rw" option?
> 
> And why in the previous kernel, the root filesystem was mounted with the "-o defaults" option,
> and
> the new one is mounted with the "-o rw" option?
> 
> Any ideeas? 
> 
> Thank you in advance,
> 
> Floriola
> 
> __________________________________________________
> Do You Yahoo!?
> Tired of spam?  Yahoo! Mail has the best spam protection around 
> http://mail.yahoo.com 
> 


__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 




More information about the redhat-list mailing list