summaryrefslogtreecommitdiffstats
path: root/meta/recipes-bsp
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-bsp')
-rw-r--r--meta/recipes-bsp/u-boot/u-boot.inc35
1 files changed, 31 insertions, 4 deletions
diff --git a/meta/recipes-bsp/u-boot/u-boot.inc b/meta/recipes-bsp/u-boot/u-boot.inc
index 41803452a8..700d5d39f4 100644
--- a/meta/recipes-bsp/u-boot/u-boot.inc
+++ b/meta/recipes-bsp/u-boot/u-boot.inc
@@ -19,11 +19,22 @@ python () {
19 raise bb.parse.SkipPackage("because UBOOT_MACHINE is not set") 19 raise bb.parse.SkipPackage("because UBOOT_MACHINE is not set")
20} 20}
21 21
22UBOOT_IMAGE ?= "u-boot-${MACHINE}-${PV}-${PR}.bin" 22# Some versions of u-boot use .bin and others use .img. By default use .bin
23UBOOT_BINARY ?= "u-boot.bin" 23# but enable individual recipes to change this value.
24UBOOT_SYMLINK ?= "u-boot-${MACHINE}.bin" 24UBOOT_SUFFIX ?= "bin"
25UBOOT_IMAGE ?= "u-boot-${MACHINE}-${PV}-${PR}.${UBOOT_SUFFIX}"
26UBOOT_BINARY ?= "u-boot.${UBOOT_SUFFIX}"
27UBOOT_SYMLINK ?= "u-boot-${MACHINE}.${UBOOT_SUFFIX}"
25UBOOT_MAKE_TARGET ?= "all" 28UBOOT_MAKE_TARGET ?= "all"
26 29
30# Some versions of u-boot build an SPL (Second Program Loader) image that
31# should be packaged along with the u-boot binary as well as placed in the
32# deploy directory. For those versions they can set the following variables
33# to allow packaging the SPL.
34SPL_BINARY ?= ""
35SPL_IMAGE ?= "${SPL_BINARY}-${PV}-${PR}"
36SPL_SYMLINK ?= "${SPL_BINARY}-${MACHINE}"
37
27do_compile () { 38do_compile () {
28 unset LDFLAGS 39 unset LDFLAGS
29 unset CFLAGS 40 unset CFLAGS
@@ -36,15 +47,31 @@ do_install () {
36 install -d ${D}/boot 47 install -d ${D}/boot
37 install ${S}/${UBOOT_BINARY} ${D}/boot/${UBOOT_IMAGE} 48 install ${S}/${UBOOT_BINARY} ${D}/boot/${UBOOT_IMAGE}
38 ln -sf ${UBOOT_IMAGE} ${D}/boot/${UBOOT_BINARY} 49 ln -sf ${UBOOT_IMAGE} ${D}/boot/${UBOOT_BINARY}
50
51 if [ "x${SPL_BINARY}" != "x" ]
52 then
53 install ${S}/${SPL_BINARY} ${D}/boot/${SPL_IMAGE}
54 ln -sf ${SPL_IMAGE} ${D}/boot/${SPL_BINARY}
55 fi
39} 56}
40 57
41FILES_${PN} = "/boot" 58FILES_${PN} = "/boot"
42 59
43do_deploy () { 60do_deploy () {
44 install ${S}/u-boot.bin ${DEPLOYDIR}/${UBOOT_IMAGE} 61 install -d ${DEPLOYDIR}
62 install ${S}/${UBOOT_BINARY} ${DEPLOYDIR}/${UBOOT_IMAGE}
45 63
46 cd ${DEPLOYDIR} 64 cd ${DEPLOYDIR}
47 rm -f ${UBOOT_SYMLINK} 65 rm -f ${UBOOT_SYMLINK}
48 ln -sf ${UBOOT_IMAGE} ${UBOOT_SYMLINK} 66 ln -sf ${UBOOT_IMAGE} ${UBOOT_SYMLINK}
67
68 if [ "x${SPL_BINARY}" != "x" ]
69 then
70 install ${S}/${SPL_BINARY} ${DEPLOYDIR}/${SPL_IMAGE}
71 rm -f ${DEPLOYDIR}/${SPL_BINARY} ${DEPLOYDIR}/${SPL_SYMLINK}
72 ln -sf ${SPL_IMAGE} ${DEPLOYDIR}/${SPL_BINARY}
73 ln -sf ${SPL_IMAGE} ${DEPLOYDIR}/${SPL_SYMLINK}
74 fi
49} 75}
76
50addtask deploy before do_build after do_compile 77addtask deploy before do_build after do_compile