mirror of
https://git.yoctoproject.org/poky
synced 2026-06-02 13:29:49 +00:00
image.bbclass: add a hook funtion to support readonly rootfs
read_only_rootfs_hook: this funtion is invoked only if 'read-only-rootfs' is in IMAGE_FEATURES. It tweaks some basic files and makes populate- volatile.sh script run at rootfs time. For now, it has real effect only if the init system is sysvinit. [YOCTO #3406] (From OE-Core rev: cae51a169e37b54becc08162aaa643acd53ffe2f) Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
@@ -224,6 +224,24 @@ run_intercept_scriptlets () {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# A hook function to support read-only-rootfs IMAGE_FEATURES
|
||||||
|
# Currently, it only supports sysvinit system.
|
||||||
|
read_only_rootfs_hook () {
|
||||||
|
if ${@base_contains("DISTRO_FEATURES", "sysvinit", "true", "false", d)}; then
|
||||||
|
# Tweak the mount option and fs_passno for rootfs in fstab
|
||||||
|
sed -i -e '/^[#[:space:]]*rootfs/{s/defaults/ro/;s/\([[:space:]]*[[:digit:]]\)\([[:space:]]*\)[[:digit:]]$/\1\20/}' ${IMAGE_ROOTFS}/etc/fstab
|
||||||
|
# Change the value of ROOTFS_READ_ONLY in /etc/default/rcS to yes
|
||||||
|
if [ -e ${IMAGE_ROOTFS}/etc/default/rcS ]; then
|
||||||
|
sed -i 's/ROOTFS_READ_ONLY=no/ROOTFS_READ_ONLY=yes/' ${IMAGE_ROOTFS}/etc/default/rcS
|
||||||
|
fi
|
||||||
|
# Run populate-volatile.sh at rootfs time to set up basic files
|
||||||
|
# and directories to support read-only rootfs.
|
||||||
|
if [ -x ${IMAGE_ROOTFS}/etc/init.d/populate-volatile.sh ]; then
|
||||||
|
${IMAGE_ROOTFS}/etc/init.d/populate-volatile.sh
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
fakeroot do_rootfs () {
|
fakeroot do_rootfs () {
|
||||||
#set -x
|
#set -x
|
||||||
# When use the rpm incremental image generation, don't remove the rootfs
|
# When use the rpm incremental image generation, don't remove the rootfs
|
||||||
|
|||||||
Reference in New Issue
Block a user