diff options
Diffstat (limited to 'disk-utils/README.bootutils-0.1')
| -rw-r--r-- | disk-utils/README.bootutils-0.1 | 104 |
1 files changed, 104 insertions, 0 deletions
diff --git a/disk-utils/README.bootutils-0.1 b/disk-utils/README.bootutils-0.1 new file mode 100644 index 0000000000..d87437e891 --- /dev/null +++ b/disk-utils/README.bootutils-0.1 @@ -0,0 +1,104 @@ +bootutils-0.1 + +* ALPHA RELEASE: Use at your own risk! * + +* You MUST have 0.99pl10 or later kernel to make use of all of the + facilities of this package. If you can live without the unmount-root + feature, then 0.99pl9 will work. * + +This is the first release of a set of utilities designed to automate +the management and checking of filesystems at boot time and shutdown. +It supports automatic and safe 'fsck' of all filesystems (including +root) at boot time by booting with root readonly; if the fsck succeeds +then root is remounted read-write and booting can continue. + +Why bother? + +Well, many people like to have a safe and reliable check of all their +filesystems during boot. This is especially true for ext2fs, because +all ext2fs filesystems have a special 'clean' flag which gets set when +the filesystem is cleaned (by e2fsck) or is unmounted cleanly, and +which gets unset when the filesystem is active. e2fsck can sense this +flag, and will skip over filesystems which are clean. + +This means that e2fsck won't bother you with a laborious filesystem +check at each startup, as long as you always shut down cleanly; but it +will check your filesystems automatically if you ever have a crash, +because afterwards the filesystem 'clean' flags will not be set. You +*can* still mount an unclean filesystem, but ext2fs will give you a +warning and will not mark it clean when it gets unmounted. + +One of the problems with automatic fsck'ing is that it is unsafe to +check mounted, active filesystems. The solution is to initially mount +only the root filesystem, and to mount it in readonly mode. In this +situation, fsck can run safely on all filesystems, without the danger +that the kernel might start conflicting with the repairs being done to +the filesystem. + +If any repairs were done, it is unsafe to proceed any further because +the kernel might have cached old information about the filesystems +which has been updated by fsck. However, if the fsck succeeded, then +we can remount the root filesystem in read-write mode and proceed to +mount all of the other filesystems. + +Finally, in order to ensure that filesystems are correctly tidied up +on shutdown, we need to unmount the root at shutdown. This is usually +done automatically; the standard Linux shutdown programs do a 'umount +- -a' command to unmount all mounted filesystems. You MUST have a +0.99pl10 or later kernel for this to work. Many versions of umount +explicitly do not try to unmount the root, since pre-99pl10 kernels +forbade this. The umount included here will unmount even the root +filesystem. (A special kernel trick in pl10 allows this to work by +keeping the filesystem alive in readonly mode after it has been tidied +up.) + +The bootup operation of this package is invoked by the /etc/rc shell +script, an example of which is in mount/etc/rc. It contains the +following important lines: + + # Check the integrity of all filesystems + /bin/fsck -A -a + # If there was a failure, drop into single-user mode. + if [ $? -gt 1 ] ; then + echo fsck failed. Please reboot. + sh + fi + + # Remount the root filesystem in read-write mode + /etc/mount -n -o remount /dev/hda3 / + + # remove /etc/mtab* so that mount will create it with a root entry + /bin/rm -f /etc/mtab* /etc/nologin /etc/utmp + + # mount file systems in fstab (and create an entry for /) + # but not NFS because TCP/IP is not yet configured + /etc/mount -avt nonfs + + +This is the first attempt at a complete package for automated clean +fsck support, so you may well find that you would like a slightly +different behaviour. Please feel free to send me comments, bug +reports and improvements! + + +This package includes three separate items, shamelessly adapted from +other, more or less standard Linux programs. + +* rdev.c: a modified rdev which is extended to allow the + readonly/readwrite status of the kernel image to be altered. Use + rdev -R <kernel> 1 + to make the kernel mount in readonly mode. This can be overridden + by the use of the 'read-only' or 'read-write' keywords of the most + recent version of LILO. + +* Mount/umount package: This was recently posted to the net, and + implements the '-o remount' mount option which allows filesystems to + be remounted. Unlike the previous post, the version included here + also attempts to unmount the root filesystem on 'umount -a'. I have + also tried to clean up the man-pages. + +* fsck package: David Engel's fsck front-end. Read the README for it. + This package implements the 'fsck -A' command which will check all + filesystems in /etc/fstab automatically. + +Stephen Tweedie <sct@dcs.ed.ac.uk> |
