[oe-commits] Richard Purdie : systemd: Drop udevd init script

git at git.openembedded.org git at git.openembedded.org
Sun Feb 9 18:02:04 UTC 2014


Module: openembedded-core.git
Branch: master-next
Commit: e725dc355b388c401dc960ded88eb8a534b9f4c1
URL:    http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=e725dc355b388c401dc960ded88eb8a534b9f4c1

Author: Richard Purdie <richard.purdie at linuxfoundation.org>
Date:   Sun Feb  9 17:54:55 2014 +0000

systemd: Drop udevd init script

systemd handles udevd internally. We therefore shouldn't start an overlapping
udevd instance in the sysvinit case since systemd will have done this for us.
Two running udevd instances lead to confusion and weird bugs.

Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>

---

 meta/recipes-core/systemd/systemd/init   | 104 -------------------------------
 meta/recipes-core/systemd/systemd_208.bb |   6 --
 2 files changed, 110 deletions(-)

diff --git a/meta/recipes-core/systemd/systemd/init b/meta/recipes-core/systemd/systemd/init
deleted file mode 100644
index ea52be4..0000000
--- a/meta/recipes-core/systemd/systemd/init
+++ /dev/null
@@ -1,104 +0,0 @@
-#!/bin/sh
-
-### BEGIN INIT INFO
-# Provides:          udev
-# Required-Start:    mountvirtfs
-# Required-Stop:
-# Default-Start:     S
-# Default-Stop:
-# Short-Description: Start udevd, populate /dev and load drivers.
-### END INIT INFO
-
-. /etc/init.d/functions
-
-export TZ=/etc/localtime
-
-[ -d /sys/class ] || exit 1
-[ -r /proc/mounts ] || exit 1
-[ -x @UDEVD@ ] || exit 1
-[ -f /etc/default/udev-cache ] && . /etc/default/udev-cache
-[ -f /etc/udev/udev.conf ] && . /etc/udev/udev.conf
-
-readfile () {
-   filename=$1
-   READDATA=""
-   if [ -r $filename ]; then
-       while read line; do
-           READDATA="$READDATA$line"
-       done < $filename
-   fi
-}
-
-case "$1" in
-  start)
-    export ACTION=add
-    # propagate /dev from /sys
-    echo "Starting udev"
-
-    # mount the devtmpfs on /dev, if not already done
-    LANG=C awk '$2 == "/dev" && ($3 == "devtmpfs") { exit 1 }' /proc/mounts && {
-            mount -n -o mode=0755 -t devtmpfs none "/dev"
-    }
-    [ -e /dev/pts ] || mkdir -m 0755 /dev/pts
-    [ -e /dev/shm ] || mkdir -m 1777 /dev/shm
-    mount -a -t tmpfs 2>/dev/null
-
-    # cache handling
-    if [ "$DEVCACHE" != "" ]; then
-            readfile /proc/version
-            VERSION="$READDATA"
-            readfile /proc/cmdline
-            CMDLINE="$READDATA"
-            readfile /proc/devices
-            DEVICES="$READDATA"
-            readfile /proc/atags
-            ATAGS="$READDATA"
-
-            if [ -e $DEVCACHE ]; then
-                    readfile /etc/udev/cache.data
-                    if [ "$READDATA" = "$VERSION$CMDLINE$DEVICES$ATAGS" ]; then
-                            (cd /; tar xf $DEVCACHE > /dev/null 2>&1)
-                            not_first_boot=1
-                            [ "$VERBOSE" != "no" ] && echo "udev: using cache file $DEVCACHE"
-                            [ -e /dev/shm/udev.cache ] && rm -f /dev/shm/udev.cache
-                    else
-                            echo "$VERSION$CMDLINE$DEVICES$ATAGS" > /dev/shm/udev.cache
-                    fi
-            else
-                    echo "$VERSION$CMDLINE$DEVICES$ATAGS" > /dev/shm/udev.cache
-            fi
-    fi
-
-    # make_extra_nodes
-    killproc systemd-udevd > "/dev/null" 2>&1
-
-    # trigger the sorted events
-    echo -e '\000\000\000\000' > /proc/sys/kernel/hotplug
-    @UDEVD@ -d
-
-    udevadm control --env=STARTUP=1
-    if [ "$not_first_boot" != "" ];then
-            udevadm trigger --action=add --subsystem-nomatch=tty --subsystem-nomatch=mem --subsystem-nomatch=vc --subsystem-nomatch=vtconsole --subsystem-nomatch=misc --subsystem-nomatch=dcon --subsystem-nomatch=pci_bus  --subsystem-nomatch=graphics	 --subsystem-nomatch=backlight --subsystem-nomatch=video4linux	--subsystem-nomatch=platform
-            (udevadm settle --timeout=3; udevadm control --env=STARTUP=)&
-    else
-            udevadm trigger --action=add
-            udevadm settle
-    fi
-    ;;
-  stop)
-    echo "Stopping udevd"
-    start-stop-daemon --stop --name systemd-udevd --quiet
-    ;;
-  restart)
-    $0 stop
-    sleep 1
-    $0 start
-    ;;
-  status)
-    status systemd-udevd
-    ;;
-  *)
-    echo "Usage: $0 {start|stop|status|restart}"
-    exit 1
-esac
-exit 0
diff --git a/meta/recipes-core/systemd/systemd_208.bb b/meta/recipes-core/systemd/systemd_208.bb
index 5ed31c3..e4e5542 100644
--- a/meta/recipes-core/systemd/systemd_208.bb
+++ b/meta/recipes-core/systemd/systemd_208.bb
@@ -105,12 +105,6 @@ do_install() {
 
 	install -m 0644 ${WORKDIR}/00-create-volatile.conf ${D}${sysconfdir}/tmpfiles.d/
 
-	if ${@base_contains('DISTRO_FEATURES','sysvinit','true','false',d)}; then
-		install -d ${D}${sysconfdir}/init.d
-		install -m 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/systemd-udevd
-		sed -i s%@UDEVD@%${rootlibexecdir}/systemd/systemd-udevd% ${D}${sysconfdir}/init.d/systemd-udevd
-	fi
-
         # Delete journal README, as log can be symlinked inside volatile.
         rm -f ${D}/${localstatedir}/log/README
 }



More information about the Openembedded-commits mailing list