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

Khem Raj raj.khem at gmail.com
Sat Mar 7 19:37:42 UTC 2015


On Fri, Mar 6, 2015 at 1:18 AM, Khem Raj <raj.khem at gmail.com> wrote:
>
>> 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.

for some reason, my console never comes up now. I am not sure if this
is the patch causing it. I will try to single it out.

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