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
