فهرست منبع

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>
Yann E. MORIN 8 سال پیش
والد
کامیت
76fc9275f1

+ 7 - 0
package/skeleton-systemd/skeleton-systemd.mk

@@ -15,4 +15,11 @@ SKELETON_SYSTEMD_DEPENDENCIES = skeleton-common
 
 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))

+ 4 - 0
package/skeleton-sysv/skeleton-sysv.mk

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

+ 0 - 0
system/skeleton/dev/log → package/skeleton-sysv/skeleton/dev/log


+ 0 - 0
system/skeleton/dev/pts/.empty → package/skeleton-sysv/skeleton/dev/pts/.empty


+ 0 - 0
system/skeleton/dev/shm/.empty → package/skeleton-sysv/skeleton/dev/shm/.empty


+ 0 - 0
system/skeleton/etc/fstab → package/skeleton-sysv/skeleton/etc/fstab


+ 0 - 0
system/skeleton/var/cache → package/skeleton-sysv/skeleton/var/cache


+ 0 - 0
system/skeleton/var/lib/misc → package/skeleton-sysv/skeleton/var/lib/misc


+ 0 - 0
system/skeleton/var/lock → package/skeleton-sysv/skeleton/var/lock


+ 0 - 0
system/skeleton/var/log → package/skeleton-sysv/skeleton/var/log


+ 0 - 0
system/skeleton/var/run → package/skeleton-sysv/skeleton/var/run


+ 0 - 0
system/skeleton/var/spool → package/skeleton-sysv/skeleton/var/spool


+ 0 - 0
system/skeleton/var/tmp → package/skeleton-sysv/skeleton/var/tmp


+ 0 - 0
system/skeleton/dev/.empty