All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] var/volatile: Mount it if doing ro-rfs
@ 2015-03-11  8:33 Khem Raj
  2015-03-11 10:19 ` Richard Purdie
  0 siblings, 1 reply; 4+ messages in thread
From: Khem Raj @ 2015-03-11  8:33 UTC (permalink / raw)
  To: openembedded-core

- 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.

Change-Id: I0b176b3e1c1e88e84d2c93154aac04cef565d8ea
Signed-off-by: Khem Raj <raj.khem@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..7e49e7a 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 -i -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



^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH] var/volatile: Mount it if doing ro-rfs
  2015-03-11  8:33 [PATCH] var/volatile: Mount it if doing ro-rfs Khem Raj
@ 2015-03-11 10:19 ` Richard Purdie
  2015-03-11 14:53   ` Khem Raj
  0 siblings, 1 reply; 4+ messages in thread
From: Richard Purdie @ 2015-03-11 10:19 UTC (permalink / raw)
  To: Khem Raj; +Cc: openembedded-core

On Wed, 2015-03-11 at 08:33 +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.
> 
> Change-Id: I0b176b3e1c1e88e84d2c93154aac04cef565d8ea
> Signed-off-by: Khem Raj <raj.khem@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(-)

Which combinations has this been tested with? Given the time the patch
has existed for, I'm sceptical all the combinations we need have been
tested, I'd love to be wrong. 

This is a pretty major change of behaviour and given the problems
previous changes have caused, I'm very very very nervous about what
issues this is going to cause :(.

Cheers,

Richard



^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] var/volatile: Mount it if doing ro-rfs
  2015-03-11 10:19 ` Richard Purdie
@ 2015-03-11 14:53   ` Khem Raj
  2015-03-11 16:05     ` Khem Raj
  0 siblings, 1 reply; 4+ messages in thread
From: Khem Raj @ 2015-03-11 14:53 UTC (permalink / raw)
  To: Richard Purdie; +Cc: openembedded-core@lists.openembedded.org

[-- Attachment #1: Type: text/plain, Size: 1520 bytes --]

On Wednesday, March 11, 2015, Richard Purdie <
richard.purdie@linuxfoundation.org> wrote:

> On Wed, 2015-03-11 at 08:33 +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.
> >
> > Change-Id: I0b176b3e1c1e88e84d2c93154aac04cef565d8ea
> > Signed-off-by: Khem Raj <raj.khem@gmail.com <javascript:;>>
> > ---
> >  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(-)
>
> Which combinations has this been tested with? Given the time the patch
> has existed for, I'm sceptical all the combinations we need have been
> tested, I'd love to be wrong.
>
> This is a pretty major change of behaviour and given the problems
> previous changes have caused, I'm very very very nervous about what
> issues this is going to cause :(.


Systemd in both ways but not sysvinit

>
> Cheers,
>
> Richard
>
>

[-- Attachment #2: Type: text/html, Size: 2180 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] var/volatile: Mount it if doing ro-rfs
  2015-03-11 14:53   ` Khem Raj
@ 2015-03-11 16:05     ` Khem Raj
  0 siblings, 0 replies; 4+ messages in thread
From: Khem Raj @ 2015-03-11 16:05 UTC (permalink / raw)
  To: Richard Purdie; +Cc: openembedded-core@lists.openembedded.org

[-- Attachment #1: Type: text/plain, Size: 1983 bytes --]


> On Mar 11, 2015, at 7:53 AM, Khem Raj <raj.khem@gmail.com> wrote:
> 
> 
> 
> On Wednesday, March 11, 2015, Richard Purdie <richard.purdie@linuxfoundation.org <mailto:richard.purdie@linuxfoundation.org>> wrote:
> On Wed, 2015-03-11 at 08:33 +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.
> >
> > Change-Id: I0b176b3e1c1e88e84d2c93154aac04cef565d8ea
> > Signed-off-by: Khem Raj <raj.khem@gmail.com <javascript:;>>
> > ---
> >  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(-)
> 
> Which combinations has this been tested with? Given the time the patch
> has existed for, I'm sceptical all the combinations we need have been
> tested, I'd love to be wrong.
> 
> This is a pretty major change of behaviour and given the problems
> previous changes have caused, I'm very very very nervous about what
> issues this is going to cause :(.
> 
> Systemd in both ways but not sysvinit 


Just when you think all is well, I just sent a V2, that seemed to work on x86 emulator, but due diligence is better I don’t have sysvinit setups, its fine if it doesn’t go in,
the fact that patch is out there folks can always back port after release. 

> 
> Cheers,
> 
> Richard
> 


[-- Attachment #2: Type: text/html, Size: 3642 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2015-03-11 16:06 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-03-11  8:33 [PATCH] var/volatile: Mount it if doing ro-rfs Khem Raj
2015-03-11 10:19 ` Richard Purdie
2015-03-11 14:53   ` Khem Raj
2015-03-11 16:05     ` Khem Raj

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.