summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeremy Kerr <jk@ozlabs.org>2013-06-21 10:43:49 +0800
committerJeremy Kerr <jk@ozlabs.org>2013-06-24 13:07:58 +0800
commited6021ebefa8b56604cdbb23a1c38008ed88b8c7 (patch)
treeb1f135f9a5e2d6ceaf9849e96b873f40deb67468
parentaaa1de0046295cfd1f7a5428f399a5d1f9e1e563 (diff)
downloadtalos-petitboot-ed6021ebefa8b56604cdbb23a1c38008ed88b8c7.tar.gz
talos-petitboot-ed6021ebefa8b56604cdbb23a1c38008ed88b8c7.zip
utils/hooks: Add sample update-dtb hook.
Provide an example for writing a pre-boot hook to update the dtb. Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
-rw-r--r--utils/Makefile.am3
-rw-r--r--utils/hooks/20-update-dtb-sample22
2 files changed, 24 insertions, 1 deletions
diff --git a/utils/Makefile.am b/utils/Makefile.am
index c1ff586..6758d68 100644
--- a/utils/Makefile.am
+++ b/utils/Makefile.am
@@ -31,6 +31,7 @@ dist_pkgdata_DATA = \
kboot.conf.sample \
bb-kexec-reboot \
logrotate.conf \
- hooks/01-create-default-dtb
+ hooks/01-create-default-dtb \
+ hooks/20-update-dtb-sample
MAINTAINERCLEANFILES = Makefile.in
diff --git a/utils/hooks/20-update-dtb-sample b/utils/hooks/20-update-dtb-sample
new file mode 100644
index 0000000..44186a9
--- /dev/null
+++ b/utils/hooks/20-update-dtb-sample
@@ -0,0 +1,22 @@
+#!/bin/sh
+#
+# This is a sample boot hook to add a single property to the new kernel's
+# device tree.
+
+[ -z "$boot_dtb" ] && exit
+
+dtb_in=$boot_dtb
+dtb_out=$(mktemp)
+
+# Convert the dtb to dts, append our extra property, and convert back to dtb
+(
+ dtc -I dtb -O dts $dtb_in
+ echo '/ { petitboot,test = "test"; };'
+) | dtc -I dts -O dtb -o $dtb_out
+
+# If we have a good dtb (ie, the compile succeeded), replace the existing
+# dtb file.
+if [ $? = 0 ]
+then
+ mv $dtb_out $dtb_in
+fi
OpenPOWER on IntegriCloud