123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104 |
- <sect1 id="ch07-mountfs">
- <title>Creating the mountfs script</title>
- <para>Create the <filename>/etc/init.d/mountfs</filename> script by running
- the following command:</para>
- <para><screen><userinput>cat > /etc/init.d/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 which just
- # happened. If you want to fastboot or forcefsck again you'll
- # have to
- # recreate the files
- #
- /bin/rm /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)
- #
- # Deactivate 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></screen></para>
- </sect1>
|