[OE-core] [PATCH] systemd: Fix the problem of an empty journal on boot

Khem Raj raj.khem at gmail.com
Fri Mar 6 09:18:40 UTC 2015


> On Mar 5, 2015, at 10:01 PM, randy.e.witt at linux.intel.com wrote:
> 
>> On Mar 5, 2015 6:13 PM, "Randy Witt" <randy.e.witt at linux.intel.com> wrote:
>>> 
>>> 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.
>>> 
>> 
>> What happens if folks have a different fstab then default? Will it still
>> work
> 
> Yes, the "After" only changes behavior if something else has caused
> var-volatile.mount to be in the set of services to be started.
> 
> I verified that was the case by removing /var/volatile from /etc/fstab and
> the journal still starts with no errors.

perfect thanks. I will test it out in few hrs myself.

> 
>>> [Yocto #7388]
>>> 
>>> Signed-off-by: Randy Witt <randy.e.witt at linux.intel.com>
>>> ---
>>> meta/recipes-core/systemd/systemd/journald-volatile.conf | 6 ++++++
>>> meta/recipes-core/systemd/systemd_219.bb                 | 2 ++
>>> 2 files changed, 8 insertions(+)
>>> create mode 100644
>> meta/recipes-core/systemd/systemd/journald-volatile.conf
>>> 
>>> 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 3c4b6cf..2be66af 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"
>>> @@ -143,6 +144,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
>>> --
>>> 1.9.3
>>> 
>>> --
>>> _______________________________________________
>>> Openembedded-core mailing list
>>> Openembedded-core at lists.openembedded.org
>>> http://lists.openembedded.org/mailman/listinfo/openembedded-core




More information about the Openembedded-core mailing list