[systemd-devel] systemd-repart /etc automount via discoverable partition specification
Lennart Poettering
lennart at poettering.net
Mon Sep 11 08:54:08 UTC 2023
On So, 10.09.23 00:33, Nils Kattenbeck (nilskemail at gmail.com) wrote:
> Hello, I am currently trying to build a linux image with discoverable
> partitions in an A/B+etc+var scheme.
The discoverable partition scheme has no concept of /etc/ discovery. It
focusses on three basic setups:
1. writable root fs that contains /etc/, /var/ and /usr/ directly.
2. writable root fs that contains /etc/ and /var/ and gets an
immutable /usr/ mounted in
3. immutable root fs that contains /etc/ and /usr/ directly and gets a
writable /var/ mounted in. (the latter possibly as tmpfs, for truly
stateless systems)
It was out assumption that these three cases should cover most
intended behaviours nicely, i.e. systems with modifiable config, code
and state. systems with modifiable config and state, but immutable
code. And finally systems with immutable config and code, but
modifiable state.
A system where /etc/ was separate from the root fs is not covered by
the above, because it is not clear what that would get us. if you want
it immutable, why not stick it on an immutable root fs. And if you
want it writable, why not stick it on a writable root fs directly?
The design of saying "/etc/ is always part of the rootfs" is also
reflecting the fact that /etc/fstab is the map of secondary file
systems to mount, i.e. it generally contains references to other file
systems that take precedence over the discoverable partition spec, and
hence it is crucial that we place it on the first item in the chain so
that we can take it into account before looking for other items in the
chain.
> I know that /usr and /var have a
> corresponding partition UUID for automatically mounting them as per
> DPS. However, I am not sure how to mount the /etc partition? Do I have
> to specify it as the root partition and exclude /usr and /var in it?
> Any help would be appreciated.
If you want /etc/ split off, then the discoverable partition spec
won't help you: you have to mount it explicitly from your initrd.
Lennart
--
Lennart Poettering, Berlin
More information about the systemd-devel
mailing list