summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRaptor Engineering Development Team <support@raptorengineering.com>2018-05-12 01:30:16 -0500
committerRaptor Engineering Development Team <support@raptorengineering.com>2019-04-26 07:54:47 +0000
commit258d21b73d5a04341f425a6d301a269ffb9e5121 (patch)
treef61819941d3c4f87e7560596688f1e2967750bcb
parent645f382fcf3db629b72647433db355e9dc661026 (diff)
downloadtalos-op-build-258d21b73d5a04341f425a6d301a269ffb9e5121.tar.gz
talos-op-build-258d21b73d5a04341f425a6d301a269ffb9e5121.zip
Add support for external boot kernel firmware in dedicated partition
-rwxr-xr-xopenpower/overlay/etc/init.d/S10udev1
-rwxr-xr-xopenpower/overlay/sbin/mount_fw_partition16
2 files changed, 17 insertions, 0 deletions
diff --git a/openpower/overlay/etc/init.d/S10udev b/openpower/overlay/etc/init.d/S10udev
index fd8179ea..ac44a89d 100755
--- a/openpower/overlay/etc/init.d/S10udev
+++ b/openpower/overlay/etc/init.d/S10udev
@@ -27,6 +27,7 @@ test -r $UDEV_CONFIG || exit 6
case "$1" in
start)
+ /sbin/mount_fw_partition
printf "Populating ${udev_root:-/dev} using udev: "
printf '\000\000\000\000' > /proc/sys/kernel/hotplug
$UDEV_BIN -d || (echo "FAIL" && exit 1)
diff --git a/openpower/overlay/sbin/mount_fw_partition b/openpower/overlay/sbin/mount_fw_partition
new file mode 100755
index 00000000..8ef82c78
--- /dev/null
+++ b/openpower/overlay/sbin/mount_fw_partition
@@ -0,0 +1,16 @@
+#!/bin/sh
+#
+# Copyright © 2018 Raptor Engineering, LLC
+# Released under the GNU GPL v3
+
+set +e
+
+logger "Mounting boot kernel firmware partition"
+/sbin/modprobe powernv_flash 2>&1 | logger
+/sbin/modprobe mtdblock 2>&1 | logger
+/bin/mount -t squashfs -o ro $(cat /proc/mtd | grep BOOTKERNFW | awk '{print "/dev/"$1}' | sed 's/://g' | sed 's/mtd/mtdblock/g') /lib/firmware 2>&1 | logger
+logger "Firmware partition contents:"
+ls -lR /lib/firmware | logger
+
+# Always return success
+exit 0
OpenPOWER on IntegriCloud