[yocto] /var/volatile not mounted as tmpfs on read-only rootfs when migrating to Warrior

Stelling2 Carsten Carsten.Stelling2 at goerlitz.com
Fri Aug 2 11:28:58 PDT 2019


Hi Ryan,

Regarding to timesyncd, have a look at https://wiki.archlinux.org/index.php/systemd-timesyncd, especially the section
“Note: The service writes to a local file /var/lib/systemd/timesync/clock with every synchronization.
This location is hard-coded and cannot be changed. This may be problematic for running off
read-only root partition or trying to minimize writes to an SD card.”

See also https://github.com/systemd/systemd/issues/5610 for your problem with systemd-resolved.
According to this, /var, /var/tmp, /run, and /tmp should be writable.

I think the problem is not Yocto specific, but possibly I overlook something.

Best regards,

Carsten

Von: yocto-bounces at yoctoproject.org [mailto:yocto-bounces at yoctoproject.org] Im Auftrag von Ryan Harkin
Gesendet: Freitag, 2. August 2019 13:09
An: yocto at yoctoproject.org
Cc: openembedded
Betreff: [yocto] /var/volatile not mounted as tmpfs on read-only rootfs when migrating to Warrior

Hi,

I have a working system based on Sumo. The system boots with a read-only rootfs, then applies are read-write overlay for /etc.

When I migrate to Warrior, systemd-resolved fails to start. If I mount the same rootfs via NFS, it starts and works fine.  systemd-timesyncd is also failing, but I haven't looked into that yet. It also works fine on the NFS mounted system.

The resolve problem seems to be caused by two things:
    - /var/volatile is read-only
    - /run/systemd/resolve has the wrong ownership
      drwxr-xr-x  2 systemd-network systemd-journal  80 Jul 12 16:23 resolve/
      I think this permissions problem may be a result of the /var/volatile mounting
      problems; it looks fine on the NFS mounted system.

If I manually mount /var/volatile (it's in fstab) and change the ownership on /run/systemd/resolve, the service starts just fine.

I also notice that /tmp is not mounted at all, which may be related.

Here are the various tmp mount points on my read-only rootfs:

$ mount | grep tmp
devtmpfs on /dev type devtmpfs (rw,nosuid,size=112036k,nr_inodes=28009,mode=755)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
tmpfs on /run type tmpfs (rw,nosuid,nodev,mode=755)
tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,mode=755)
overlay on /etc type overlay (rw,relatime,lowerdir=/tmp/lower/etc,upperdir=/tmp/upper/etc,workdir=/tmp/upper/work/etc)
tmpfs on /run/user/0 type tmpfs (rw,nosuid,nodev,relatime,size=23840k,mode=700)

On the NFS mounted system, I see these:

$ mount | grep tmp
devtmpfs on /dev type devtmpfs (rw,relatime,size=118180k,nr_inodes=29545,mode=755)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
tmpfs on /run type tmpfs (rw,nosuid,nodev,mode=755)
tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,mode=755)
tmpfs on /tmp type tmpfs (rw,nosuid,nodev)
tmpfs on /var/volatile type tmpfs (rw,relatime)
tmpfs on /run/user/0 type tmpfs (rw,nosuid,nodev,relatime,size=23840k,mode=700)

As you can see, NFS has these extra mounts:

tmpfs on /tmp type tmpfs (rw,nosuid,nodev)
tmpfs on /var/volatile type tmpfs (rw,relatime)

I've tried reverting a few commits that may be related, but I haven't had any luck working out things have changed, eg:

c4acf1b531  2018-10-19  volatile-binds: use overlayfs if available                      [Matt Hoosier]

Advice would be appreciated. Are there any particular areas I should be looking to work out what's going wrong?

Kind regards,
Ryan.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.yoctoproject.org/pipermail/yocto/attachments/20190802/f4291591/attachment.html>


More information about the yocto mailing list