[oe-commits] Randy Witt : systemd: Fix the problem of an empty journal on boot

git at git.openembedded.org git at git.openembedded.org
Mon Mar 9 17:59:42 UTC 2015


Module: openembedded-core.git
Branch: master-next
Commit: 17e8595af2041cfd63adf73b344f7ccad3db7e01
URL:    http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=17e8595af2041cfd63adf73b344f7ccad3db7e01

Author: Randy Witt <randy.e.witt at linux.intel.com>
Date:   Thu Mar  5 18:11:46 2015 -0800

systemd: Fix the problem of an empty journal on boot

systemd by default tries to write the journal to /var/log/journal.
But base-files has a symlink /var/log -> /var/volatile/log. And
/var/volatile is a tmpfs mount in /etc/fstab.

If the journal service started before /var/volatile was mounted (which
was the typical scenario) then the journal would appear empty since
the old location was mounted over.

This change fixes the problem by ensuring that the journal doesn't start
until after the mount happens.

[Yocto #7388]

Signed-off-by: Randy Witt <randy.e.witt at linux.intel.com>
Signed-off-by: Ross Burton <ross.burton at intel.com>

---

 meta/recipes-core/systemd/systemd/journald-volatile.conf | 6 ++++++
 meta/recipes-core/systemd/systemd_219.bb                 | 2 ++
 2 files changed, 8 insertions(+)

diff --git a/meta/recipes-core/systemd/systemd/journald-volatile.conf b/meta/recipes-core/systemd/systemd/journald-volatile.conf
new file mode 100644
index 0000000..b11e160
--- /dev/null
+++ b/meta/recipes-core/systemd/systemd/journald-volatile.conf
@@ -0,0 +1,6 @@
+# If /var/volatile is a mount point then make sure to mount it before
+# the journal starts. This is because base-files creates a symlink
+# /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
diff --git a/meta/recipes-core/systemd/systemd_219.bb b/meta/recipes-core/systemd/systemd_219.bb
index 5f58f40..d5eed08 100644
--- a/meta/recipes-core/systemd/systemd_219.bb
+++ b/meta/recipes-core/systemd/systemd_219.bb
@@ -48,6 +48,7 @@ SRC_URI = "git://anongit.freedesktop.org/systemd/systemd;branch=master;protocol=
            file://00-create-volatile.conf \
            file://init \
            file://run-ptest \
+           file://journald-volatile.conf \
           "
 
 S = "${WORKDIR}/git"
@@ -144,6 +145,7 @@ do_install() {
 	install -m 0644 ${WORKDIR}/*.rules ${D}${sysconfdir}/udev/rules.d/
 
 	install -m 0644 ${WORKDIR}/00-create-volatile.conf ${D}${sysconfdir}/tmpfiles.d/
+	install -D -m 0644 ${WORKDIR}/journald-volatile.conf ${D}${systemd_unitdir}/system/systemd-journald.service.d/journald-volatile.conf
 
 	if ${@bb.utils.contains('DISTRO_FEATURES','sysvinit','true','false',d)}; then
 		install -d ${D}${sysconfdir}/init.d



More information about the Openembedded-commits mailing list