summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAsh Charles <ashcharles@gmail.com>2014-06-24 13:10:18 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2014-06-25 11:49:37 +0100
commit1506c40c93651356b9fe2f7184b5e26f99e22686 (patch)
tree0fb725f9cf09b196fb47a1165aefefd49a172710
parent2c23d7ab913a636aa0ab6a6e899cf6211d1e2714 (diff)
downloadopenembedded-core-contrib-1506c40c93651356b9fe2f7184b5e26f99e22686.tar.gz
openembedded-core-contrib-1506c40c93651356b9fe2f7184b5e26f99e22686.tar.bz2
openembedded-core-contrib-1506c40c93651356b9fe2f7184b5e26f99e22686.zip
u-boot: Optionally deploy an environment or script file
Some boards are configured to read a script or environment file as part of the u-boot boot sequence. This file, typically called 'uEnv.txt' or 'boot.scr', would be deployed alongside the u-boot binary. If a recipe uses this u-boot.inc, such a file can be deployed by setting the optional UBOOT_ENV parameter and including the file in the SRC_URI. For example: SRC_URI_append_overo = "file://uEnv.txt" UBOOT_ENV_overo = "uEnv" Signed-off-by: Ash Charles <ashcharles@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/recipes-bsp/u-boot/u-boot.inc25
1 files changed, 25 insertions, 0 deletions
diff --git a/meta/recipes-bsp/u-boot/u-boot.inc b/meta/recipes-bsp/u-boot/u-boot.inc
index d826a40c9c..53c87c28f0 100644
--- a/meta/recipes-bsp/u-boot/u-boot.inc
+++ b/meta/recipes-bsp/u-boot/u-boot.inc
@@ -28,6 +28,17 @@ SPL_BINARY ?= ""
SPL_IMAGE ?= "${SPL_BINARY}-${MACHINE}-${PV}-${PR}"
SPL_SYMLINK ?= "${SPL_BINARY}-${MACHINE}"
+# Additional environment variables or a script can be installed alongside
+# u-boot to be used automatically on boot. This file, typically 'uEnv.txt'
+# or 'boot.scr', should be packaged along with u-boot as well as placed in the
+# deploy directory. Machine configurations needing one of these files should
+# include it in the SRC_URI and set the UBOOT_ENV parameter.
+UBOOT_ENV_SUFFIX ?= "txt"
+UBOOT_ENV ?= ""
+UBOOT_ENV_BINARY ?= "${UBOOT_ENV}.${UBOOT_ENV_SUFFIX}"
+UBOOT_ENV_IMAGE ?= "${UBOOT_ENV}-${MACHINE}-${PV}-${PR}.${UBOOT_ENV_SUFFIX}"
+UBOOT_ENV_SYMLINK ?= "${UBOOT_ENV}-${MACHINE}.${UBOOT_ENV_SUFFIX}"
+
do_compile () {
if [ "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', 'ld-is-gold', '', d)}" = "ld-is-gold" ] ; then
sed -i 's/$(CROSS_COMPILE)ld$/$(CROSS_COMPILE)ld.bfd/g' config.mk
@@ -62,6 +73,12 @@ do_install () {
install ${S}/${SPL_BINARY} ${D}/boot/${SPL_IMAGE}
ln -sf ${SPL_IMAGE} ${D}/boot/${SPL_BINARY}
fi
+
+ if [ "x${UBOOT_ENV}" != "x" ]
+ then
+ install ${WORKDIR}/${UBOOT_ENV_BINARY} ${D}/boot/${UBOOT_ENV_IMAGE}
+ ln -sf ${UBOOT_ENV_IMAGE} ${D}/boot/${UBOOT_ENV_BINARY}
+ fi
}
FILES_${PN} = "/boot ${sysconfdir}"
@@ -82,6 +99,14 @@ do_deploy () {
ln -sf ${SPL_IMAGE} ${DEPLOYDIR}/${SPL_BINARY}
ln -sf ${SPL_IMAGE} ${DEPLOYDIR}/${SPL_SYMLINK}
fi
+
+ if [ "x${UBOOT_ENV}" != "x" ]
+ then
+ install ${WORKDIR}/${UBOOT_ENV_BINARY} ${DEPLOYDIR}/${UBOOT_ENV_IMAGE}
+ rm -f ${DEPLOYDIR}/${UBOOT_ENV_BINARY} ${DEPLOYDIR}/${UBOOT_ENV_SYMLINK}
+ ln -sf ${UBOOT_ENV_IMAGE} ${DEPLOYDIR}/${UBOOT_ENV_BINARY}
+ ln -sf ${UBOOT_ENV_IMAGE} ${DEPLOYDIR}/${UBOOT_ENV_SYMLINK}
+ fi
}
addtask deploy before do_build after do_compile