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

randy.e.witt at linux.intel.com randy.e.witt at linux.intel.com
Fri Mar 6 06:01:18 UTC 2015


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

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