Re: [OE-core] [PATCH] var/volatile: Mount it if doing ro-rfs

2015-03-11 Thread Khem Raj

 On Mar 11, 2015, at 7:53 AM, Khem Raj raj.k...@gmail.com wrote:
 
 
 
 On Wednesday, March 11, 2015, Richard Purdie 
 richard.pur...@linuxfoundation.org 
 mailto:richard.pur...@linuxfoundation.org wrote:
 On Wed, 2015-03-11 at 08:33 +, 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.k...@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
 

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] [PATCH] var/volatile: Mount it if doing ro-rfs

2015-03-11 Thread Richard Purdie
On Wed, 2015-03-11 at 08:33 +, 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.k...@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

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH] var/volatile: Mount it if doing ro-rfs

2015-03-11 Thread Khem Raj
- 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.k...@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 /procproc   defaults   
   0  0
 devpts   /dev/pts devpts mode=0620,gid=5   0  0
 usbdevfs /proc/bus/usbusbdevfs   noauto0  0
 tmpfs/run tmpfs  
mode=0755,nodev,nosuid,strictatime 0  0
-tmpfs/var/volatiletmpfs  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-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] [PATCH] var/volatile: Mount it if doing ro-rfs

2015-03-11 Thread Khem Raj
On Wednesday, March 11, 2015, Richard Purdie 
richard.pur...@linuxfoundation.org wrote:

 On Wed, 2015-03-11 at 08:33 +, 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.k...@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


-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core