mirror of
https://git.busybox.net/buildroot.git
synced 2024-11-24 05:53:30 +08:00
3f79611b30
Currently, when one does not enable remounting the rootfs read-write, i.e. keep it read-only, for example because the filesystem is actually read-only by design, like squashfs, then two things happen: - we create a factory from the content of /var at build time, register tmpfiles entries for it, and mount a tmpfs on /var at runtime, so that systemd-tmpfiles does populate /var from the factory; this is only done when the rootfs is not remounted r/w; - we trigger systemd-tmpfiles at build time, which uses the tmpfiles db, of which our /var entries, to pre-populate the filesystem; this is always done, whether the rootfs is remounted r/w or not. Note that Buildroot mounts a tmpfs on /var, and leaves to the integrator to care for providing an actual filesystem, as there are too many variants and is very specific to each use-case. These two mechanisms are conflicting, semantically, but also technically: the files from the factory will be duplicated, but that may help in some situations when the actual /var filesystem is not mountable. In some cases, it might be preferable to have none, either, or both mechanisms enabled; it highly depends on the ultimate integration scheme chosen for a device. For example, some people will be very happy with a /var that is actually on a tmpfs and that it gets reseeded form scratch at every boot, while others may want to ensure that their system continue to work even when they can't mount something that makes /var writable. YMMV, as they used to say back in the day... So, we introduce two new options, in the system sub-menu, each to drive each mechanism. We default those options to y, to keep the previous behaviour by default, except the var factory is only available when the rootfs is not remounted r/w, as it were so far. We still hint in the help text that there might be some conflict between the two mechanisms, but since it has been that way for some time, it does not look too broken for most people. Since that introduces more options related to systemd being chosen as an init system, we gather those two options and the existing one inside a if-endif block, rather than adding more 'depends on' on each options. Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr> Cc: Norbert Lange <nolange79@gmail.com> Cc: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Cc: Romain Naour <romain.naour@smile.fr> Cc: Jérémy Rosen <jeremy.rosen@smile.fr> Cc: Yann E. MORIN <yann.morin@orange.com> Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr> |
||
---|---|---|
.. | ||
skeleton | ||
Config.in | ||
device_table_dev.txt | ||
device_table.txt | ||
system.mk |