blob: 2d5e46f4ef1c871fe5bfe5d7f1764721297deca4 [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"
Andrew Geisslereff27472021-10-29 15:35:00 -05007DEPENDS += "${@bb.utils.contains('UBOOT_ENV_SUFFIX', 'scr', 'u-boot-mkimage-native', '', d)}"
Brad Bishop19323692019-04-05 15:28:33 -04008
Andrew Geissler09036742021-06-25 14:25:14 -05009inherit uboot-config uboot-extlinux-config uboot-sign deploy cml1 python3native kernel-arch
Patrick Williamsc124f4f2015-09-15 14:41:29 -050010
Andrew Geissler82c905d2020-04-13 13:39:40 -050011DEPENDS += "swig-native"
Brad Bishopd5ae7d92018-06-14 09:52:03 -070012
Patrick Williamsc124f4f2015-09-15 14:41:29 -050013EXTRA_OEMAKE = 'CROSS_COMPILE=${TARGET_PREFIX} CC="${TARGET_PREFIX}gcc ${TOOLCHAIN_OPTIONS}" V=1'
14EXTRA_OEMAKE += 'HOSTCC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}"'
Andrew Geissler82c905d2020-04-13 13:39:40 -050015EXTRA_OEMAKE += 'STAGING_INCDIR=${STAGING_INCDIR_NATIVE} STAGING_LIBDIR=${STAGING_LIBDIR_NATIVE}'
Patrick Williamsc124f4f2015-09-15 14:41:29 -050016
17PACKAGECONFIG ??= "openssl"
18# u-boot will compile its own tools during the build, with specific
19# configurations (aka when CONFIG_FIT_SIGNATURE is enabled) openssl is needed as
20# a host build dependency.
21PACKAGECONFIG[openssl] = ",,openssl-native"
22
23# Allow setting an additional version string that will be picked up by the
24# u-boot build system and appended to the u-boot version. If the .scmversion
25# file already exists it will not be overwritten.
26UBOOT_LOCALVERSION ?= ""
27
Brad Bishop19323692019-04-05 15:28:33 -040028do_configure () {
Andrew Geissler5a43b432020-06-13 10:46:56 -050029 if [ -n "${UBOOT_CONFIG}" ]; then
30 unset i j
31 for config in ${UBOOT_MACHINE}; do
32 i=$(expr $i + 1);
33 for type in ${UBOOT_CONFIG}; do
34 j=$(expr $j + 1);
35 if [ $j -eq $i ]; then
36 oe_runmake -C ${S} O=${B}/${config} ${config}
Andrew Geisslerb7d28612020-07-24 16:15:54 -050037 if [ -n "${@' '.join(find_cfgs(d))}" ]; then
Andrew Geisslerd25ed322020-06-27 00:28:28 -050038 merge_config.sh -m -O ${B}/${config} ${B}/${config}/.config ${@" ".join(find_cfgs(d))}
39 oe_runmake -C ${S} O=${B}/${config} oldconfig
40 fi
Andrew Geissler5a43b432020-06-13 10:46:56 -050041 fi
42 done
43 unset j
44 done
45 unset i
46 DEVTOOL_DISABLE_MENUCONFIG=true
47 else
Brad Bishop19323692019-04-05 15:28:33 -040048 if [ -n "${UBOOT_MACHINE}" ]; then
49 oe_runmake -C ${S} O=${B} ${UBOOT_MACHINE}
50 else
51 oe_runmake -C ${S} O=${B} oldconfig
52 fi
53 merge_config.sh -m .config ${@" ".join(find_cfgs(d))}
54 cml1_do_configure
55 fi
56}
57
Patrick Williamsc124f4f2015-09-15 14:41:29 -050058do_compile () {
Andrew Geissler4ed12e12020-06-05 18:00:41 -050059 if [ "${@bb.utils.filter('DISTRO_FEATURES', 'ld-is-gold', d)}" ]; then
60 sed -i 's/$(CROSS_COMPILE)ld$/$(CROSS_COMPILE)ld.bfd/g' ${S}/config.mk
61 fi
Patrick Williamsc124f4f2015-09-15 14:41:29 -050062
Andrew Geissler4ed12e12020-06-05 18:00:41 -050063 unset LDFLAGS
64 unset CFLAGS
65 unset CPPFLAGS
Patrick Williamsc124f4f2015-09-15 14:41:29 -050066
Andrew Geissler4ed12e12020-06-05 18:00:41 -050067 if [ ! -e ${B}/.scmversion -a ! -e ${S}/.scmversion ]
68 then
69 echo ${UBOOT_LOCALVERSION} > ${B}/.scmversion
70 echo ${UBOOT_LOCALVERSION} > ${S}/.scmversion
71 fi
Patrick Williamsc0f7c042017-02-23 20:41:17 -060072
Andrew Geisslerd25ed322020-06-27 00:28:28 -050073 if [ -n "${UBOOT_CONFIG}" -o -n "${UBOOT_DELTA_CONFIG}" ]
Patrick Williamsc124f4f2015-09-15 14:41:29 -050074 then
Patrick Williamsc0f7c042017-02-23 20:41:17 -060075 unset i j k
Patrick Williamsc124f4f2015-09-15 14:41:29 -050076 for config in ${UBOOT_MACHINE}; do
Patrick Williamsc0f7c042017-02-23 20:41:17 -060077 i=$(expr $i + 1);
78 for type in ${UBOOT_CONFIG}; do
79 j=$(expr $j + 1);
Patrick Williamsc124f4f2015-09-15 14:41:29 -050080 if [ $j -eq $i ]
81 then
Patrick Williamsc0f7c042017-02-23 20:41:17 -060082 oe_runmake -C ${S} O=${B}/${config} ${UBOOT_MAKE_TARGET}
83 for binary in ${UBOOT_BINARIES}; do
84 k=$(expr $k + 1);
85 if [ $k -eq $i ]; then
Andrew Geisslerd159c7f2021-09-02 21:05:58 -050086 cp ${B}/${config}/${binary} ${B}/${config}/${UBOOT_BINARYNAME}-${type}.${UBOOT_SUFFIX}
Patrick Williamsc0f7c042017-02-23 20:41:17 -060087 fi
88 done
Andrew Geissler82c905d2020-04-13 13:39:40 -050089
90 # Generate the uboot-initial-env
Andrew Geissler4ed12e12020-06-05 18:00:41 -050091 if [ -n "${UBOOT_INITIAL_ENV}" ]; then
92 oe_runmake -C ${S} O=${B}/${config} u-boot-initial-env
93 cp ${B}/${config}/u-boot-initial-env ${B}/${config}/u-boot-initial-env-${type}
94 fi
Andrew Geissler82c905d2020-04-13 13:39:40 -050095
Patrick Williamsc0f7c042017-02-23 20:41:17 -060096 unset k
Patrick Williamsc124f4f2015-09-15 14:41:29 -050097 fi
98 done
Andrew Geissler4ed12e12020-06-05 18:00:41 -050099 unset j
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500100 done
Andrew Geissler4ed12e12020-06-05 18:00:41 -0500101 unset i
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500102 else
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600103 oe_runmake -C ${S} O=${B} ${UBOOT_MAKE_TARGET}
Andrew Geissler82c905d2020-04-13 13:39:40 -0500104
105 # Generate the uboot-initial-env
Andrew Geissler4ed12e12020-06-05 18:00:41 -0500106 if [ -n "${UBOOT_INITIAL_ENV}" ]; then
107 oe_runmake -C ${S} O=${B} u-boot-initial-env
108 fi
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500109 fi
Andrew Geisslereff27472021-10-29 15:35:00 -0500110
111 if [ -n "${UBOOT_ENV}" ] && [ "${UBOOT_ENV_SUFFIX}" = "scr" ]
112 then
113 ${UBOOT_MKIMAGE} -C none -A ${UBOOT_ARCH} -T script -d ${WORKDIR}/${UBOOT_ENV_SRC} ${WORKDIR}/${UBOOT_ENV_BINARY}
114 fi
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500115}
116
117do_install () {
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600118 if [ -n "${UBOOT_CONFIG}" ]
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500119 then
120 for config in ${UBOOT_MACHINE}; do
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600121 i=$(expr $i + 1);
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500122 for type in ${UBOOT_CONFIG}; do
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600123 j=$(expr $j + 1);
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500124 if [ $j -eq $i ]
125 then
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500126 install -D -m 644 ${B}/${config}/${UBOOT_BINARYNAME}-${type}.${UBOOT_SUFFIX} ${D}/boot/${UBOOT_BINARYNAME}-${type}-${PV}-${PR}.${UBOOT_SUFFIX}
127 ln -sf ${UBOOT_BINARYNAME}-${type}-${PV}-${PR}.${UBOOT_SUFFIX} ${D}/boot/${UBOOT_BINARY}-${type}
128 ln -sf ${UBOOT_BINARYNAME}-${type}-${PV}-${PR}.${UBOOT_SUFFIX} ${D}/boot/${UBOOT_BINARY}
Andrew Geissler82c905d2020-04-13 13:39:40 -0500129
130 # Install the uboot-initial-env
Andrew Geissler4ed12e12020-06-05 18:00:41 -0500131 if [ -n "${UBOOT_INITIAL_ENV}" ]; then
132 install -D -m 644 ${B}/${config}/u-boot-initial-env-${type} ${D}/${sysconfdir}/${UBOOT_INITIAL_ENV}-${MACHINE}-${type}-${PV}-${PR}
133 ln -sf ${UBOOT_INITIAL_ENV}-${MACHINE}-${type}-${PV}-${PR} ${D}/${sysconfdir}/${UBOOT_INITIAL_ENV}-${MACHINE}-${type}
134 ln -sf ${UBOOT_INITIAL_ENV}-${MACHINE}-${type}-${PV}-${PR} ${D}/${sysconfdir}/${UBOOT_INITIAL_ENV}-${type}
135 ln -sf ${UBOOT_INITIAL_ENV}-${MACHINE}-${type}-${PV}-${PR} ${D}/${sysconfdir}/${UBOOT_INITIAL_ENV}
136 fi
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500137 fi
138 done
Andrew Geissler4ed12e12020-06-05 18:00:41 -0500139 unset j
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500140 done
Andrew Geissler4ed12e12020-06-05 18:00:41 -0500141 unset i
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500142 else
Andrew Geissler82c905d2020-04-13 13:39:40 -0500143 install -D -m 644 ${B}/${UBOOT_BINARY} ${D}/boot/${UBOOT_IMAGE}
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500144 ln -sf ${UBOOT_IMAGE} ${D}/boot/${UBOOT_BINARY}
Andrew Geissler82c905d2020-04-13 13:39:40 -0500145
146 # Install the uboot-initial-env
Andrew Geissler4ed12e12020-06-05 18:00:41 -0500147 if [ -n "${UBOOT_INITIAL_ENV}" ]; then
148 install -D -m 644 ${B}/u-boot-initial-env ${D}/${sysconfdir}/${UBOOT_INITIAL_ENV}-${MACHINE}-${PV}-${PR}
149 ln -sf ${UBOOT_INITIAL_ENV}-${MACHINE}-${PV}-${PR} ${D}/${sysconfdir}/${UBOOT_INITIAL_ENV}-${MACHINE}
150 ln -sf ${UBOOT_INITIAL_ENV}-${MACHINE}-${PV}-${PR} ${D}/${sysconfdir}/${UBOOT_INITIAL_ENV}
151 fi
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500152 fi
153
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600154 if [ -n "${UBOOT_ELF}" ]
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500155 then
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600156 if [ -n "${UBOOT_CONFIG}" ]
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500157 then
158 for config in ${UBOOT_MACHINE}; do
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600159 i=$(expr $i + 1);
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500160 for type in ${UBOOT_CONFIG}; do
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600161 j=$(expr $j + 1);
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500162 if [ $j -eq $i ]
163 then
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600164 install -m 644 ${B}/${config}/${UBOOT_ELF} ${D}/boot/u-boot-${type}-${PV}-${PR}.${UBOOT_ELF_SUFFIX}
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500165 ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_ELF_SUFFIX} ${D}/boot/${UBOOT_BINARY}-${type}
166 ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_ELF_SUFFIX} ${D}/boot/${UBOOT_BINARY}
167 fi
168 done
169 unset j
170 done
171 unset i
172 else
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600173 install -m 644 ${B}/${UBOOT_ELF} ${D}/boot/${UBOOT_ELF_IMAGE}
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500174 ln -sf ${UBOOT_ELF_IMAGE} ${D}/boot/${UBOOT_ELF_BINARY}
175 fi
176 fi
177
178 if [ -e ${WORKDIR}/fw_env.config ] ; then
179 install -d ${D}${sysconfdir}
180 install -m 644 ${WORKDIR}/fw_env.config ${D}${sysconfdir}/fw_env.config
181 fi
182
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600183 if [ -n "${SPL_BINARY}" ]
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500184 then
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600185 if [ -n "${UBOOT_CONFIG}" ]
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500186 then
187 for config in ${UBOOT_MACHINE}; do
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600188 i=$(expr $i + 1);
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500189 for type in ${UBOOT_CONFIG}; do
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600190 j=$(expr $j + 1);
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500191 if [ $j -eq $i ]
192 then
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500193 install -m 644 ${B}/${config}/${SPL_BINARY} ${D}/boot/${SPL_BINARYNAME}-${type}-${PV}-${PR}${SPL_DELIMITER}${SPL_SUFFIX}
194 ln -sf ${SPL_BINARYNAME}-${type}-${PV}-${PR}${SPL_DELIMITER}${SPL_SUFFIX} ${D}/boot/${SPL_BINARYFILE}-${type}
195 ln -sf ${SPL_BINARYNAME}-${type}-${PV}-${PR}${SPL_DELIMITER}${SPL_SUFFIX} ${D}/boot/${SPL_BINARYFILE}
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500196 fi
197 done
Andrew Geissler4ed12e12020-06-05 18:00:41 -0500198 unset j
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500199 done
Andrew Geissler4ed12e12020-06-05 18:00:41 -0500200 unset i
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500201 else
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600202 install -m 644 ${B}/${SPL_BINARY} ${D}/boot/${SPL_IMAGE}
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500203 ln -sf ${SPL_IMAGE} ${D}/boot/${SPL_BINARYFILE}
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500204 fi
205 fi
206
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600207 if [ -n "${UBOOT_ENV}" ]
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500208 then
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600209 install -m 644 ${WORKDIR}/${UBOOT_ENV_BINARY} ${D}/boot/${UBOOT_ENV_IMAGE}
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500210 ln -sf ${UBOOT_ENV_IMAGE} ${D}/boot/${UBOOT_ENV_BINARY}
211 fi
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600212
213 if [ "${UBOOT_EXTLINUX}" = "1" ]
214 then
215 install -Dm 0644 ${UBOOT_EXTLINUX_CONFIG} ${D}/${UBOOT_EXTLINUX_INSTALL_DIR}/${UBOOT_EXTLINUX_CONF_NAME}
216 fi
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500217}
218
Patrick Williams0ca19cc2021-08-16 14:03:13 -0500219PACKAGE_BEFORE_PN += "${PN}-env ${PN}-extlinux"
Andrew Geissler82c905d2020-04-13 13:39:40 -0500220
Patrick Williams213cb262021-08-07 19:21:33 -0500221RPROVIDES:${PN}-env += "u-boot-default-env"
222ALLOW_EMPTY:${PN}-env = "1"
223FILES:${PN}-env = " \
Andrew Geissler4ed12e12020-06-05 18:00:41 -0500224 ${@ '${sysconfdir}/${UBOOT_INITIAL_ENV}*' if d.getVar('UBOOT_INITIAL_ENV') else ''} \
Andrew Geissler82c905d2020-04-13 13:39:40 -0500225 ${sysconfdir}/fw_env.config \
226"
227
Patrick Williams0ca19cc2021-08-16 14:03:13 -0500228FILES:${PN}-extlinux = "${UBOOT_EXTLINUX_INSTALL_DIR}/${UBOOT_EXTLINUX_CONF_NAME}"
229RDEPENDS:${PN} += "${@bb.utils.contains('UBOOT_EXTLINUX', '1', '${PN}-extlinux', '', d)}"
230
Patrick Williams213cb262021-08-07 19:21:33 -0500231FILES:${PN} = "/boot ${datadir}"
232RDEPENDS:${PN} += "${PN}-env"
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500233
234do_deploy () {
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600235 if [ -n "${UBOOT_CONFIG}" ]
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500236 then
237 for config in ${UBOOT_MACHINE}; do
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600238 i=$(expr $i + 1);
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500239 for type in ${UBOOT_CONFIG}; do
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600240 j=$(expr $j + 1);
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500241 if [ $j -eq $i ]
242 then
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500243 install -D -m 644 ${B}/${config}/${UBOOT_BINARYNAME}-${type}.${UBOOT_SUFFIX} ${DEPLOYDIR}/${UBOOT_BINARYNAME}-${type}-${PV}-${PR}.${UBOOT_SUFFIX}
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500244 cd ${DEPLOYDIR}
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500245 ln -sf ${UBOOT_BINARYNAME}-${type}-${PV}-${PR}.${UBOOT_SUFFIX} ${UBOOT_SYMLINK}-${type}
246 ln -sf ${UBOOT_BINARYNAME}-${type}-${PV}-${PR}.${UBOOT_SUFFIX} ${UBOOT_SYMLINK}
247 ln -sf ${UBOOT_BINARYNAME}-${type}-${PV}-${PR}.${UBOOT_SUFFIX} ${UBOOT_BINARY}-${type}
248 ln -sf ${UBOOT_BINARYNAME}-${type}-${PV}-${PR}.${UBOOT_SUFFIX} ${UBOOT_BINARY}
Andrew Geissler82c905d2020-04-13 13:39:40 -0500249
250 # Deploy the uboot-initial-env
Andrew Geissler4ed12e12020-06-05 18:00:41 -0500251 if [ -n "${UBOOT_INITIAL_ENV}" ]; then
252 install -D -m 644 ${B}/${config}/u-boot-initial-env-${type} ${DEPLOYDIR}/${UBOOT_INITIAL_ENV}-${MACHINE}-${type}-${PV}-${PR}
253 cd ${DEPLOYDIR}
254 ln -sf ${UBOOT_INITIAL_ENV}-${MACHINE}-${type}-${PV}-${PR} ${UBOOT_INITIAL_ENV}-${MACHINE}-${type}
255 ln -sf ${UBOOT_INITIAL_ENV}-${MACHINE}-${type}-${PV}-${PR} ${UBOOT_INITIAL_ENV}-${type}
256 fi
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600257 fi
258 done
Andrew Geissler4ed12e12020-06-05 18:00:41 -0500259 unset j
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500260 done
Andrew Geissler4ed12e12020-06-05 18:00:41 -0500261 unset i
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500262 else
Andrew Geissler82c905d2020-04-13 13:39:40 -0500263 install -D -m 644 ${B}/${UBOOT_BINARY} ${DEPLOYDIR}/${UBOOT_IMAGE}
264
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500265 cd ${DEPLOYDIR}
266 rm -f ${UBOOT_BINARY} ${UBOOT_SYMLINK}
267 ln -sf ${UBOOT_IMAGE} ${UBOOT_SYMLINK}
268 ln -sf ${UBOOT_IMAGE} ${UBOOT_BINARY}
Andrew Geissler82c905d2020-04-13 13:39:40 -0500269
270 # Deploy the uboot-initial-env
Andrew Geissler4ed12e12020-06-05 18:00:41 -0500271 if [ -n "${UBOOT_INITIAL_ENV}" ]; then
272 install -D -m 644 ${B}/u-boot-initial-env ${DEPLOYDIR}/${UBOOT_INITIAL_ENV}-${MACHINE}-${PV}-${PR}
273 cd ${DEPLOYDIR}
274 ln -sf ${UBOOT_INITIAL_ENV}-${MACHINE}-${PV}-${PR} ${UBOOT_INITIAL_ENV}-${MACHINE}
275 ln -sf ${UBOOT_INITIAL_ENV}-${MACHINE}-${PV}-${PR} ${UBOOT_INITIAL_ENV}
276 fi
Andrew Geissler82c905d2020-04-13 13:39:40 -0500277 fi
278
279 if [ -e ${WORKDIR}/fw_env.config ] ; then
280 install -D -m 644 ${WORKDIR}/fw_env.config ${DEPLOYDIR}/fw_env.config-${MACHINE}-${PV}-${PR}
281 cd ${DEPLOYDIR}
282 ln -sf fw_env.config-${MACHINE}-${PV}-${PR} fw_env.config-${MACHINE}
283 ln -sf fw_env.config-${MACHINE}-${PV}-${PR} fw_env.config
Brad Bishop1a4b7ee2018-12-16 17:11:34 -0800284 fi
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500285
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600286 if [ -n "${UBOOT_ELF}" ]
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500287 then
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600288 if [ -n "${UBOOT_CONFIG}" ]
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500289 then
290 for config in ${UBOOT_MACHINE}; do
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600291 i=$(expr $i + 1);
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500292 for type in ${UBOOT_CONFIG}; do
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600293 j=$(expr $j + 1);
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500294 if [ $j -eq $i ]
295 then
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600296 install -m 644 ${B}/${config}/${UBOOT_ELF} ${DEPLOYDIR}/u-boot-${type}-${PV}-${PR}.${UBOOT_ELF_SUFFIX}
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500297 ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_ELF_SUFFIX} ${DEPLOYDIR}/${UBOOT_ELF_BINARY}-${type}
298 ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_ELF_SUFFIX} ${DEPLOYDIR}/${UBOOT_ELF_BINARY}
299 ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_ELF_SUFFIX} ${DEPLOYDIR}/${UBOOT_ELF_SYMLINK}-${type}
300 ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_ELF_SUFFIX} ${DEPLOYDIR}/${UBOOT_ELF_SYMLINK}
301 fi
302 done
303 unset j
304 done
305 unset i
306 else
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600307 install -m 644 ${B}/${UBOOT_ELF} ${DEPLOYDIR}/${UBOOT_ELF_IMAGE}
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500308 ln -sf ${UBOOT_ELF_IMAGE} ${DEPLOYDIR}/${UBOOT_ELF_BINARY}
309 ln -sf ${UBOOT_ELF_IMAGE} ${DEPLOYDIR}/${UBOOT_ELF_SYMLINK}
310 fi
311 fi
312
313
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600314 if [ -n "${SPL_BINARY}" ]
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500315 then
Brad Bishop1a4b7ee2018-12-16 17:11:34 -0800316 if [ -n "${UBOOT_CONFIG}" ]
317 then
318 for config in ${UBOOT_MACHINE}; do
319 i=$(expr $i + 1);
320 for type in ${UBOOT_CONFIG}; do
321 j=$(expr $j + 1);
322 if [ $j -eq $i ]
323 then
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500324 install -m 644 ${B}/${config}/${SPL_BINARY} ${DEPLOYDIR}/${SPL_BINARYNAME}-${type}-${PV}-${PR}${SPL_DELIMITER}${SPL_SUFFIX}
325 rm -f ${DEPLOYDIR}/${SPL_BINARYFILE} ${DEPLOYDIR}/${SPL_SYMLINK}
326 ln -sf ${SPL_BINARYNAME}-${type}-${PV}-${PR}${SPL_DELIMITER}${SPL_SUFFIX} ${DEPLOYDIR}/${SPL_BINARYFILE}-${type}
327 ln -sf ${SPL_BINARYNAME}-${type}-${PV}-${PR}${SPL_DELIMITER}${SPL_SUFFIX} ${DEPLOYDIR}/${SPL_BINARYFILE}
328 ln -sf ${SPL_BINARYNAME}-${type}-${PV}-${PR}${SPL_DELIMITER}${SPL_SUFFIX} ${DEPLOYDIR}/${SPL_SYMLINK}-${type}
329 ln -sf ${SPL_BINARYNAME}-${type}-${PV}-${PR}${SPL_DELIMITER}${SPL_SUFFIX} ${DEPLOYDIR}/${SPL_SYMLINK}
Brad Bishop1a4b7ee2018-12-16 17:11:34 -0800330 fi
331 done
Andrew Geissler4ed12e12020-06-05 18:00:41 -0500332 unset j
Brad Bishop1a4b7ee2018-12-16 17:11:34 -0800333 done
Andrew Geissler4ed12e12020-06-05 18:00:41 -0500334 unset i
Brad Bishop1a4b7ee2018-12-16 17:11:34 -0800335 else
336 install -m 644 ${B}/${SPL_BINARY} ${DEPLOYDIR}/${SPL_IMAGE}
337 rm -f ${DEPLOYDIR}/${SPL_BINARYNAME} ${DEPLOYDIR}/${SPL_SYMLINK}
338 ln -sf ${SPL_IMAGE} ${DEPLOYDIR}/${SPL_BINARYNAME}
339 ln -sf ${SPL_IMAGE} ${DEPLOYDIR}/${SPL_SYMLINK}
340 fi
341 fi
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500342
343
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600344 if [ -n "${UBOOT_ENV}" ]
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500345 then
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600346 install -m 644 ${WORKDIR}/${UBOOT_ENV_BINARY} ${DEPLOYDIR}/${UBOOT_ENV_IMAGE}
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500347 rm -f ${DEPLOYDIR}/${UBOOT_ENV_BINARY} ${DEPLOYDIR}/${UBOOT_ENV_SYMLINK}
348 ln -sf ${UBOOT_ENV_IMAGE} ${DEPLOYDIR}/${UBOOT_ENV_BINARY}
349 ln -sf ${UBOOT_ENV_IMAGE} ${DEPLOYDIR}/${UBOOT_ENV_SYMLINK}
350 fi
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600351
352 if [ "${UBOOT_EXTLINUX}" = "1" ]
353 then
354 install -m 644 ${UBOOT_EXTLINUX_CONFIG} ${DEPLOYDIR}/${UBOOT_EXTLINUX_SYMLINK}
355 ln -sf ${UBOOT_EXTLINUX_SYMLINK} ${DEPLOYDIR}/${UBOOT_EXTLINUX_CONF_NAME}-${MACHINE}
356 ln -sf ${UBOOT_EXTLINUX_SYMLINK} ${DEPLOYDIR}/${UBOOT_EXTLINUX_CONF_NAME}
357 fi
Andrew Geissler09036742021-06-25 14:25:14 -0500358
359 if [ -n "${UBOOT_DTB}" ]
360 then
361 install -m 644 ${B}/arch/${UBOOT_ARCH}/dts/${UBOOT_DTB_BINARY} ${DEPLOYDIR}/
362 fi
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500363}
364
Brad Bishopd7bf8c12018-02-25 22:55:05 -0500365addtask deploy before do_build after do_compile