[oe] [PATCH V2] var/volatile: Mount it if doing ro-rfs

Martin Jansa martin.jansa at gmail.com
Wed Mar 11 17:53:12 UTC 2015


On Wed, Mar 11, 2015 at 03:59:52PM +0000, Khem Raj wrote:
> - Do not mount /var/volatile to be tmpfs always only when generating
>   readonly rootfs
> - Generate var-volatile.mount unit when using system in readonly-rootfs
>   to mount /var/volatile as tmpfs
> - for sysvinit, mount /var/volatile to be tmpfs if its not already
>   mounted so
> - Use RequiresMountsFor instead of After=, so systemd figures out the
>   needed dependencies for making /var/volatile accessible for journald
>   and not us.

Wrong ML :)

> 
> Change-Id: I0b176b3e1c1e88e84d2c93154aac04cef565d8ea
> Signed-off-by: Khem Raj <raj.khem at gmail.com>
> ---
>  meta/classes/image.bbclass                                             | 1 +
>  meta/recipes-core/base-files/base-files/fstab                          | 1 -
>  meta/recipes-core/initscripts/initscripts-1.0/read-only-rootfs-hook.sh | 2 +-
>  meta/recipes-core/systemd/systemd/journald-volatile.conf               | 2 +-
>  4 files changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass
> index 89eb5f3..818af86 100644
> --- a/meta/classes/image.bbclass
> +++ b/meta/classes/image.bbclass
> @@ -228,6 +228,7 @@ read_only_rootfs_hook () {
>  	fi
>  
>  	if ${@bb.utils.contains("DISTRO_FEATURES", "systemd", "true", "false", d)}; then
> +	    sed -e 's#/tmp#/var/volatile#g' ${IMAGE_ROOTFS}/lib/systemd/system/tmp.mount > ${IMAGE_ROOTFS}/lib/systemd/system/var-volatile.mount
>  	    # Update user database files so that services don't fail for a read-only systemd system
>  	    for conffile in ${IMAGE_ROOTFS}/usr/lib/sysusers.d/systemd.conf ${IMAGE_ROOTFS}/usr/lib/sysusers.d/systemd-remote.conf; do
>  		[ -e $conffile ] || continue
> diff --git a/meta/recipes-core/base-files/base-files/fstab b/meta/recipes-core/base-files/base-files/fstab
> index 739b844..56b14d7 100644
> --- a/meta/recipes-core/base-files/base-files/fstab
> +++ b/meta/recipes-core/base-files/base-files/fstab
> @@ -5,7 +5,6 @@ proc                 /proc                proc       defaults              0  0
>  devpts               /dev/pts             devpts     mode=0620,gid=5       0  0
>  usbdevfs             /proc/bus/usb        usbdevfs   noauto                0  0
>  tmpfs                /run                 tmpfs      mode=0755,nodev,nosuid,strictatime 0  0
> -tmpfs                /var/volatile        tmpfs      defaults              0  0
>  
>  # uncomment this if your device has a SD/MMC/Transflash slot
>  #/dev/mmcblk0p1       /media/card          auto       defaults,sync,noauto  0  0
> diff --git a/meta/recipes-core/initscripts/initscripts-1.0/read-only-rootfs-hook.sh b/meta/recipes-core/initscripts/initscripts-1.0/read-only-rootfs-hook.sh
> index 1a0328d..3ff39f4 100644
> --- a/meta/recipes-core/initscripts/initscripts-1.0/read-only-rootfs-hook.sh
> +++ b/meta/recipes-core/initscripts/initscripts-1.0/read-only-rootfs-hook.sh
> @@ -29,7 +29,7 @@ is_on_read_only_partition () {
>  
>  if [ "$1" = "start" ] ; then
>  	if [ `is_on_read_only_partition /var/lib` = "yes" ]; then
> -		grep -q "tmpfs /var/volatile" /proc/mounts || mount /var/volatile
> +		grep -q "tmpfs /var/volatile" /proc/mounts || mount -t tmpfs -o strictatime tmpfs /var/volatile
>  		mkdir -p /var/volatile/lib
>  		cp -a /var/lib/* /var/volatile/lib
>  		mount --bind /var/volatile/lib /var/lib
> diff --git a/meta/recipes-core/systemd/systemd/journald-volatile.conf b/meta/recipes-core/systemd/systemd/journald-volatile.conf
> index b11e160..9356a4e 100644
> --- a/meta/recipes-core/systemd/systemd/journald-volatile.conf
> +++ b/meta/recipes-core/systemd/systemd/journald-volatile.conf
> @@ -3,4 +3,4 @@
>  # /var/log -> /var/volatile/log. And if the journal starts before the mount
>  # happens, the journal will appear empty until restarted.
>  [Unit]
> -After=var-volatile.mount
> +RequiresMountsFor=/var/volatile
> -- 
> 2.1.4
> 
> -- 
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel at lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-devel

-- 
Martin 'JaMa' Jansa     jabber: Martin.Jansa at gmail.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <http://lists.openembedded.org/pipermail/openembedded-devel/attachments/20150311/847d34b0/attachment-0002.sig>


More information about the Openembedded-devel mailing list