Fix the boot process udev warning

Phenomena: there is udev warning in boot process
        tar: can't open '/etc/dev.tar': Read-only file system

The reason is that the init script /etc/rcS.d/S04udev will try to tar the /dev as cache to speed up udev at next boot time. Unfortunately, S04udev is too early and the filesystem is not writable yet.

To fix it, this patch split the cache action to another init script, and register it as /etc/rcS.d/S36, which is after the S35mountall, and the filesystem is already writable.

Signed-off-by: Yu Ke <ke.yu@intel.com>
This commit is contained in:
Yu Ke 2010-06-09 12:04:51 +01:00 committed by Joshua Lock
parent efc47a8999
commit 1c803f3ffb
11 changed files with 36 additions and 11 deletions

View File

@ -0,0 +1,20 @@
#!/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
[ -d /sys/class ] || exit 1
[ -r /proc/mounts ] || exit 1
[ -x /sbin/udevd ] || exit 1
if [ ! -e /etc/dev.tar ]; then
(cd /; tar cf /etc/dev.tar /dev)
fi
exit 0

View File

@ -42,7 +42,6 @@ kill_udevd > "/dev/null" 2>&1
else
/sbin/udevtrigger
/sbin/udevsettle
(cd /; tar cf /etc/dev.tar /dev)
fi
echo

View File

@ -53,7 +53,6 @@ kill_udevd > "/dev/null" 2>&1
else
/sbin/udevadm trigger
/sbin/udevadm settle
(cd /; tar cf /etc/dev.tar /dev)
fi
echo

View File

@ -53,7 +53,6 @@ kill_udevd > "/dev/null" 2>&1
else
/sbin/udevadm trigger
/sbin/udevadm settle
(cd /; tar cf /etc/dev.tar /dev)
fi
echo

View File

@ -53,7 +53,6 @@ kill_udevd > "/dev/null" 2>&1
else
/sbin/udevadm trigger
/sbin/udevadm settle
(cd /; tar cf /etc/dev.tar /dev)
fi
echo

View File

@ -10,20 +10,25 @@ SRC_URI += " \
file://mount.sh \
file://network.sh \
file://local.rules \
file://udev-cache \
file://init"
UDEV_DEVFS_RULES ?= "0"
PACKAGES =+ "udev-utils libvolume-id"
PACKAGES =+ "udev-utils libvolume-id udev-cache"
FILES_udev-utils = "${usrbindir}/udevinfo ${usrbindir}/udevtest"
FILES_libvolume-id = "${base_libdir}/libvolume_id.so.*"
FILES_udev-cache = "${sysconfdir}/init.d/udev-cache"
RRECOMMENDS_${PN} = "udev-extraconf"
RRECOMMENDS_${PN} += "udev-extraconf udev-cache"
inherit update-rc.d autotools pkgconfig
INITSCRIPT_NAME = "udev"
INITSCRIPT_PARAMS = "start 04 S ."
INITSCRIPT_PACKAGES = "udev udev-cache"
INITSCRIPT_NAME_udev = "udev"
INITSCRIPT_PARAMS_udev = "start 04 S ."
INITSCRIPT_NAME_udev-cache = "udev-cache"
INITSCRIPT_PARAMS_udev-cache = "start 36 S ."
export CROSS = "${TARGET_PREFIX}"
export HOSTCC = "${BUILD_CC}"
@ -48,6 +53,7 @@ do_install () {
oe_runmake 'DESTDIR=${D}' INSTALL=install install
install -d ${D}${sysconfdir}/init.d
install -m 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/udev
install -m 0755 ${WORKDIR}/udev-cache ${D}${sysconfdir}/init.d/udev-cache
install -d ${D}${sysconfdir}/udev/rules.d/

View File

@ -31,6 +31,7 @@ do_install () {
oe_runmake 'DESTDIR=${D}' INSTALL=install install
install -d ${D}${sysconfdir}/init.d
install -m 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/udev
install -m 0755 ${WORKDIR}/udev-cache ${D}${sysconfdir}/init.d/udev-cache
install -d ${D}${sysconfdir}/udev/rules.d/

View File

@ -30,6 +30,7 @@ do_install () {
oe_runmake 'DESTDIR=${D}' INSTALL=install install
install -d ${D}${sysconfdir}/init.d
install -m 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/udev
install -m 0755 ${WORKDIR}/udev-cache ${D}${sysconfdir}/init.d/udev-cache
install -d ${D}${sysconfdir}/udev/rules.d/

View File

@ -31,6 +31,7 @@ do_install () {
oe_runmake 'DESTDIR=${D}' INSTALL=install install
install -d ${D}${sysconfdir}/init.d
install -m 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/udev
install -m 0755 ${WORKDIR}/udev-cache ${D}${sysconfdir}/init.d/udev-cache
install -d ${D}${sysconfdir}/udev/rules.d/

View File

@ -16,8 +16,6 @@ PACKAGE_ARCH_h2200 = "h2200"
require udev.inc
INITSCRIPT_PARAMS = "start 03 S ."
FILES_${PN} += "${base_libdir}/udev/*"
FILES_${PN}-dbg += "${base_libdir}/udev/.debug"
UDEV_EXTRAS = "extras/firmware/ extras/scsi_id/ extras/volume_id/"
@ -33,6 +31,7 @@ do_install () {
oe_runmake 'DESTDIR=${D}' INSTALL=install install
install -d ${D}${sysconfdir}/init.d
install -m 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/udev
install -m 0755 ${WORKDIR}/udev-cache ${D}${sysconfdir}/init.d/udev-cache
install -d ${D}${sysconfdir}/udev/rules.d/

View File

@ -31,6 +31,7 @@ do_install () {
oe_runmake 'DESTDIR=${D}' INSTALL=install install
install -d ${D}${sysconfdir}/init.d
install -m 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/udev
install -m 0755 ${WORKDIR}/udev-cache ${D}${sysconfdir}/init.d/udev-cache
install -d ${D}${sysconfdir}/udev/rules.d/
@ -64,4 +65,4 @@ do_install_append_h2200() {
do_stage () {
autotools_stage_all
}
}