summaryrefslogtreecommitdiffstats
path: root/meta-phosphor/recipes-phosphor/preinit-mounts
diff options
context:
space:
mode:
authorBrad Bishop <bradleyb@fuzziesquirrel.com>2018-08-31 06:25:51 -0400
committerBrad Bishop <bradleyb@fuzziesquirrel.com>2018-09-06 07:44:12 -0400
commitff075f6ee795a590b244d70a90cc312ba1f2d83d (patch)
treea617790bdbfdeef960665ba0242e1f0c93e5301a /meta-phosphor/recipes-phosphor/preinit-mounts
parent3e4da38c127bb7e7641adc2fc41f4c33744cb918 (diff)
downloadtalos-openbmc-ff075f6ee795a590b244d70a90cc312ba1f2d83d.tar.gz
talos-openbmc-ff075f6ee795a590b244d70a90cc312ba1f2d83d.zip
meta-phosphor: Move layer content from common/
Adopt a more conventional directory hierarchy. meta-phosphor is still a _long_ way from suitable for hosting on yoctoproject.org but things like this don't help. (From meta-phosphor rev: 471cfcefa74b8c7ceb704cb670e6d915cf27c63b) Change-Id: I3f106b2f6cdc6cec734be28a6090800546f362eb Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
Diffstat (limited to 'meta-phosphor/recipes-phosphor/preinit-mounts')
-rw-r--r--meta-phosphor/recipes-phosphor/preinit-mounts/preinit-mounts.bb22
-rw-r--r--meta-phosphor/recipes-phosphor/preinit-mounts/preinit-mounts/init19
2 files changed, 41 insertions, 0 deletions
diff --git a/meta-phosphor/recipes-phosphor/preinit-mounts/preinit-mounts.bb b/meta-phosphor/recipes-phosphor/preinit-mounts/preinit-mounts.bb
new file mode 100644
index 000000000..30e0f3613
--- /dev/null
+++ b/meta-phosphor/recipes-phosphor/preinit-mounts/preinit-mounts.bb
@@ -0,0 +1,22 @@
+inherit obmc-phosphor-license
+inherit allarch
+inherit update-alternatives
+
+RDEPENDS_${PN} += "${VIRTUAL-RUNTIME_base-utils}"
+
+SRC_URI += "file://init"
+
+FILES_${PN} += "${base_sbindir}/init"
+
+do_install() {
+ install -d ${D}/${base_sbindir}
+ install -m 0755 ${WORKDIR}/init ${D}/${base_sbindir}/preinit-mounts
+}
+
+ALTERNATIVE_${PN} = "init"
+ALTERNATIVE_TARGET[init] = "${base_sbindir}/preinit-mounts"
+ALTERNATIVE_LINK_NAME[init] = "${base_sbindir}/init"
+
+# Use a number higher than the systemd init alternative so that
+# ours is enabled instead.
+ALTERNATIVE_PRIORITY[init] ?= "400"
diff --git a/meta-phosphor/recipes-phosphor/preinit-mounts/preinit-mounts/init b/meta-phosphor/recipes-phosphor/preinit-mounts/preinit-mounts/init
new file mode 100644
index 000000000..91f8038f9
--- /dev/null
+++ b/meta-phosphor/recipes-phosphor/preinit-mounts/preinit-mounts/init
@@ -0,0 +1,19 @@
+#!/bin/sh
+
+if ! mount ubi0:rwfs /var -t ubifs -o defaults; then
+ if ! mount ubi0:rwfs /var -t ubifs -o defaults,ro; then
+ mount tmpfs /var -t tmpfs -o defaults
+ fi
+fi
+
+mkdir -p /var/persist/etc /var/persist/etc-work /var/persist/home/root
+
+rm -rf /var/persist/etc-work/*
+# rm -rf specifically skips . and .. directories; pipe all output to null to avoid the error message
+rm -rf /var/persist/etc-work/.* > /dev/null 2>&1
+
+if ! mount overlay /etc -t overlay -o defaults,lowerdir=/etc,upperdir=/var/persist/etc,workdir=/var/persist/etc-work; then
+ mount overlay /etc -t overlay -o defaults,lowerdir=/etc:/var/persist/etc
+fi
+
+exec /lib/systemd/systemd
OpenPOWER on IntegriCloud