refactoring rc.sysinit

David Kewley kewley at gps.caltech.edu
Fri Feb 11 15:28:21 UTC 2005


Bill Nottingham wrote on Thursday 10 February 2005 19:21:
> When I speak about modularization above, I mean I don't see reason
> for splitting much of the *current* rc.sysinit to separate scripts;
> what I'd suspect is that we'd have the current rc.sysinit do
> the normal stuff (drivers, fsck, remount r/w) and then run all
> the scripts in rcS.d.

Here's an example in FC2 where I could have used modularization of "all the
normal stuff", in order to implement EVMS.   Here EVMS is not managing the
boot drive, so it's not in the initrd.  But it should be initialized in
rc.sysinit so that its volumes can be mounted simply by having them
in /etc/fstab like so:

  /dev/evms/raid1         /export/raid1           xfs     defaults,quota,grpquota 0 2

David


--- rc.sysinit-dist-2005.01.26  2005-01-11 09:38:44.000000000 -0800
+++ rc.sysinit  2005-01-26 17:37:51.000000000 -0800
@@ -375,14 +375,23 @@
 [ "$state" != "rw" ] && \
   action $"Remounting root filesystem in read-write mode: " mount -n -o remount,rw /

-# LVM2 initialization
-if [ -x /sbin/lvm.static ]; then
+# Device-Mapper initialization
+if [ -x /sbin/lvm.static -o -x /sbin/evms_activate ]; then
     if ! LC_ALL=C fgrep -q "device-mapper" /proc/devices 2>/dev/null ; then
        modprobe dm-mod >/dev/null 2>&1
     fi
     /bin/rm -f /dev/mapper/control
     echo "mkdmnod" | /sbin/nash --quiet >/dev/null 2>&1
     [ -n "$SELINUX" ] && restorecon /dev/mapper/control
+fi
+
+# EVMS initialization
+if [ -s /sbin/evms_activate ]; then
+    action $"Setting up Enterprise Volume Management System:" /sbin/evms_activate
+fi
+
+# LVM2 initialization
+if [ -x /sbin/lvm.static ]; then
     if [ -c /dev/mapper/control -a -x /sbin/lvm.static ]; then
        if /sbin/lvm.static vgscan > /dev/null 2>&1 ; then
            action $"Setting up Logical Volume Management:" /sbin/lvm.static vgchange -a y && /sbin/lvm vgmknodes




More information about the fedora-devel-list mailing list