diff options
Diffstat (limited to 'chapter07/mountfs.xml')
-rw-r--r-- | chapter07/mountfs.xml | 110 |
1 files changed, 110 insertions, 0 deletions
diff --git a/chapter07/mountfs.xml b/chapter07/mountfs.xml new file mode 100644 index 000000000..f0fdf7a78 --- /dev/null +++ b/chapter07/mountfs.xml @@ -0,0 +1,110 @@ +<sect1 id="ch07-mountfs"> +<title>Creating the mountfs script</title> + +<para> +Create a new file <filename>/etc/init.d/mountfs</filename> containing +the following: +</para> + +<literallayout> + +<userinput>cat > mountfs << "EOF"</userinput> +#!/bin/sh +# Begin /etc/init.d/mountfs + +# +# Include the functions declared in the /etc/init.d/functions file +# + +source /etc/init.d/functions + +case "$1" in + start) + + # + # Remount the root partition in read-write mode. -n tells mount + # not to + # write to the /etc/mtab file (because it can't do this. The + # root + # partition is most likely still mounted in read-only mode + # + + echo -n "Remounting root file system in read-write mode..." + /bin/mount -n -o remount,rw / + evaluate_retval + + # + # First empty the /etc/mtab file. Then remount root partition + # in read-write + # mode again but pass -f to mount. This way mount does + # everything + # except the mount itself. This is needed for it to write to the + # mtab + # file which contains a list of currently mounted file systems. + # + + echo > /etc/mtab + /bin/mount -f -o remount,rw / + + # + # Remove the possible /fastboot and /forcefsck files. they are + # only + # supposed to be used during the next reboot's checkfs wich just + # happened. If you want to fastboot or forcefsck again you'll + # have to + # recreate the files + # + + /bin/rm -f /fastboot /forcefsck + + # + # Walk through /etc/fstab and mount all file systems that don't + # have the noauto option set in the fs_mntops field (the 4th + # field. + # See man fstab for more info) + # + + echo -n "Mounting other file systems..." + /bin/mount -a + evaluate_retval + ;; + + stop) + + # + # Deactive all the swap partitions + # + + echo -n "Deactivating swap..." + /sbin/swapoff -a + evaluate_retval + + # + # And unmount all the file systems, mounting the root file + # system + # read-only (all are unmounted but because root can't be + # unmounted + # at this point mount will automatically mount it read-only + # which + # is what supposed to happen. This way no data can be written + # anymore from disk) + # + + echo -n "Unmounting file systems..." + /bin/umount -a -r + evaluate_retval + ;; + + *) + echo "Usage: $0 {start|stop}" + exit 1 + ;; +esac + +# End /etc/init.d/mountfs +<userinput>EOF</userinput> + +</literallayout> + +</sect1> + |