From: Jeremy Kerr Date: Fri, 21 Jun 2013 02:43:49 +0000 (+0800) Subject: utils/hooks: Add sample update-dtb hook. X-Git-Tag: v1.0.0~563 X-Git-Url: http://git.ozlabs.org/?p=petitboot;a=commitdiff_plain;h=ed6021ebefa8b56604cdbb23a1c38008ed88b8c7;hp=aaa1de0046295cfd1f7a5428f399a5d1f9e1e563 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 --- 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