Le Jeudi 28 F�vrier 2002 00:06, Guillaume Cottenceau a �crit :
<snip>
> Yes, you're in trouble. The same as if you "dd if=/dev/zero
> of=/dev/hda", etc. You can do a lot of bad things touching to
> your system...
>

you cannot compare a complete disaster (not recoverable), to a situation where 
a little mistake renders the system unbootable because of what we can 
consider a LOGICAL BUG in /etc/rc.sysinit.

> I'm not gonna add a check for that situation, we'd need to add
> another hundred of checks for errors that could happen with the
> same frequency..

Then just tell us what kind of situation can lead to fsck refusing to work, 
appart a disaster, which i dont discuss here ? 

the problem here is quite simple : rs.sysinit is trapping us into a boot loop 
on a system that is perfectly bootable ! this is not acceptable. at least we 
must fix rc.sysinit in order to permit the system to boot in this situation, 
don't you agree ?

A fix like this could do the trick :
# diff rc.sysinit /etc/rc.d/rc.sysinit
415a416,429
> #
> # fix to skip fsck in case ROOTFS is erroneously mounted RW
> #
> ROOTFSRW=`grep " / " /proc/mounts | grep -i 'rw' | wc -l`
> if [ $ROOTFSRW -gt 0 ]
> then
>       $fastboot="fastboot"
>       gprintf "Your ROOT Filesystem is mounted R/W\r\nFilesystem check 
cannot proceed in this situation\r\nCheck your /etc/fstab and remove the 'rw' 
option for /, then rebuild initrd (mkinitrd) and your boot record (lilo or 
grub...) to correct this situation\r\n"
>       gprintf "press ENTER to continue and boot normally without checking 
ROOTFS\r\n"
>       read
> fi
> #
> # end of fix
> #


the fastboot option will prevent the fsck.

pascal

Reply via email to