summaryrefslogtreecommitdiffstats
path: root/meta/recipes-bsp/u-boot/u-boot.inc
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-bsp/u-boot/u-boot.inc')
-rw-r--r--meta/recipes-bsp/u-boot/u-boot.inc410
1 files changed, 219 insertions, 191 deletions
diff --git a/meta/recipes-bsp/u-boot/u-boot.inc b/meta/recipes-bsp/u-boot/u-boot.inc
index 251178db33..b7242de5de 100644
--- a/meta/recipes-bsp/u-boot/u-boot.inc
+++ b/meta/recipes-bsp/u-boot/u-boot.inc
@@ -3,13 +3,14 @@ PROVIDES = "virtual/bootloader"
3 3
4PACKAGE_ARCH = "${MACHINE_ARCH}" 4PACKAGE_ARCH = "${MACHINE_ARCH}"
5 5
6DEPENDS += "kern-tools-native" 6DEPENDS += "${@bb.utils.contains('UBOOT_ENV_SUFFIX', 'scr', 'u-boot-mkimage-native', '', d)}"
7 7
8inherit uboot-config uboot-extlinux-config uboot-sign deploy cml1 python3native 8inherit uboot-config uboot-extlinux-config uboot-sign deploy python3native kernel-arch
9 9
10DEPENDS += "swig-native" 10DEPENDS += "swig-native"
11 11
12EXTRA_OEMAKE = 'CROSS_COMPILE=${TARGET_PREFIX} CC="${TARGET_PREFIX}gcc ${TOOLCHAIN_OPTIONS}" V=1' 12EXTRA_OEMAKE = 'CROSS_COMPILE=${TARGET_PREFIX} V=1'
13EXTRA_OEMAKE += 'CC="${TARGET_PREFIX}gcc ${TOOLCHAIN_OPTIONS} ${DEBUG_PREFIX_MAP}"'
13EXTRA_OEMAKE += 'HOSTCC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}"' 14EXTRA_OEMAKE += 'HOSTCC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}"'
14EXTRA_OEMAKE += 'STAGING_INCDIR=${STAGING_INCDIR_NATIVE} STAGING_LIBDIR=${STAGING_LIBDIR_NATIVE}' 15EXTRA_OEMAKE += 'STAGING_INCDIR=${STAGING_INCDIR_NATIVE} STAGING_LIBDIR=${STAGING_LIBDIR_NATIVE}'
15 16
@@ -19,92 +20,21 @@ PACKAGECONFIG ??= "openssl"
19# a host build dependency. 20# a host build dependency.
20PACKAGECONFIG[openssl] = ",,openssl-native" 21PACKAGECONFIG[openssl] = ",,openssl-native"
21 22
23CVE_PRODUCT = "denx:u-boot"
24
22# Allow setting an additional version string that will be picked up by the 25# Allow setting an additional version string that will be picked up by the
23# u-boot build system and appended to the u-boot version. If the .scmversion 26# u-boot build system and appended to the u-boot version. If the .scmversion
24# file already exists it will not be overwritten. 27# file already exists it will not be overwritten.
25UBOOT_LOCALVERSION ?= "" 28UBOOT_LOCALVERSION ?= ""
26 29
27# Some versions of u-boot use .bin and others use .img. By default use .bin
28# but enable individual recipes to change this value.
29UBOOT_SUFFIX ??= "bin"
30UBOOT_IMAGE ?= "u-boot-${MACHINE}-${PV}-${PR}.${UBOOT_SUFFIX}"
31UBOOT_SYMLINK ?= "u-boot-${MACHINE}.${UBOOT_SUFFIX}"
32UBOOT_MAKE_TARGET ?= "all"
33
34# Output the ELF generated. Some platforms can use the ELF file and directly
35# load it (JTAG booting, QEMU) additionally the ELF can be used for debugging
36# purposes.
37UBOOT_ELF ?= ""
38UBOOT_ELF_SUFFIX ?= "elf"
39UBOOT_ELF_IMAGE ?= "u-boot-${MACHINE}-${PV}-${PR}.${UBOOT_ELF_SUFFIX}"
40UBOOT_ELF_BINARY ?= "u-boot.${UBOOT_ELF_SUFFIX}"
41UBOOT_ELF_SYMLINK ?= "u-boot-${MACHINE}.${UBOOT_ELF_SUFFIX}"
42
43# Some versions of u-boot build an SPL (Second Program Loader) image that
44# should be packaged along with the u-boot binary as well as placed in the
45# deploy directory. For those versions they can set the following variables
46# to allow packaging the SPL.
47SPL_BINARY ?= ""
48SPL_BINARYNAME ?= "${@os.path.basename(d.getVar("SPL_BINARY"))}"
49SPL_IMAGE ?= "${SPL_BINARYNAME}-${MACHINE}-${PV}-${PR}"
50SPL_SYMLINK ?= "${SPL_BINARYNAME}-${MACHINE}"
51
52# Additional environment variables or a script can be installed alongside
53# u-boot to be used automatically on boot. This file, typically 'uEnv.txt'
54# or 'boot.scr', should be packaged along with u-boot as well as placed in the
55# deploy directory. Machine configurations needing one of these files should
56# include it in the SRC_URI and set the UBOOT_ENV parameter.
57UBOOT_ENV_SUFFIX ?= "txt"
58UBOOT_ENV ?= ""
59UBOOT_ENV_BINARY ?= "${UBOOT_ENV}.${UBOOT_ENV_SUFFIX}"
60UBOOT_ENV_IMAGE ?= "${UBOOT_ENV}-${MACHINE}-${PV}-${PR}.${UBOOT_ENV_SUFFIX}"
61UBOOT_ENV_SYMLINK ?= "${UBOOT_ENV}-${MACHINE}.${UBOOT_ENV_SUFFIX}"
62
63# Default name of u-boot initial env, but enable individual recipes to change 30# Default name of u-boot initial env, but enable individual recipes to change
64# this value. 31# this value.
65UBOOT_INITIAL_ENV ?= "${PN}-initial-env" 32UBOOT_INITIAL_ENV ?= "${PN}-initial-env"
66 33
67# U-Boot EXTLINUX variables. U-Boot searches for /boot/extlinux/extlinux.conf 34require u-boot-configure.inc
68# to find EXTLINUX conf file.
69UBOOT_EXTLINUX_INSTALL_DIR ?= "/boot/extlinux"
70UBOOT_EXTLINUX_CONF_NAME ?= "extlinux.conf"
71UBOOT_EXTLINUX_SYMLINK ?= "${UBOOT_EXTLINUX_CONF_NAME}-${MACHINE}-${PR}"
72
73do_configure () {
74 if [ -n "${UBOOT_CONFIG}" ]; then
75 unset i j
76 for config in ${UBOOT_MACHINE}; do
77 i=$(expr $i + 1);
78 for type in ${UBOOT_CONFIG}; do
79 j=$(expr $j + 1);
80 if [ $j -eq $i ]; then
81 oe_runmake -C ${S} O=${B}/${config} ${config}
82 if [ -n "${@' '.join(find_cfgs(d))}" ]; then
83 merge_config.sh -m -O ${B}/${config} ${B}/${config}/.config ${@" ".join(find_cfgs(d))}
84 oe_runmake -C ${S} O=${B}/${config} oldconfig
85 fi
86 fi
87 done
88 unset j
89 done
90 unset i
91 DEVTOOL_DISABLE_MENUCONFIG=true
92 else
93 if [ -n "${UBOOT_MACHINE}" ]; then
94 oe_runmake -C ${S} O=${B} ${UBOOT_MACHINE}
95 else
96 oe_runmake -C ${S} O=${B} oldconfig
97 fi
98 merge_config.sh -m .config ${@" ".join(find_cfgs(d))}
99 cml1_do_configure
100 fi
101}
102 35
36UBOOT_ARCH_DIR = "${@'arm' if d.getVar('UBOOT_ARCH').startswith('arm') else d.getVar('UBOOT_ARCH')}"
103do_compile () { 37do_compile () {
104 if [ "${@bb.utils.filter('DISTRO_FEATURES', 'ld-is-gold', d)}" ]; then
105 sed -i 's/$(CROSS_COMPILE)ld$/$(CROSS_COMPILE)ld.bfd/g' ${S}/config.mk
106 fi
107
108 unset LDFLAGS 38 unset LDFLAGS
109 unset CFLAGS 39 unset CFLAGS
110 unset CPPFLAGS 40 unset CPPFLAGS
@@ -117,40 +47,66 @@ do_compile () {
117 47
118 if [ -n "${UBOOT_CONFIG}" -o -n "${UBOOT_DELTA_CONFIG}" ] 48 if [ -n "${UBOOT_CONFIG}" -o -n "${UBOOT_DELTA_CONFIG}" ]
119 then 49 then
120 unset i j k 50 unset i j
121 for config in ${UBOOT_MACHINE}; do 51 for config in ${UBOOT_MACHINE}; do
122 i=$(expr $i + 1); 52 i=$(expr $i + 1);
123 for type in ${UBOOT_CONFIG}; do 53 for type in ${UBOOT_CONFIG}; do
124 j=$(expr $j + 1); 54 j=$(expr $j + 1);
125 if [ $j -eq $i ] 55 if [ $j -eq $i ]
126 then 56 then
127 oe_runmake -C ${S} O=${B}/${config} ${UBOOT_MAKE_TARGET} 57 uboot_compile_config $i $config $type
128 for binary in ${UBOOT_BINARIES}; do
129 k=$(expr $k + 1);
130 if [ $k -eq $i ]; then
131 cp ${B}/${config}/${binary} ${B}/${config}/u-boot-${type}.${UBOOT_SUFFIX}
132 fi
133 done
134
135 # Generate the uboot-initial-env
136 if [ -n "${UBOOT_INITIAL_ENV}" ]; then
137 oe_runmake -C ${S} O=${B}/${config} u-boot-initial-env
138 cp ${B}/${config}/u-boot-initial-env ${B}/${config}/u-boot-initial-env-${type}
139 fi
140
141 unset k
142 fi 58 fi
143 done 59 done
144 unset j 60 unset j
145 done 61 done
146 unset i 62 unset i
147 else 63 else
148 oe_runmake -C ${S} O=${B} ${UBOOT_MAKE_TARGET} 64 uboot_compile
65 fi
66
67 if [ -n "${UBOOT_ENV}" ] && [ "${UBOOT_ENV_SUFFIX}" = "scr" ]
68 then
69 ${UBOOT_MKIMAGE} -C none -A ${UBOOT_ARCH} -T script -d ${UNPACKDIR}/${UBOOT_ENV_SRC} ${B}/${UBOOT_ENV_BINARY}
70 fi
71}
72
73uboot_compile_config () {
74 i=$1
75 config=$2
76 type=$3
149 77
150 # Generate the uboot-initial-env 78 oe_runmake -C ${S} O=${B}/${config} ${UBOOT_MAKE_TARGET}
151 if [ -n "${UBOOT_INITIAL_ENV}" ]; then 79
152 oe_runmake -C ${S} O=${B} u-boot-initial-env 80 unset k
81 for binary in ${UBOOT_BINARIES}; do
82 k=$(expr $k + 1);
83 if [ $k -eq $i ]; then
84 uboot_compile_config_copy_binary $config $type $binary
153 fi 85 fi
86 done
87 unset k
88
89 # Generate the uboot-initial-env
90 if [ -n "${UBOOT_INITIAL_ENV}" ]; then
91 oe_runmake -C ${S} O=${B}/${config} u-boot-initial-env
92 cp ${B}/${config}/u-boot-initial-env ${B}/${config}/u-boot-initial-env-${type}
93 fi
94}
95
96uboot_compile_config_copy_binary () {
97 config=$1
98 type=$2
99 binary=$3
100
101 cp ${B}/${config}/${binary} ${B}/${config}/${UBOOT_BINARYNAME}-${type}.${UBOOT_SUFFIX}
102}
103
104uboot_compile () {
105 oe_runmake -C ${S} O=${B} ${UBOOT_MAKE_TARGET}
106
107 # Generate the uboot-initial-env
108 if [ -n "${UBOOT_INITIAL_ENV}" ]; then
109 oe_runmake -C ${S} O=${B} u-boot-initial-env
154 fi 110 fi
155} 111}
156 112
@@ -163,32 +119,14 @@ do_install () {
163 j=$(expr $j + 1); 119 j=$(expr $j + 1);
164 if [ $j -eq $i ] 120 if [ $j -eq $i ]
165 then 121 then
166 install -D -m 644 ${B}/${config}/u-boot-${type}.${UBOOT_SUFFIX} ${D}/boot/u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX} 122 uboot_install_config $config $type
167 ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX} ${D}/boot/${UBOOT_BINARY}-${type}
168 ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX} ${D}/boot/${UBOOT_BINARY}
169
170 # Install the uboot-initial-env
171 if [ -n "${UBOOT_INITIAL_ENV}" ]; then
172 install -D -m 644 ${B}/${config}/u-boot-initial-env-${type} ${D}/${sysconfdir}/${UBOOT_INITIAL_ENV}-${MACHINE}-${type}-${PV}-${PR}
173 ln -sf ${UBOOT_INITIAL_ENV}-${MACHINE}-${type}-${PV}-${PR} ${D}/${sysconfdir}/${UBOOT_INITIAL_ENV}-${MACHINE}-${type}
174 ln -sf ${UBOOT_INITIAL_ENV}-${MACHINE}-${type}-${PV}-${PR} ${D}/${sysconfdir}/${UBOOT_INITIAL_ENV}-${type}
175 ln -sf ${UBOOT_INITIAL_ENV}-${MACHINE}-${type}-${PV}-${PR} ${D}/${sysconfdir}/${UBOOT_INITIAL_ENV}
176 fi
177 fi 123 fi
178 done 124 done
179 unset j 125 unset j
180 done 126 done
181 unset i 127 unset i
182 else 128 else
183 install -D -m 644 ${B}/${UBOOT_BINARY} ${D}/boot/${UBOOT_IMAGE} 129 uboot_install
184 ln -sf ${UBOOT_IMAGE} ${D}/boot/${UBOOT_BINARY}
185
186 # Install the uboot-initial-env
187 if [ -n "${UBOOT_INITIAL_ENV}" ]; then
188 install -D -m 644 ${B}/u-boot-initial-env ${D}/${sysconfdir}/${UBOOT_INITIAL_ENV}-${MACHINE}-${PV}-${PR}
189 ln -sf ${UBOOT_INITIAL_ENV}-${MACHINE}-${PV}-${PR} ${D}/${sysconfdir}/${UBOOT_INITIAL_ENV}-${MACHINE}
190 ln -sf ${UBOOT_INITIAL_ENV}-${MACHINE}-${PV}-${PR} ${D}/${sysconfdir}/${UBOOT_INITIAL_ENV}
191 fi
192 fi 130 fi
193 131
194 if [ -n "${UBOOT_ELF}" ] 132 if [ -n "${UBOOT_ELF}" ]
@@ -201,23 +139,20 @@ do_install () {
201 j=$(expr $j + 1); 139 j=$(expr $j + 1);
202 if [ $j -eq $i ] 140 if [ $j -eq $i ]
203 then 141 then
204 install -m 644 ${B}/${config}/${UBOOT_ELF} ${D}/boot/u-boot-${type}-${PV}-${PR}.${UBOOT_ELF_SUFFIX} 142 uboot_install_elf_config $config $type
205 ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_ELF_SUFFIX} ${D}/boot/${UBOOT_BINARY}-${type}
206 ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_ELF_SUFFIX} ${D}/boot/${UBOOT_BINARY}
207 fi 143 fi
208 done 144 done
209 unset j 145 unset j
210 done 146 done
211 unset i 147 unset i
212 else 148 else
213 install -m 644 ${B}/${UBOOT_ELF} ${D}/boot/${UBOOT_ELF_IMAGE} 149 uboot_install_elf
214 ln -sf ${UBOOT_ELF_IMAGE} ${D}/boot/${UBOOT_ELF_BINARY}
215 fi 150 fi
216 fi 151 fi
217 152
218 if [ -e ${WORKDIR}/fw_env.config ] ; then 153 if [ -e ${UNPACKDIR}/fw_env.config ] ; then
219 install -d ${D}${sysconfdir} 154 install -d ${D}${sysconfdir}
220 install -m 644 ${WORKDIR}/fw_env.config ${D}${sysconfdir}/fw_env.config 155 install -m 644 ${UNPACKDIR}/fw_env.config ${D}${sysconfdir}/fw_env.config
221 fi 156 fi
222 157
223 if [ -n "${SPL_BINARY}" ] 158 if [ -n "${SPL_BINARY}" ]
@@ -230,23 +165,20 @@ do_install () {
230 j=$(expr $j + 1); 165 j=$(expr $j + 1);
231 if [ $j -eq $i ] 166 if [ $j -eq $i ]
232 then 167 then
233 install -m 644 ${B}/${config}/${SPL_BINARY} ${D}/boot/${SPL_IMAGE}-${type}-${PV}-${PR} 168 uboot_install_spl_config $config $type
234 ln -sf ${SPL_IMAGE}-${type}-${PV}-${PR} ${D}/boot/${SPL_BINARYNAME}-${type}
235 ln -sf ${SPL_IMAGE}-${type}-${PV}-${PR} ${D}/boot/${SPL_BINARYNAME}
236 fi 169 fi
237 done 170 done
238 unset j 171 unset j
239 done 172 done
240 unset i 173 unset i
241 else 174 else
242 install -m 644 ${B}/${SPL_BINARY} ${D}/boot/${SPL_IMAGE} 175 uboot_install_spl
243 ln -sf ${SPL_IMAGE} ${D}/boot/${SPL_BINARYNAME}
244 fi 176 fi
245 fi 177 fi
246 178
247 if [ -n "${UBOOT_ENV}" ] 179 if [ -n "${UBOOT_ENV}" ]
248 then 180 then
249 install -m 644 ${WORKDIR}/${UBOOT_ENV_BINARY} ${D}/boot/${UBOOT_ENV_IMAGE} 181 install -m 644 ${B}/${UBOOT_ENV_BINARY} ${D}/boot/${UBOOT_ENV_IMAGE}
250 ln -sf ${UBOOT_ENV_IMAGE} ${D}/boot/${UBOOT_ENV_BINARY} 182 ln -sf ${UBOOT_ENV_IMAGE} ${D}/boot/${UBOOT_ENV_BINARY}
251 fi 183 fi
252 184
@@ -256,68 +188,104 @@ do_install () {
256 fi 188 fi
257} 189}
258 190
259PACKAGE_BEFORE_PN += "${PN}-env" 191uboot_install_config () {
192 config=$1
193 type=$2
194
195 install -D -m 644 ${B}/${config}/${UBOOT_BINARYNAME}-${type}.${UBOOT_SUFFIX} ${D}/boot/${UBOOT_BINARYNAME}-${type}-${UBOOT_VERSION}.${UBOOT_SUFFIX}
196 ln -sf ${UBOOT_BINARYNAME}-${type}-${UBOOT_VERSION}.${UBOOT_SUFFIX} ${D}/boot/${UBOOT_BINARY}-${type}
197 ln -sf ${UBOOT_BINARYNAME}-${type}-${UBOOT_VERSION}.${UBOOT_SUFFIX} ${D}/boot/${UBOOT_BINARY}
260 198
261RPROVIDES_${PN}-env += "u-boot-default-env" 199 # Install the uboot-initial-env
262ALLOW_EMPTY_${PN}-env = "1" 200 if [ -n "${UBOOT_INITIAL_ENV}" ]; then
263FILES_${PN}-env = " \ 201 install -D -m 644 ${B}/${config}/u-boot-initial-env-${type} ${D}/${sysconfdir}/${UBOOT_INITIAL_ENV}-${MACHINE}-${type}-${UBOOT_VERSION}
202 ln -sf ${UBOOT_INITIAL_ENV}-${MACHINE}-${type}-${UBOOT_VERSION} ${D}/${sysconfdir}/${UBOOT_INITIAL_ENV}-${MACHINE}-${type}
203 ln -sf ${UBOOT_INITIAL_ENV}-${MACHINE}-${type}-${UBOOT_VERSION} ${D}/${sysconfdir}/${UBOOT_INITIAL_ENV}-${type}
204 ln -sf ${UBOOT_INITIAL_ENV}-${MACHINE}-${type}-${UBOOT_VERSION} ${D}/${sysconfdir}/${UBOOT_INITIAL_ENV}
205 fi
206}
207
208uboot_install () {
209 install -D -m 644 ${B}/${UBOOT_BINARY} ${D}/boot/${UBOOT_IMAGE}
210 ln -sf ${UBOOT_IMAGE} ${D}/boot/${UBOOT_BINARY}
211
212 # Install the uboot-initial-env
213 if [ -n "${UBOOT_INITIAL_ENV}" ]; then
214 install -D -m 644 ${B}/u-boot-initial-env ${D}/${sysconfdir}/${UBOOT_INITIAL_ENV}-${MACHINE}-${UBOOT_VERSION}
215 ln -sf ${UBOOT_INITIAL_ENV}-${MACHINE}-${UBOOT_VERSION} ${D}/${sysconfdir}/${UBOOT_INITIAL_ENV}-${MACHINE}
216 ln -sf ${UBOOT_INITIAL_ENV}-${MACHINE}-${UBOOT_VERSION} ${D}/${sysconfdir}/${UBOOT_INITIAL_ENV}
217 fi
218}
219
220uboot_install_elf_config () {
221 config=$1
222 type=$2
223
224 install -m 644 ${B}/${config}/${UBOOT_ELF} ${D}/boot/u-boot-${type}-${UBOOT_VERSION}.${UBOOT_ELF_SUFFIX}
225 ln -sf u-boot-${type}-${UBOOT_VERSION}.${UBOOT_ELF_SUFFIX} ${D}/boot/${UBOOT_BINARY}-${type}
226 ln -sf u-boot-${type}-${UBOOT_VERSION}.${UBOOT_ELF_SUFFIX} ${D}/boot/${UBOOT_BINARY}
227}
228
229uboot_install_elf () {
230 install -m 644 ${B}/${UBOOT_ELF} ${D}/boot/${UBOOT_ELF_IMAGE}
231 ln -sf ${UBOOT_ELF_IMAGE} ${D}/boot/${UBOOT_ELF_BINARY}
232}
233
234uboot_install_spl_config () {
235 config=$1
236 type=$2
237
238 install -m 644 ${B}/${config}/${SPL_BINARY} ${D}/boot/${SPL_BINARYNAME}-${type}-${UBOOT_VERSION}${SPL_DELIMITER}${SPL_SUFFIX}
239 ln -sf ${SPL_BINARYNAME}-${type}-${UBOOT_VERSION}${SPL_DELIMITER}${SPL_SUFFIX} ${D}/boot/${SPL_BINARYFILE}-${type}
240 ln -sf ${SPL_BINARYNAME}-${type}-${UBOOT_VERSION}${SPL_DELIMITER}${SPL_SUFFIX} ${D}/boot/${SPL_BINARYFILE}
241}
242
243uboot_install_spl () {
244 install -m 644 ${B}/${SPL_BINARY} ${D}/boot/${SPL_IMAGE}
245 ln -sf ${SPL_IMAGE} ${D}/boot/${SPL_BINARYFILE}
246}
247
248PACKAGE_BEFORE_PN += "${PN}-env ${PN}-extlinux"
249
250RPROVIDES:${PN}-env += "u-boot-default-env"
251ALLOW_EMPTY:${PN}-env = "1"
252FILES:${PN}-env = " \
264 ${@ '${sysconfdir}/${UBOOT_INITIAL_ENV}*' if d.getVar('UBOOT_INITIAL_ENV') else ''} \ 253 ${@ '${sysconfdir}/${UBOOT_INITIAL_ENV}*' if d.getVar('UBOOT_INITIAL_ENV') else ''} \
265 ${sysconfdir}/fw_env.config \ 254 ${sysconfdir}/fw_env.config \
266" 255"
267 256
268FILES_${PN} = "/boot ${datadir}" 257FILES:${PN}-extlinux = "${UBOOT_EXTLINUX_INSTALL_DIR}/${UBOOT_EXTLINUX_CONF_NAME}"
269RDEPENDS_${PN} += "${PN}-env" 258RDEPENDS:${PN} += "${@bb.utils.contains('UBOOT_EXTLINUX', '1', '${PN}-extlinux', '', d)}"
259
260SYSROOT_DIRS += "/boot"
261FILES:${PN} = "/boot ${datadir}"
262RDEPENDS:${PN} += "${PN}-env"
270 263
271do_deploy () { 264do_deploy () {
272 if [ -n "${UBOOT_CONFIG}" ] 265 if [ -n "${UBOOT_CONFIG}" ]
273 then 266 then
267 unset i j
274 for config in ${UBOOT_MACHINE}; do 268 for config in ${UBOOT_MACHINE}; do
275 i=$(expr $i + 1); 269 i=$(expr $i + 1);
276 for type in ${UBOOT_CONFIG}; do 270 for type in ${UBOOT_CONFIG}; do
277 j=$(expr $j + 1); 271 j=$(expr $j + 1);
278 if [ $j -eq $i ] 272 if [ $j -eq $i ]
279 then 273 then
280 install -D -m 644 ${B}/${config}/u-boot-${type}.${UBOOT_SUFFIX} ${DEPLOYDIR}/u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX} 274 uboot_deploy_config $config $type
281 cd ${DEPLOYDIR}
282 ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX} ${UBOOT_SYMLINK}-${type}
283 ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX} ${UBOOT_SYMLINK}
284 ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX} ${UBOOT_BINARY}-${type}
285 ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX} ${UBOOT_BINARY}
286
287 # Deploy the uboot-initial-env
288 if [ -n "${UBOOT_INITIAL_ENV}" ]; then
289 install -D -m 644 ${B}/${config}/u-boot-initial-env-${type} ${DEPLOYDIR}/${UBOOT_INITIAL_ENV}-${MACHINE}-${type}-${PV}-${PR}
290 cd ${DEPLOYDIR}
291 ln -sf ${UBOOT_INITIAL_ENV}-${MACHINE}-${type}-${PV}-${PR} ${UBOOT_INITIAL_ENV}-${MACHINE}-${type}
292 ln -sf ${UBOOT_INITIAL_ENV}-${MACHINE}-${type}-${PV}-${PR} ${UBOOT_INITIAL_ENV}-${type}
293 fi
294 fi 275 fi
295 done 276 done
296 unset j 277 unset j
297 done 278 done
298 unset i 279 unset i
299 else 280 else
300 install -D -m 644 ${B}/${UBOOT_BINARY} ${DEPLOYDIR}/${UBOOT_IMAGE} 281 uboot_deploy
301
302 cd ${DEPLOYDIR}
303 rm -f ${UBOOT_BINARY} ${UBOOT_SYMLINK}
304 ln -sf ${UBOOT_IMAGE} ${UBOOT_SYMLINK}
305 ln -sf ${UBOOT_IMAGE} ${UBOOT_BINARY}
306
307 # Deploy the uboot-initial-env
308 if [ -n "${UBOOT_INITIAL_ENV}" ]; then
309 install -D -m 644 ${B}/u-boot-initial-env ${DEPLOYDIR}/${UBOOT_INITIAL_ENV}-${MACHINE}-${PV}-${PR}
310 cd ${DEPLOYDIR}
311 ln -sf ${UBOOT_INITIAL_ENV}-${MACHINE}-${PV}-${PR} ${UBOOT_INITIAL_ENV}-${MACHINE}
312 ln -sf ${UBOOT_INITIAL_ENV}-${MACHINE}-${PV}-${PR} ${UBOOT_INITIAL_ENV}
313 fi
314 fi 282 fi
315 283
316 if [ -e ${WORKDIR}/fw_env.config ] ; then 284 if [ -e ${UNPACKDIR}/fw_env.config ] ; then
317 install -D -m 644 ${WORKDIR}/fw_env.config ${DEPLOYDIR}/fw_env.config-${MACHINE}-${PV}-${PR} 285 install -D -m 644 ${UNPACKDIR}/fw_env.config ${DEPLOYDIR}/fw_env.config-${MACHINE}-${UBOOT_VERSION}
318 cd ${DEPLOYDIR} 286 cd ${DEPLOYDIR}
319 ln -sf fw_env.config-${MACHINE}-${PV}-${PR} fw_env.config-${MACHINE} 287 ln -sf fw_env.config-${MACHINE}-${UBOOT_VERSION} fw_env.config-${MACHINE}
320 ln -sf fw_env.config-${MACHINE}-${PV}-${PR} fw_env.config 288 ln -sf fw_env.config-${MACHINE}-${UBOOT_VERSION} fw_env.config
321 fi 289 fi
322 290
323 if [ -n "${UBOOT_ELF}" ] 291 if [ -n "${UBOOT_ELF}" ]
@@ -330,24 +298,17 @@ do_deploy () {
330 j=$(expr $j + 1); 298 j=$(expr $j + 1);
331 if [ $j -eq $i ] 299 if [ $j -eq $i ]
332 then 300 then
333 install -m 644 ${B}/${config}/${UBOOT_ELF} ${DEPLOYDIR}/u-boot-${type}-${PV}-${PR}.${UBOOT_ELF_SUFFIX} 301 uboot_deploy_elf_config $config $type
334 ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_ELF_SUFFIX} ${DEPLOYDIR}/${UBOOT_ELF_BINARY}-${type}
335 ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_ELF_SUFFIX} ${DEPLOYDIR}/${UBOOT_ELF_BINARY}
336 ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_ELF_SUFFIX} ${DEPLOYDIR}/${UBOOT_ELF_SYMLINK}-${type}
337 ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_ELF_SUFFIX} ${DEPLOYDIR}/${UBOOT_ELF_SYMLINK}
338 fi 302 fi
339 done 303 done
340 unset j 304 unset j
341 done 305 done
342 unset i 306 unset i
343 else 307 else
344 install -m 644 ${B}/${UBOOT_ELF} ${DEPLOYDIR}/${UBOOT_ELF_IMAGE} 308 uboot_deploy_elf
345 ln -sf ${UBOOT_ELF_IMAGE} ${DEPLOYDIR}/${UBOOT_ELF_BINARY}
346 ln -sf ${UBOOT_ELF_IMAGE} ${DEPLOYDIR}/${UBOOT_ELF_SYMLINK}
347 fi 309 fi
348 fi 310 fi
349 311
350
351 if [ -n "${SPL_BINARY}" ] 312 if [ -n "${SPL_BINARY}" ]
352 then 313 then
353 if [ -n "${UBOOT_CONFIG}" ] 314 if [ -n "${UBOOT_CONFIG}" ]
@@ -358,30 +319,20 @@ do_deploy () {
358 j=$(expr $j + 1); 319 j=$(expr $j + 1);
359 if [ $j -eq $i ] 320 if [ $j -eq $i ]
360 then 321 then
361 install -m 644 ${B}/${config}/${SPL_BINARY} ${DEPLOYDIR}/${SPL_IMAGE}-${type}-${PV}-${PR} 322 uboot_deploy_spl_config $config $type
362 rm -f ${DEPLOYDIR}/${SPL_BINARYNAME} ${DEPLOYDIR}/${SPL_SYMLINK}-${type}
363 ln -sf ${SPL_IMAGE}-${type}-${PV}-${PR} ${DEPLOYDIR}/${SPL_BINARYNAME}-${type}
364 ln -sf ${SPL_IMAGE}-${type}-${PV}-${PR} ${DEPLOYDIR}/${SPL_BINARYNAME}
365 ln -sf ${SPL_IMAGE}-${type}-${PV}-${PR} ${DEPLOYDIR}/${SPL_SYMLINK}-${type}
366 ln -sf ${SPL_IMAGE}-${type}-${PV}-${PR} ${DEPLOYDIR}/${SPL_SYMLINK}
367 fi 323 fi
368 done 324 done
369 unset j 325 unset j
370 done 326 done
371 unset i 327 unset i
372 else 328 else
373 install -m 644 ${B}/${SPL_BINARY} ${DEPLOYDIR}/${SPL_IMAGE} 329 uboot_deploy_spl
374 rm -f ${DEPLOYDIR}/${SPL_BINARYNAME} ${DEPLOYDIR}/${SPL_SYMLINK}
375 ln -sf ${SPL_IMAGE} ${DEPLOYDIR}/${SPL_BINARYNAME}
376 ln -sf ${SPL_IMAGE} ${DEPLOYDIR}/${SPL_SYMLINK}
377 fi 330 fi
378 fi 331 fi
379 332
380
381 if [ -n "${UBOOT_ENV}" ] 333 if [ -n "${UBOOT_ENV}" ]
382 then 334 then
383 install -m 644 ${WORKDIR}/${UBOOT_ENV_BINARY} ${DEPLOYDIR}/${UBOOT_ENV_IMAGE} 335 install -m 644 ${B}/${UBOOT_ENV_BINARY} ${DEPLOYDIR}/${UBOOT_ENV_IMAGE}
384 rm -f ${DEPLOYDIR}/${UBOOT_ENV_BINARY} ${DEPLOYDIR}/${UBOOT_ENV_SYMLINK}
385 ln -sf ${UBOOT_ENV_IMAGE} ${DEPLOYDIR}/${UBOOT_ENV_BINARY} 336 ln -sf ${UBOOT_ENV_IMAGE} ${DEPLOYDIR}/${UBOOT_ENV_BINARY}
386 ln -sf ${UBOOT_ENV_IMAGE} ${DEPLOYDIR}/${UBOOT_ENV_SYMLINK} 337 ln -sf ${UBOOT_ENV_IMAGE} ${DEPLOYDIR}/${UBOOT_ENV_SYMLINK}
387 fi 338 fi
@@ -392,6 +343,83 @@ do_deploy () {
392 ln -sf ${UBOOT_EXTLINUX_SYMLINK} ${DEPLOYDIR}/${UBOOT_EXTLINUX_CONF_NAME}-${MACHINE} 343 ln -sf ${UBOOT_EXTLINUX_SYMLINK} ${DEPLOYDIR}/${UBOOT_EXTLINUX_CONF_NAME}-${MACHINE}
393 ln -sf ${UBOOT_EXTLINUX_SYMLINK} ${DEPLOYDIR}/${UBOOT_EXTLINUX_CONF_NAME} 344 ln -sf ${UBOOT_EXTLINUX_SYMLINK} ${DEPLOYDIR}/${UBOOT_EXTLINUX_CONF_NAME}
394 fi 345 fi
346
347 if [ -n "${UBOOT_DTB}" ]
348 then
349 install -m 644 ${B}/arch/${UBOOT_ARCH_DIR}/dts/${UBOOT_DTB_BINARY} ${DEPLOYDIR}/
350 fi
351}
352
353uboot_deploy_config () {
354 config=$1
355 type=$2
356
357 install -D -m 644 ${B}/${config}/${UBOOT_BINARYNAME}-${type}.${UBOOT_SUFFIX} ${DEPLOYDIR}/${UBOOT_BINARYNAME}-${type}-${UBOOT_VERSION}.${UBOOT_SUFFIX}
358 cd ${DEPLOYDIR}
359 ln -sf ${UBOOT_BINARYNAME}-${type}-${UBOOT_VERSION}.${UBOOT_SUFFIX} ${UBOOT_SYMLINK}-${type}
360 ln -sf ${UBOOT_BINARYNAME}-${type}-${UBOOT_VERSION}.${UBOOT_SUFFIX} ${UBOOT_SYMLINK}
361 ln -sf ${UBOOT_BINARYNAME}-${type}-${UBOOT_VERSION}.${UBOOT_SUFFIX} ${UBOOT_BINARY}-${type}
362 ln -sf ${UBOOT_BINARYNAME}-${type}-${UBOOT_VERSION}.${UBOOT_SUFFIX} ${UBOOT_BINARY}
363
364 # Deploy the uboot-initial-env
365 if [ -n "${UBOOT_INITIAL_ENV}" ]; then
366 install -D -m 644 ${B}/${config}/u-boot-initial-env-${type} ${DEPLOYDIR}/${UBOOT_INITIAL_ENV}-${MACHINE}-${type}-${UBOOT_VERSION}
367 cd ${DEPLOYDIR}
368 ln -sf ${UBOOT_INITIAL_ENV}-${MACHINE}-${type}-${UBOOT_VERSION} ${UBOOT_INITIAL_ENV}-${MACHINE}-${type}
369 ln -sf ${UBOOT_INITIAL_ENV}-${MACHINE}-${type}-${UBOOT_VERSION} ${UBOOT_INITIAL_ENV}-${type}
370 fi
371}
372
373uboot_deploy () {
374 install -D -m 644 ${B}/${UBOOT_BINARY} ${DEPLOYDIR}/${UBOOT_IMAGE}
375
376 cd ${DEPLOYDIR}
377 rm -f ${UBOOT_BINARY} ${UBOOT_SYMLINK}
378 ln -sf ${UBOOT_IMAGE} ${UBOOT_SYMLINK}
379 ln -sf ${UBOOT_IMAGE} ${UBOOT_BINARY}
380
381 # Deploy the uboot-initial-env
382 if [ -n "${UBOOT_INITIAL_ENV}" ]; then
383 install -D -m 644 ${B}/u-boot-initial-env ${DEPLOYDIR}/${UBOOT_INITIAL_ENV}-${MACHINE}-${UBOOT_VERSION}
384 cd ${DEPLOYDIR}
385 ln -sf ${UBOOT_INITIAL_ENV}-${MACHINE}-${UBOOT_VERSION} ${UBOOT_INITIAL_ENV}-${MACHINE}
386 ln -sf ${UBOOT_INITIAL_ENV}-${MACHINE}-${UBOOT_VERSION} ${UBOOT_INITIAL_ENV}
387 fi
388}
389
390uboot_deploy_elf_config () {
391 config=$1
392 type=$2
393
394 install -m 644 ${B}/${config}/${UBOOT_ELF} ${DEPLOYDIR}/u-boot-${type}-${UBOOT_VERSION}.${UBOOT_ELF_SUFFIX}
395 ln -sf u-boot-${type}-${UBOOT_VERSION}.${UBOOT_ELF_SUFFIX} ${DEPLOYDIR}/${UBOOT_ELF_BINARY}-${type}
396 ln -sf u-boot-${type}-${UBOOT_VERSION}.${UBOOT_ELF_SUFFIX} ${DEPLOYDIR}/${UBOOT_ELF_BINARY}
397 ln -sf u-boot-${type}-${UBOOT_VERSION}.${UBOOT_ELF_SUFFIX} ${DEPLOYDIR}/${UBOOT_ELF_SYMLINK}-${type}
398 ln -sf u-boot-${type}-${UBOOT_VERSION}.${UBOOT_ELF_SUFFIX} ${DEPLOYDIR}/${UBOOT_ELF_SYMLINK}
399}
400
401uboot_deploy_elf () {
402 install -m 644 ${B}/${UBOOT_ELF} ${DEPLOYDIR}/${UBOOT_ELF_IMAGE}
403 ln -sf ${UBOOT_ELF_IMAGE} ${DEPLOYDIR}/${UBOOT_ELF_BINARY}
404 ln -sf ${UBOOT_ELF_IMAGE} ${DEPLOYDIR}/${UBOOT_ELF_SYMLINK}
405}
406
407uboot_deploy_spl_config () {
408 config=$1
409 type=$2
410
411 install -m 644 ${B}/${config}/${SPL_BINARY} ${DEPLOYDIR}/${SPL_BINARYNAME}-${type}-${UBOOT_VERSION}${SPL_DELIMITER}${SPL_SUFFIX}
412 rm -f ${DEPLOYDIR}/${SPL_BINARYFILE} ${DEPLOYDIR}/${SPL_SYMLINK}
413 ln -sf ${SPL_BINARYNAME}-${type}-${UBOOT_VERSION}${SPL_DELIMITER}${SPL_SUFFIX} ${DEPLOYDIR}/${SPL_BINARYFILE}-${type}
414 ln -sf ${SPL_BINARYNAME}-${type}-${UBOOT_VERSION}${SPL_DELIMITER}${SPL_SUFFIX} ${DEPLOYDIR}/${SPL_BINARYFILE}
415 ln -sf ${SPL_BINARYNAME}-${type}-${UBOOT_VERSION}${SPL_DELIMITER}${SPL_SUFFIX} ${DEPLOYDIR}/${SPL_SYMLINK}-${type}
416 ln -sf ${SPL_BINARYNAME}-${type}-${UBOOT_VERSION}${SPL_DELIMITER}${SPL_SUFFIX} ${DEPLOYDIR}/${SPL_SYMLINK}
417}
418
419uboot_deploy_spl () {
420 install -m 644 ${B}/${SPL_BINARY} ${DEPLOYDIR}/${SPL_IMAGE}
421 ln -sf ${SPL_IMAGE} ${DEPLOYDIR}/${SPL_BINARYNAME}
422 ln -sf ${SPL_IMAGE} ${DEPLOYDIR}/${SPL_SYMLINK}
395} 423}
396 424
397addtask deploy before do_build after do_compile 425addtask deploy before do_build after do_compile