system: separate sysv and systemd parts of the skeleton

For systemd, we create a simple /etc/fstab with only an entry for /, as
systemd otherwise automatically mounts what it needs where it needs it.

systemd does not like that the content of /var be symlinks to /tmp,
especially journald that starts before /tmp is mounted, and thus the
journal files are hidden from view, which causes quite a bit of fuss...

Instead, move the current /var to a sysv-only skeleton.

systemd at install time will create the /var content it needs, so we
just create an empty /var for systemd.

systemd would create /home and /srv at runtime if they are missing, but
it is better to create them right now, to simplify supporting systemd on
a RO filesystem in the (near) future.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit is contained in:
Yann E. MORIN 2017-08-02 00:52:21 +02:00 committed by Thomas Petazzoni
parent c0fd0ac655
commit 76fc9275f1
14 changed files with 11 additions and 0 deletions

View File

@ -15,4 +15,11 @@ SKELETON_SYSTEMD_DEPENDENCIES = skeleton-common
SKELETON_SYSTEMD_PROVIDES = skeleton SKELETON_SYSTEMD_PROVIDES = skeleton
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
$(eval $(generic-package)) $(eval $(generic-package))

View File

@ -15,4 +15,8 @@ SKELETON_SYSV_DEPENDENCIES = skeleton-common
SKELETON_SYSV_PROVIDES = skeleton SKELETON_SYSV_PROVIDES = skeleton
define SKELETON_SYSV_INSTALL_TARGET_CMDS
$(call SYSTEM_RSYNC,$(SKELETON_SYSV_PKGDIR)/skeleton,$(TARGET_DIR))
endef
$(eval $(generic-package)) $(eval $(generic-package))

View File