blob: 80f828df520648a1785879eaad8cb6431e6d2759 [file] [log] [blame]
Patrick Williamsc124f4f2015-09-15 14:41:29 -05001SUMMARY = "Universal Boot Loader for embedded devices"
Patrick Williamsc124f4f2015-09-15 14:41:29 -05002PROVIDES = "virtual/bootloader"
3
Patrick Williamsc124f4f2015-09-15 14:41:29 -05004PACKAGE_ARCH = "${MACHINE_ARCH}"
5
Brad Bishop19323692019-04-05 15:28:33 -04006DEPENDS += "kern-tools-native"
7
Andrew Geissler82c905d2020-04-13 13:39:40 -05008inherit uboot-config uboot-extlinux-config uboot-sign deploy cml1 python3native
Patrick Williamsc124f4f2015-09-15 14:41:29 -05009
Andrew Geissler82c905d2020-04-13 13:39:40 -050010DEPENDS += "swig-native"
Brad Bishopd5ae7d92018-06-14 09:52:03 -070011
Patrick Williamsc124f4f2015-09-15 14:41:29 -050012EXTRA_OEMAKE = 'CROSS_COMPILE=${TARGET_PREFIX} CC="${TARGET_PREFIX}gcc ${TOOLCHAIN_OPTIONS}" V=1'
13EXTRA_OEMAKE += 'HOSTCC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}"'
Andrew Geissler82c905d2020-04-13 13:39:40 -050014EXTRA_OEMAKE += 'STAGING_INCDIR=${STAGING_INCDIR_NATIVE} STAGING_LIBDIR=${STAGING_LIBDIR_NATIVE}'
Patrick Williamsc124f4f2015-09-15 14:41:29 -050015
16PACKAGECONFIG ??= "openssl"
17# u-boot will compile its own tools during the build, with specific
18# configurations (aka when CONFIG_FIT_SIGNATURE is enabled) openssl is needed as
19# a host build dependency.
20PACKAGECONFIG[openssl] = ",,openssl-native"
21
22# 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
24# file already exists it will not be overwritten.
25UBOOT_LOCALVERSION ?= ""
26
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}"
Patrick Williamsc124f4f2015-09-15 14:41:29 -050031UBOOT_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 ?= ""
Brad Bishop6e60e8b2018-02-01 10:27:11 -050048SPL_BINARYNAME ?= "${@os.path.basename(d.getVar("SPL_BINARY"))}"
Patrick Williamsd8c66bc2016-06-20 12:57:21 -050049SPL_IMAGE ?= "${SPL_BINARYNAME}-${MACHINE}-${PV}-${PR}"
50SPL_SYMLINK ?= "${SPL_BINARYNAME}-${MACHINE}"
Patrick Williamsc124f4f2015-09-15 14:41:29 -050051
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
Patrick Williamsc0f7c042017-02-23 20:41:17 -060063# U-Boot EXTLINUX variables. U-Boot searches for /boot/extlinux/extlinux.conf
64# to find EXTLINUX conf file.
65UBOOT_EXTLINUX_INSTALL_DIR ?= "/boot/extlinux"
66UBOOT_EXTLINUX_CONF_NAME ?= "extlinux.conf"
67UBOOT_EXTLINUX_SYMLINK ?= "${UBOOT_EXTLINUX_CONF_NAME}-${MACHINE}-${PR}"
68
Brad Bishop19323692019-04-05 15:28:33 -040069# returns all the elements from the src uri that are .cfg files
70def find_cfgs(d):
71 sources=src_patches(d, True)
72 sources_list=[]
73 for s in sources:
74 if s.endswith('.cfg'):
75 sources_list.append(s)
76
77 return sources_list
78
79do_configure () {
80 if [ -z "${UBOOT_CONFIG}" ]; then
81 if [ -n "${UBOOT_MACHINE}" ]; then
82 oe_runmake -C ${S} O=${B} ${UBOOT_MACHINE}
83 else
84 oe_runmake -C ${S} O=${B} oldconfig
85 fi
86 merge_config.sh -m .config ${@" ".join(find_cfgs(d))}
87 cml1_do_configure
Andrew Geissler82c905d2020-04-13 13:39:40 -050088 else
89 DEVTOOL_DISABLE_MENUCONFIG=true
Brad Bishop19323692019-04-05 15:28:33 -040090 fi
91}
92
Patrick Williamsc124f4f2015-09-15 14:41:29 -050093do_compile () {
Brad Bishop6e60e8b2018-02-01 10:27:11 -050094 if [ "${@bb.utils.filter('DISTRO_FEATURES', 'ld-is-gold', d)}" ]; then
Patrick Williamsc0f7c042017-02-23 20:41:17 -060095 sed -i 's/$(CROSS_COMPILE)ld$/$(CROSS_COMPILE)ld.bfd/g' ${S}/config.mk
Patrick Williamsc124f4f2015-09-15 14:41:29 -050096 fi
97
98 unset LDFLAGS
99 unset CFLAGS
100 unset CPPFLAGS
101
102 if [ ! -e ${B}/.scmversion -a ! -e ${S}/.scmversion ]
103 then
104 echo ${UBOOT_LOCALVERSION} > ${B}/.scmversion
105 echo ${UBOOT_LOCALVERSION} > ${S}/.scmversion
106 fi
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600107
108 if [ -n "${UBOOT_CONFIG}" ]
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500109 then
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600110 unset i j k
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500111 for config in ${UBOOT_MACHINE}; do
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600112 i=$(expr $i + 1);
113 for type in ${UBOOT_CONFIG}; do
114 j=$(expr $j + 1);
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500115 if [ $j -eq $i ]
116 then
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600117 oe_runmake -C ${S} O=${B}/${config} ${config}
118 oe_runmake -C ${S} O=${B}/${config} ${UBOOT_MAKE_TARGET}
119 for binary in ${UBOOT_BINARIES}; do
120 k=$(expr $k + 1);
121 if [ $k -eq $i ]; then
122 cp ${B}/${config}/${binary} ${B}/${config}/u-boot-${type}.${UBOOT_SUFFIX}
123 fi
124 done
Andrew Geissler82c905d2020-04-13 13:39:40 -0500125
126 # Generate the uboot-initial-env
127 oe_runmake -C ${S} O=${B}/${config} u-boot-initial-env
128 cp ${B}/${config}/u-boot-initial-env ${B}/${config}/u-boot-initial-env-${type}
129
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600130 unset k
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500131 fi
132 done
133 unset j
134 done
135 unset i
136 else
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600137 oe_runmake -C ${S} O=${B} ${UBOOT_MAKE_TARGET}
Andrew Geissler82c905d2020-04-13 13:39:40 -0500138
139 # Generate the uboot-initial-env
140 oe_runmake -C ${S} O=${B} u-boot-initial-env
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500141 fi
142
143}
144
145do_install () {
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600146 if [ -n "${UBOOT_CONFIG}" ]
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500147 then
148 for config in ${UBOOT_MACHINE}; do
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600149 i=$(expr $i + 1);
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500150 for type in ${UBOOT_CONFIG}; do
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600151 j=$(expr $j + 1);
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500152 if [ $j -eq $i ]
153 then
Andrew Geissler82c905d2020-04-13 13:39:40 -0500154 install -D -m 644 ${B}/${config}/u-boot-${type}.${UBOOT_SUFFIX} ${D}/boot/u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX}
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500155 ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX} ${D}/boot/${UBOOT_BINARY}-${type}
156 ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX} ${D}/boot/${UBOOT_BINARY}
Andrew Geissler82c905d2020-04-13 13:39:40 -0500157
158 # Install the uboot-initial-env
159 install -D -m 644 ${B}/${config}/u-boot-initial-env-${type} ${D}/${sysconfdir}/${PN}-initial-env-${MACHINE}-${type}-${PV}-${PR}
160 ln -sf ${PN}-initial-env-${MACHINE}-${type}-${PV}-${PR} ${D}/${sysconfdir}/${PN}-initial-env-${MACHINE}-${type}
161 ln -sf ${PN}-initial-env-${MACHINE}-${type}-${PV}-${PR} ${D}/${sysconfdir}/${PN}-initial-env-${type}
162 ln -sf ${PN}-initial-env-${MACHINE}-${type}-${PV}-${PR} ${D}/${sysconfdir}/${PN}-initial-env
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500163 fi
164 done
165 unset j
166 done
167 unset i
168 else
Andrew Geissler82c905d2020-04-13 13:39:40 -0500169 install -D -m 644 ${B}/${UBOOT_BINARY} ${D}/boot/${UBOOT_IMAGE}
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500170 ln -sf ${UBOOT_IMAGE} ${D}/boot/${UBOOT_BINARY}
Andrew Geissler82c905d2020-04-13 13:39:40 -0500171
172 # Install the uboot-initial-env
173 install -D -m 644 ${B}/u-boot-initial-env ${D}/${sysconfdir}/${PN}-initial-env-${MACHINE}-${PV}-${PR}
174 ln -sf ${PN}-initial-env-${MACHINE}-${PV}-${PR} ${D}/${sysconfdir}/${PN}-initial-env-${MACHINE}
175 ln -sf ${PN}-initial-env-${MACHINE}-${PV}-${PR} ${D}/${sysconfdir}/${PN}-initial-env
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500176 fi
177
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600178 if [ -n "${UBOOT_ELF}" ]
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500179 then
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600180 if [ -n "${UBOOT_CONFIG}" ]
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500181 then
182 for config in ${UBOOT_MACHINE}; do
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600183 i=$(expr $i + 1);
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500184 for type in ${UBOOT_CONFIG}; do
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600185 j=$(expr $j + 1);
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500186 if [ $j -eq $i ]
187 then
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600188 install -m 644 ${B}/${config}/${UBOOT_ELF} ${D}/boot/u-boot-${type}-${PV}-${PR}.${UBOOT_ELF_SUFFIX}
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500189 ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_ELF_SUFFIX} ${D}/boot/${UBOOT_BINARY}-${type}
190 ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_ELF_SUFFIX} ${D}/boot/${UBOOT_BINARY}
191 fi
192 done
193 unset j
194 done
195 unset i
196 else
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600197 install -m 644 ${B}/${UBOOT_ELF} ${D}/boot/${UBOOT_ELF_IMAGE}
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500198 ln -sf ${UBOOT_ELF_IMAGE} ${D}/boot/${UBOOT_ELF_BINARY}
199 fi
200 fi
201
202 if [ -e ${WORKDIR}/fw_env.config ] ; then
203 install -d ${D}${sysconfdir}
204 install -m 644 ${WORKDIR}/fw_env.config ${D}${sysconfdir}/fw_env.config
205 fi
206
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600207 if [ -n "${SPL_BINARY}" ]
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500208 then
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600209 if [ -n "${UBOOT_CONFIG}" ]
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500210 then
211 for config in ${UBOOT_MACHINE}; do
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600212 i=$(expr $i + 1);
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500213 for type in ${UBOOT_CONFIG}; do
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600214 j=$(expr $j + 1);
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500215 if [ $j -eq $i ]
216 then
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600217 install -m 644 ${B}/${config}/${SPL_BINARY} ${D}/boot/${SPL_IMAGE}-${type}-${PV}-${PR}
Patrick Williamsd8c66bc2016-06-20 12:57:21 -0500218 ln -sf ${SPL_IMAGE}-${type}-${PV}-${PR} ${D}/boot/${SPL_BINARYNAME}-${type}
219 ln -sf ${SPL_IMAGE}-${type}-${PV}-${PR} ${D}/boot/${SPL_BINARYNAME}
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500220 fi
221 done
222 unset j
223 done
224 unset i
225 else
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600226 install -m 644 ${B}/${SPL_BINARY} ${D}/boot/${SPL_IMAGE}
Patrick Williamsd8c66bc2016-06-20 12:57:21 -0500227 ln -sf ${SPL_IMAGE} ${D}/boot/${SPL_BINARYNAME}
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500228 fi
229 fi
230
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600231 if [ -n "${UBOOT_ENV}" ]
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500232 then
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600233 install -m 644 ${WORKDIR}/${UBOOT_ENV_BINARY} ${D}/boot/${UBOOT_ENV_IMAGE}
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500234 ln -sf ${UBOOT_ENV_IMAGE} ${D}/boot/${UBOOT_ENV_BINARY}
235 fi
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600236
237 if [ "${UBOOT_EXTLINUX}" = "1" ]
238 then
239 install -Dm 0644 ${UBOOT_EXTLINUX_CONFIG} ${D}/${UBOOT_EXTLINUX_INSTALL_DIR}/${UBOOT_EXTLINUX_CONF_NAME}
240 fi
241
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500242}
243
Andrew Geissler82c905d2020-04-13 13:39:40 -0500244PACKAGE_BEFORE_PN += "${PN}-env"
245
246RPROVIDES_${PN}-env += "u-boot-default-env"
247FILES_${PN}-env = " \
248 ${sysconfdir}/${PN}-initial-env* \
249 ${sysconfdir}/fw_env.config \
250"
251
252FILES_${PN} = "/boot ${datadir}"
253RDEPENDS_${PN} += "${PN}-env"
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500254
255do_deploy () {
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600256 if [ -n "${UBOOT_CONFIG}" ]
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500257 then
258 for config in ${UBOOT_MACHINE}; do
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600259 i=$(expr $i + 1);
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500260 for type in ${UBOOT_CONFIG}; do
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600261 j=$(expr $j + 1);
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500262 if [ $j -eq $i ]
263 then
Andrew Geissler82c905d2020-04-13 13:39:40 -0500264 install -D -m 644 ${B}/${config}/u-boot-${type}.${UBOOT_SUFFIX} ${DEPLOYDIR}/u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX}
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500265 cd ${DEPLOYDIR}
266 ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX} ${UBOOT_SYMLINK}-${type}
267 ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX} ${UBOOT_SYMLINK}
268 ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX} ${UBOOT_BINARY}-${type}
269 ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX} ${UBOOT_BINARY}
Andrew Geissler82c905d2020-04-13 13:39:40 -0500270
271 # Deploy the uboot-initial-env
272 install -D -m 644 ${B}/${config}/u-boot-initial-env-${type} ${DEPLOYDIR}/${PN}-initial-env-${MACHINE}-${type}-${PV}-${PR}
273 cd ${DEPLOYDIR}
274 ln -sf ${PN}-initial-env-${MACHINE}-${type}-${PV}-${PR} ${PN}-initial-env-${MACHINE}-${type}
275 ln -sf ${PN}-initial-env-${MACHINE}-${type}-${PV}-${PR} ${PN}-initial-env-${type}
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600276 fi
277 done
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500278 unset j
279 done
280 unset i
281 else
Andrew Geissler82c905d2020-04-13 13:39:40 -0500282 install -D -m 644 ${B}/${UBOOT_BINARY} ${DEPLOYDIR}/${UBOOT_IMAGE}
283
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500284 cd ${DEPLOYDIR}
285 rm -f ${UBOOT_BINARY} ${UBOOT_SYMLINK}
286 ln -sf ${UBOOT_IMAGE} ${UBOOT_SYMLINK}
287 ln -sf ${UBOOT_IMAGE} ${UBOOT_BINARY}
Andrew Geissler82c905d2020-04-13 13:39:40 -0500288
289 # Deploy the uboot-initial-env
290 install -D -m 644 ${B}/u-boot-initial-env ${DEPLOYDIR}/${PN}-initial-env-${MACHINE}-${PV}-${PR}
291 cd ${DEPLOYDIR}
292 ln -sf ${PN}-initial-env-${MACHINE}-${PV}-${PR} ${PN}-initial-env-${MACHINE}
293 ln -sf ${PN}-initial-env-${MACHINE}-${PV}-${PR} ${PN}-initial-env
294 fi
295
296 if [ -e ${WORKDIR}/fw_env.config ] ; then
297 install -D -m 644 ${WORKDIR}/fw_env.config ${DEPLOYDIR}/fw_env.config-${MACHINE}-${PV}-${PR}
298 cd ${DEPLOYDIR}
299 ln -sf fw_env.config-${MACHINE}-${PV}-${PR} fw_env.config-${MACHINE}
300 ln -sf fw_env.config-${MACHINE}-${PV}-${PR} fw_env.config
Brad Bishop1a4b7ee2018-12-16 17:11:34 -0800301 fi
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500302
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600303 if [ -n "${UBOOT_ELF}" ]
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500304 then
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600305 if [ -n "${UBOOT_CONFIG}" ]
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500306 then
307 for config in ${UBOOT_MACHINE}; do
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600308 i=$(expr $i + 1);
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500309 for type in ${UBOOT_CONFIG}; do
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600310 j=$(expr $j + 1);
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500311 if [ $j -eq $i ]
312 then
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600313 install -m 644 ${B}/${config}/${UBOOT_ELF} ${DEPLOYDIR}/u-boot-${type}-${PV}-${PR}.${UBOOT_ELF_SUFFIX}
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500314 ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_ELF_SUFFIX} ${DEPLOYDIR}/${UBOOT_ELF_BINARY}-${type}
315 ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_ELF_SUFFIX} ${DEPLOYDIR}/${UBOOT_ELF_BINARY}
316 ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_ELF_SUFFIX} ${DEPLOYDIR}/${UBOOT_ELF_SYMLINK}-${type}
317 ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_ELF_SUFFIX} ${DEPLOYDIR}/${UBOOT_ELF_SYMLINK}
318 fi
319 done
320 unset j
321 done
322 unset i
323 else
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600324 install -m 644 ${B}/${UBOOT_ELF} ${DEPLOYDIR}/${UBOOT_ELF_IMAGE}
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500325 ln -sf ${UBOOT_ELF_IMAGE} ${DEPLOYDIR}/${UBOOT_ELF_BINARY}
326 ln -sf ${UBOOT_ELF_IMAGE} ${DEPLOYDIR}/${UBOOT_ELF_SYMLINK}
327 fi
328 fi
329
330
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600331 if [ -n "${SPL_BINARY}" ]
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500332 then
Brad Bishop1a4b7ee2018-12-16 17:11:34 -0800333 if [ -n "${UBOOT_CONFIG}" ]
334 then
335 for config in ${UBOOT_MACHINE}; do
336 i=$(expr $i + 1);
337 for type in ${UBOOT_CONFIG}; do
338 j=$(expr $j + 1);
339 if [ $j -eq $i ]
340 then
341 install -m 644 ${B}/${config}/${SPL_BINARY} ${DEPLOYDIR}/${SPL_IMAGE}-${type}-${PV}-${PR}
342 rm -f ${DEPLOYDIR}/${SPL_BINARYNAME} ${DEPLOYDIR}/${SPL_SYMLINK}-${type}
343 ln -sf ${SPL_IMAGE}-${type}-${PV}-${PR} ${DEPLOYDIR}/${SPL_BINARYNAME}-${type}
344 ln -sf ${SPL_IMAGE}-${type}-${PV}-${PR} ${DEPLOYDIR}/${SPL_BINARYNAME}
345 ln -sf ${SPL_IMAGE}-${type}-${PV}-${PR} ${DEPLOYDIR}/${SPL_SYMLINK}-${type}
346 ln -sf ${SPL_IMAGE}-${type}-${PV}-${PR} ${DEPLOYDIR}/${SPL_SYMLINK}
347 fi
348 done
349 unset j
350 done
351 unset i
352 else
353 install -m 644 ${B}/${SPL_BINARY} ${DEPLOYDIR}/${SPL_IMAGE}
354 rm -f ${DEPLOYDIR}/${SPL_BINARYNAME} ${DEPLOYDIR}/${SPL_SYMLINK}
355 ln -sf ${SPL_IMAGE} ${DEPLOYDIR}/${SPL_BINARYNAME}
356 ln -sf ${SPL_IMAGE} ${DEPLOYDIR}/${SPL_SYMLINK}
357 fi
358 fi
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500359
360
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600361 if [ -n "${UBOOT_ENV}" ]
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500362 then
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600363 install -m 644 ${WORKDIR}/${UBOOT_ENV_BINARY} ${DEPLOYDIR}/${UBOOT_ENV_IMAGE}
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500364 rm -f ${DEPLOYDIR}/${UBOOT_ENV_BINARY} ${DEPLOYDIR}/${UBOOT_ENV_SYMLINK}
365 ln -sf ${UBOOT_ENV_IMAGE} ${DEPLOYDIR}/${UBOOT_ENV_BINARY}
366 ln -sf ${UBOOT_ENV_IMAGE} ${DEPLOYDIR}/${UBOOT_ENV_SYMLINK}
367 fi
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600368
369 if [ "${UBOOT_EXTLINUX}" = "1" ]
370 then
371 install -m 644 ${UBOOT_EXTLINUX_CONFIG} ${DEPLOYDIR}/${UBOOT_EXTLINUX_SYMLINK}
372 ln -sf ${UBOOT_EXTLINUX_SYMLINK} ${DEPLOYDIR}/${UBOOT_EXTLINUX_CONF_NAME}-${MACHINE}
373 ln -sf ${UBOOT_EXTLINUX_SYMLINK} ${DEPLOYDIR}/${UBOOT_EXTLINUX_CONF_NAME}
374 fi
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500375}
376
Brad Bishopd7bf8c12018-02-25 22:55:05 -0500377addtask deploy before do_build after do_compile