Path: utzoo!utgpu!watmath!maytag!watvlsi!peregier From: peregier@watvlsi.waterloo.edu (Phil Regier) Newsgroups: comp.sys.mips Subject: root file system not checked on reboot Message-ID: <4529@watvlsi.waterloo.edu> Date: 31 Jul 89 19:37:09 GMT Distribution: comp Organization: U of Waterloo, Ontario Lines: 56 On our MIPS M-2000 running RISC/os 4.00, the root file system is not being checked when the system reboots. MIPS has been notified and is looking at it, but I thought others may want to check if the same thing is happening to them. The message on the console says that the root file system is being checked, but it really isn't (we use the fast file system). We get the following on the console: Checking root file system () automatically. The system is coming up. Please wait. If one looks in the /etc/bcheckrc file where this checking is supposed to start, one finds that for each return code of fsck, there should be a message echoed after the "Checking root ..." message which never gets printed (as can be seen from the relevant portion of the bcheckrc file below). Also, no messages from fsck itself are printed. This is because the fsstat command has completed with exit code 0 and the script runs exit before it gets to fsck. This is not good, since we had a corrupted root file system; to fix it I had to boot from another root partition and fsck the original root file system manually. How a command like fsstat can determine when a root file system needs checking without actually running fsck is beyond me. Just removing the fsstat line does not help. The root file system does get checked, but even it is OK, it exits with exit code 4 and reboots the system, checks the root file system, exits with exit code 4, ad infinitum. bcheckrc_ffs() { fsstat $ROOTFS >/dev/null 2>&1 && exit 0; fsck.ffs -d -y $ROOTFS case $? in 0) echo "fsck.ffs: finished normally" ;; 2) # # Berkeley fsck semantics say enter single user now. # Wish I could. # echo "fsck.ffs: received SIGQUIT -- ignored." ;; 4) echo "\nAutomatically Rebooting UNIX." uadmin 1 1; echo "Auto-reboot failed. Reboot UNIX manally." ;; 8) echo "fsck.ffs: abnormal exit." ;; 12) echo "fsck.ffs: received SIGINTR -- disk checks terminated." ;; *) echo "fsck.ffs: unknown exit status." ;; esac P.S. The message should read Checking root file system (/dev/root) automatically. The variable in the shell script is in the wrong case, but this is just cosmetic.