aboutsummaryrefslogtreecommitdiffstats
path: root/chapter07/mountfs.xml
diff options
context:
space:
mode:
Diffstat (limited to 'chapter07/mountfs.xml')
-rw-r--r--chapter07/mountfs.xml110
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 &gt; mountfs &lt;&lt; "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>
+