summaryrefslogtreecommitdiff
path: root/meta-google/recipes-phosphor/initrdscripts
diff options
context:
space:
mode:
Diffstat (limited to 'meta-google/recipes-phosphor/initrdscripts')
-rw-r--r--meta-google/recipes-phosphor/initrdscripts/obmc-phosphor-initfs.bbappend20
-rw-r--r--meta-google/recipes-phosphor/initrdscripts/obmc-phosphor-initfs/rwfs-clean-dev.patch29
-rw-r--r--meta-google/recipes-phosphor/initrdscripts/obmc-phosphor-initfs/whitelist6
-rw-r--r--meta-google/recipes-phosphor/initrdscripts/obmc-phosphor-initfs/whitelist.dev1
4 files changed, 56 insertions, 0 deletions
diff --git a/meta-google/recipes-phosphor/initrdscripts/obmc-phosphor-initfs.bbappend b/meta-google/recipes-phosphor/initrdscripts/obmc-phosphor-initfs.bbappend
new file mode 100644
index 000000000..905a39a48
--- /dev/null
+++ b/meta-google/recipes-phosphor/initrdscripts/obmc-phosphor-initfs.bbappend
@@ -0,0 +1,20 @@
+# This is needed to guarantee that our whitelist takes
+# precendence over the OpenBMC one
+FILESEXTRAPATHS_prepend_gbmc := "${THISDIR}/${PN}:"
+
+SRC_URI_append_gbmc_dev = " file://whitelist.dev"
+
+do_install_append_gbmc_dev() {
+ cat ${WORKDIR}/whitelist.dev >>${D}/whitelist
+}
+
+SRC_URI_append_gbmc_dev = " file://rwfs-clean-dev.patch"
+# Required for the clean-dev patch to detect version changes
+RDEPENDS_${PN}_append_gbmc_dev = " os-release"
+
+do_install_append_gbmc_prod() {
+ echo "clean-rwfs-filesystem" > ${D}/init-options-base
+ chmod 0644 ${D}/init-options-base
+}
+
+FILES_${PN}_append_gbmc_prod = " /init-options-base"
diff --git a/meta-google/recipes-phosphor/initrdscripts/obmc-phosphor-initfs/rwfs-clean-dev.patch b/meta-google/recipes-phosphor/initrdscripts/obmc-phosphor-initfs/rwfs-clean-dev.patch
new file mode 100644
index 000000000..7631c85ce
--- /dev/null
+++ b/meta-google/recipes-phosphor/initrdscripts/obmc-phosphor-initfs/rwfs-clean-dev.patch
@@ -0,0 +1,29 @@
+diff --git a/meta-phosphor/recipes-phosphor/initrdscripts/files/obmc-init.sh b/meta-phosphor/recipes-phosphor/initrdscripts/files/obmc-init.sh
+index 62be89f039..689fbea5bf 100644
+--- a/obmc-init.sh
++++ b/obmc-init.sh
+@@ -275,6 +275,14 @@ then
+ fi
+ fi
+
++# Ensure that we clean our rwfs on version change
++if mount $rwdev $rwdir -t $rwfst -o $rwopts; then
++ if ! cmp "$rwdir"/os-release /etc/os-release 2>/dev/null; then
++ echo "RWFS from older BMC version, cleaning"
++ touch $trigger
++ fi
++ umount "$rwdir"
++fi
+ if grep -w clean-rwfs-filesystem $optfile
+ then
+ echo "Cleaning of read-write overlay filesystem requested."
+@@ -399,6 +407,9 @@ HERE
+ debug_takeover "$msg"
+ fi
+
++# Keep track of the last version to use this rwfs
++cp /etc/os-release "$rwdir"/os-release
++
+ rm -rf $work
+ mkdir -p $upper $work
+
diff --git a/meta-google/recipes-phosphor/initrdscripts/obmc-phosphor-initfs/whitelist b/meta-google/recipes-phosphor/initrdscripts/obmc-phosphor-initfs/whitelist
new file mode 100644
index 000000000..a2244cca8
--- /dev/null
+++ b/meta-google/recipes-phosphor/initrdscripts/obmc-phosphor-initfs/whitelist
@@ -0,0 +1,6 @@
+/etc/dropbear/dropbear_rsa_host_key
+/etc/hostname
+/etc/machine-id
+/etc/systemd/network
+/var/google
+/var/lib/phosphor-inventory-manager
diff --git a/meta-google/recipes-phosphor/initrdscripts/obmc-phosphor-initfs/whitelist.dev b/meta-google/recipes-phosphor/initrdscripts/obmc-phosphor-initfs/whitelist.dev
new file mode 100644
index 000000000..89dd3bb6d
--- /dev/null
+++ b/meta-google/recipes-phosphor/initrdscripts/obmc-phosphor-initfs/whitelist.dev
@@ -0,0 +1 @@
+/home/root