]> git.ozlabs.org Git - petitboot/blobdiff - utils/hooks/20-set-stdout
utils: Add boot hook to set stdout property on DT machines
[petitboot] / utils / hooks / 20-set-stdout
diff --git a/utils/hooks/20-set-stdout b/utils/hooks/20-set-stdout
new file mode 100755 (executable)
index 0000000..92ff030
--- /dev/null
@@ -0,0 +1,23 @@
+#!/bin/sh
+
+# Hook to set the linux,stdout-path property from an nvram property
+# (named $nvram_prop).
+
+nvram_prop=petitboot,console
+
+# we need to be using a dtb
+[ -n "$boot_dtb" ] || exit
+
+console=$(nvram --print-config="$nvram_prop")
+
+[ $? = 0 -a -n "$console" ] || exit
+
+dtb_in=$boot_dtb
+dtb_out=$(mktemp)
+
+(
+       dtc -I dtb -O dts $dtb_in
+       echo '/ { chosen { linux,stdout-path = "'$console'"; }; }; '
+) | dtc -I dts -O dtb -o $dtb_out
+
+[ $? = 0 ] && mv $dtb_out $dtb_in