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