]> pd.if.org Git - startuptools/commitdiff
Add support for mdev
authorNathan Wagner <nw@hydaspes.if.org>
Thu, 9 Jan 2014 11:24:56 +0000 (11:24 +0000)
committerNathan Wagner <nw@hydaspes.if.org>
Thu, 9 Jan 2014 11:24:56 +0000 (11:24 +0000)
mdev will now be the default hotplug handler.  This effectively
adds a requirement for busybox.  udevd can still be used if it's
installed and USE_UDEVD is defined as something true in /etc/rc.conf

Added a mount -f / to attempt to get the root filesystem recorded
in /etc/mtab, which df wants.

scripts/rc.sysinit

index 150bf70273aade858a123f3e6e539dad8e202ee2..29679512ebd2f88352a811a2da92c014e33d956b 100644 (file)
@@ -20,8 +20,8 @@
 # need to mount sys because fsck might use it
 # try to mount them directly if they fail from fstab?
 # TODO bail to emergency shell if these fail?
-# try to mount them directly if they fail from fstab?                                        
-# TODO bail to emergency shell if these fail?                                                
+# TODO set NOVIRTFS='/var/run' and the like to skip some of these?
+
 status_begin mounting virtual filesystems
 mountpoint -q /proc    || mount -t proc proc /proc -o nosuid,noexec,nodev
 mountpoint -q /sys     || mount -t sysfs sys /sys -o nosuid,noexec,nodev
@@ -61,47 +61,53 @@ status_begin loading sysctl.conf
 sysctl -q -p
 status_check
 
-# * set up /dev (via udev on modern linux systems)
-
-##
-## begin voodoo scripting from lfs-initscripts
-##
-
-# udev will handle hotplugs
-echo > /proc/sys/kernel/hotplug
-
-# start udev
-# this should probably be moved to inittab or started via
-# something that could monitor it
-status_starting udevd daemon
-/lib/udev/udevd --daemon
-status_check
-
-# Now traverse /sys in order to "coldplug" devices that have
-# already been discovered
-# this is going to fail if sys isn't mounted
-status_begin populating udevadm triggers
-udevadm trigger --action=add    --type=subsystems &&
-udevadm trigger --action=add    --type=devices &&
-udevadm trigger --action=change --type=devices
-status_check
-
-# Now wait for udevd to process the uevents we triggered
-#      if ! is_true "$OMIT_UDEV_SETTLE"; then
-status_begin waiting for udevadm to settle
-udevadm settle
-status_check
-#      fi
-
-# If any LVM based partitions are on the system, ensure they
-# are activated so they can be used.
-#      if [ -x /sbin/vgchange ]; then /sbin/vgchange -a y >/dev/null; fi 
-
-#      log_success_msg2 
-
-##
-## end voodoo scripting
-##
+# * set up /dev
+
+if [ -x /bin/mdev ] && [ ! is_true "$USE_UDEVD" ]; then
+       echo /bin/mdev > /proc/sys/kernel/hotplug
+elif [ -x /lib/udev/udevd ]; then
+       ##
+       ## begin voodoo scripting from lfs-initscripts
+       ##
+
+       # udev will handle hotplugs
+       echo > /proc/sys/kernel/hotplug
+
+       # start udev
+       # this should probably be moved to inittab or started via
+       # something that could monitor it
+       status_starting udevd daemon
+       /lib/udev/udevd --daemon
+       status_check
+
+       # Now traverse /sys in order to "coldplug" devices that have
+       # already been discovered
+       # this is going to fail if sys isn't mounted
+       status_begin populating udevadm triggers
+       udevadm trigger --action=add    --type=subsystems &&
+       udevadm trigger --action=add    --type=devices &&
+       udevadm trigger --action=change --type=devices
+       status_check
+
+       # Now wait for udevd to process the uevents we triggered
+       #      if ! is_true "$OMIT_UDEV_SETTLE"; then
+
+       # quoted here so 'for' doesn't confuse syntax highlighting
+       status_begin 'waiting for udevadm to settle'
+       udevadm settle
+       status_check
+       #      fi
+
+       # If any LVM based partitions are on the system, ensure they
+       # are activated so they can be used.
+       #      if [ -x /sbin/vgchange ]; then /sbin/vgchange -a y >/dev/null; fi 
+
+       #      log_success_msg2 
+
+       ##
+       ## end voodoo scripting
+       ##
+fi
 
 # * set up swap
 
@@ -124,6 +130,7 @@ status_check
 
 rm -f /etc/mtab
 mount -af
+mount -f /
 
 # * do any boot time /tmp cleanup or similar