aboutsummaryrefslogtreecommitdiffstats
path: root/recipes-core/udev/udev/udev-cache
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-core/udev/udev/udev-cache')
-rw-r--r--recipes-core/udev/udev/udev-cache32
1 files changed, 32 insertions, 0 deletions
diff --git a/recipes-core/udev/udev/udev-cache b/recipes-core/udev/udev/udev-cache
new file mode 100644
index 0000000..6898577
--- /dev/null
+++ b/recipes-core/udev/udev/udev-cache
@@ -0,0 +1,32 @@
+#!/bin/sh -e
+
+### BEGIN INIT INFO
+# Provides: udev-cache
+# Required-Start: mountall
+# Required-Stop:
+# Default-Start: S
+# Default-Stop:
+# Short-Description: cache /dev to speedup the udev next boot
+### END INIT INFO
+
+export TZ=/etc/localtime
+
+[ -r /proc/mounts ] || exit 1
+[ -x @UDEVD@ ] || exit 1
+[ -d /sys/class ] || exit 1
+
+[ -f /etc/default/rcS ] && . /etc/default/rcS
+[ -f /etc/default/udev-cache ] && . /etc/default/udev-cache
+
+if [ "$ROOTFS_READ_ONLY" = "yes" ]; then
+ [ "$VERBOSE" != "no" ] && echo "udev-cache: read-only rootfs, skip generating udev-cache"
+ exit 0
+fi
+
+if [ "$DEVCACHE" != "" -a -e /dev/shm/udev.cache ]; then
+ echo "Populating dev cache"
+ tar --directory=/ --selinux --xattrs -cf "$DEVCACHE" dev
+ mv /dev/shm/udev.cache /etc/udev/cache.data
+fi
+
+exit 0