[Buildroot] [PATCH 16/20] system: separate sysv and systemd parts of the skeleton
Yann E. MORIN
yann.morin.1998 at free.fr
Sun Jul 23 10:24:53 UTC 2017
Arnout, All,
On 2017-07-23 02:08 +0200, Arnout Vandecappelle spake thusly:
> On 18-07-17 19:25, Yann E. MORIN wrote:
> > systems does not like that the content of /var be symlinks to /tmp,
> systemd
>
> > especially journald that starts before /tmp is mounted, and thus the
> > journal files are hidden from view, which causes wuite a bit if fuss...
> quite
> >
> > Instead, move the current /var to a sysv-only skeleton.
> >
> > systemd at install time will create the /var content it needs, so we
>
> I guess systemd will also create a tmpfs on /var?
No it does not. But so far we do not support systemd on a read-only
root filesystem anyway (see the depends on for systemd).
In a later patch, we add support for a read-only rootfs, and then we add
an explicit tmpfs mont on /var, which systemd does not do on its own,
which is the reason for 886f3109bc (system: systemd only really supports
a R/W rootfs)
> > just create an empty /var for systemd. Yet, systemd really requires a
> > bunch of extra directories to exist, so we also create those.
> >
> > Signed-off-by: "Yann E. MORIN" <yann.morin.1998 at free.fr>
> > Cc: Maxime Hadjinlian <maxime.hadjinlian at gmail.com>
>
> Commit message needs to be improved (see also below), but with that
> Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout at mind.be>
>
> >
> > ---
> > Note: /home and /srv will be created at runtime if missing, but it is
> > better to create them right now, to simplify supporting systemd on a
> > RO filesystem in the (near) future.
> > ---
> > package/skeleton-systemd/skeleton-systemd.mk | 7 +++++++
> > package/skeleton-sysv/skeleton-sysv.mk | 4 ++++
> > {system => package/skeleton-sysv}/skeleton/dev/log | 0
> > {system => package/skeleton-sysv}/skeleton/dev/pts/.empty | 0
> > {system => package/skeleton-sysv}/skeleton/dev/shm/.empty | 0
>
> I guess indeed the /dev stuff is not needed for systemd because there is anyway
> a devtmpfs mounted over it. Which makes me wonder: shouldn't these be moved to
> the device-table? Only the static devices case needs these to be present... Of
> course, such a change is not for this patch, but I'd say that we can just leave
> this /dev stuff in the common part - systemd has no less use of it than sysv.
>
> > {system => package/skeleton-sysv}/skeleton/etc/fstab | 0
>
> Why? systemd does use fstab, so it seems weird not to have an fstab in the
> systemd case.
We do have one, it is created in the skeleton-systemd.mk file:
define SKELETON_SYSTEMD_INSTALL_TARGET_CMDS
mkdir -p $(TARGET_DIR)/home
mkdir -p $(TARGET_DIR)/srv
mkdir -p $(TARGET_DIR)/var
echo "/dev/root / auto rw 0 1" >$(TARGET_DIR)/etc/fstab
endef
> Well, I guess our skeleton fstab doesn't contain anything relevant
> for systemd because all of that is handled already by tmpfiles.
Exactly.
> But the commit log should at least explain this.
Like so, maybe?
For systemd, we only ever need an entry for /, because all the rest
is totally irrelevant for systemd (it automatically mounts what it
needs where it needs it).
Regards,
Yann E. MORIN.
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
More information about the buildroot
mailing list