Skip to content

system: add option to handle /var as an overlayfs with r/o rootfs (branch yem/systemdify-var)

Yann E. MORIN buildroot 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v4 Latest3 patches 6 repliesIn review

Changes in v4 from the cover letter

- drop patches already applied
- split mounting the base tmpfs out of the service unit and into its own .mount unit
- rename the service unit to a more appropriate name
- update explanations on hos to provide one's own backing store instead of the tmpfs

Patches in v4 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/3system: introduce a choice for /var managementsystem/Config.in+19 -33 replies
2/3system: add option to use an overlayfs on /var on a r/o root w/ systemdpackage/skeleton-init-systemd/factory/var.mount package/skeleton-init-systemd/overlayfs/prepare-var-overlay.service package/skeleton-init-systemd/overlayfs/run-buildroot-mounts-var.mount +3 more+89 -102 replies
3/3support/testing: add systemd tests for factory and overlayfssupport/testing/conf/overlayfs-kernel-fragment.config support/testing/tests/init/systemd-overlay/usr/lib/systemd/system/run-buildroot-mounts-var.mount.d/base.conf support/testing/tests/init/test_systemd.py+203 -90 replies

Reviews trailers per patch

1 of 3 patches has a Reviewed-by or Acked-by.

PatchNorbert Lange
1/3A-b
2/3Co-authored-by
3/3

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v4 thread

Cover letter [Buildroot] [PATCH 0/3 v4] system: add option to handle /var as an overlayfs with r/o rootfs (branch yem/systemdify-var)

Hello All!

This three-patch series introduces an alternate option to handle /var as an overlayfs, when using a read-only rootfs with systemd.

The rationale behind wanting to use an overlayfs rather than the factory we used to create so far, is that in some corner-cases, the factory does not work, and can't easily be fixed (mesmerising hand-waving...), while the overlayfs Just-Works™ (at the expense of a little trickery at runtime).

This series would not have been entirely possible without the input from Norbert, who provided the basis for the overlayfs-based solution, and explanations on how things fit together in a systemd system. Thanks!

Changes v3 -> v4:
- drop patches already applied
- split mounting the base tmpfs out of the service unit and into its own .mount unit
- rename the service unit to a more appropriate name
- update explanations on hos to provide one's own backing store instead of the tmpfs

Changes v2 -> v3:
- introduce the overlayfs-based proposal from Norbert
- some rewording
- some typo fixes (yah, Yann being Yann being me...)

Changes v1 -> v2:
- split Yann@work initial patch into the first two patch
- move the systemd-tmpfile handling to the skeleton
- introduce options to enable/disable factory or systemd-tmpfiles

Regards,
Yann E. MORIN.

----------------------------------------------------------------
Yann E. MORIN (3):
system: introduce a choice for /var management
system: add option to use an overlayfs on /var on a r/o root w/ systemd support/testing: add systemd tests for factory and overlayfs

 .../skeleton-init-systemd/{ => factory}/var.mount  |   0
 .../overlayfs/prepare-var-overlay.service          |  19 ++
 .../overlayfs/run-buildroot-mounts-var.mount       |  12 ++
 package/skeleton-init-systemd/overlayfs/var.mount  |  14 ++
 .../skeleton-init-systemd/skeleton-init-systemd.mk |  28 ++-
 .../testing/conf/overlayfs-kernel-fragment.config  |   1 +
 .../run-buildroot-mounts-var.mount.d/base.conf     |   2 +
 support/testing/tests/init/test_systemd.py         | 209 ++++++++++++++++++++-
 system/Config.in                                   |  48 ++++-
 9 files changed, 311 insertions(+), 22 deletions(-)
 rename package/skeleton-init-systemd/{ => factory}/var.mount (100%)
 create mode 100644 package/skeleton-init-systemd/overlayfs/prepare-var-overlay.service
 create mode 100644 package/skeleton-init-systemd/overlayfs/run-buildroot-mounts-var.mount
 create mode 100644 package/skeleton-init-systemd/overlayfs/var.mount
 create mode 100644 support/testing/conf/overlayfs-kernel-fragment.config
 create mode 100644 support/testing/tests/init/systemd-overlay/usr/lib/systemd/system/run-buildroot-mounts-var.mount.d/base.conf
Signature · 10 lines
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot