diff options
author | Otavio Salvador <otavio.salvador@gmail.com> | 2020-04-01 21:14:31 -0300 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2020-04-02 15:24:59 +0100 |
commit | 4882a93566f2ef24787777d33950f12a9cc5db4e (patch) | |
tree | 046482aa2b17a7a2c8c363b1d365f0cbdb91eee9 /meta/recipes-bsp | |
parent | 40f37ab2312ada1f4d6e44d270f71d2e4e0ec637 (diff) | |
download | poky-4882a93566f2ef24787777d33950f12a9cc5db4e.tar.gz |
u-boot: Restore valid default environment for running system
One significant change from previous OE-Core releases was the move from
u-boot-fw-utils to libubootenv which offers a generic and not machine
specific alternative. However, it is not fully functional as currently
we don't provide the default environment nor the required configuration
file to be used by it.
This change address this and include on the default u-boot.inc the
needed code to generate, install and deploy the default environment.
(From OE-Core rev: 69b3b093079c2ca2744d6c02747c5d1b5d3e7ecf)
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-bsp')
-rw-r--r-- | meta/recipes-bsp/u-boot/u-boot.inc | 62 |
1 files changed, 53 insertions, 9 deletions
diff --git a/meta/recipes-bsp/u-boot/u-boot.inc b/meta/recipes-bsp/u-boot/u-boot.inc index 648298da0b..188e5295cf 100644 --- a/meta/recipes-bsp/u-boot/u-boot.inc +++ b/meta/recipes-bsp/u-boot/u-boot.inc | |||
@@ -122,6 +122,11 @@ do_compile () { | |||
122 | cp ${B}/${config}/${binary} ${B}/${config}/u-boot-${type}.${UBOOT_SUFFIX} | 122 | cp ${B}/${config}/${binary} ${B}/${config}/u-boot-${type}.${UBOOT_SUFFIX} |
123 | fi | 123 | fi |
124 | done | 124 | done |
125 | |||
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 | |||
125 | unset k | 130 | unset k |
126 | fi | 131 | fi |
127 | done | 132 | done |
@@ -130,6 +135,9 @@ do_compile () { | |||
130 | unset i | 135 | unset i |
131 | else | 136 | else |
132 | oe_runmake -C ${S} O=${B} ${UBOOT_MAKE_TARGET} | 137 | oe_runmake -C ${S} O=${B} ${UBOOT_MAKE_TARGET} |
138 | |||
139 | # Generate the uboot-initial-env | ||
140 | oe_runmake -C ${S} O=${B} u-boot-initial-env | ||
133 | fi | 141 | fi |
134 | 142 | ||
135 | } | 143 | } |
@@ -143,19 +151,28 @@ do_install () { | |||
143 | j=$(expr $j + 1); | 151 | j=$(expr $j + 1); |
144 | if [ $j -eq $i ] | 152 | if [ $j -eq $i ] |
145 | then | 153 | then |
146 | install -d ${D}/boot | 154 | install -D -m 644 ${B}/${config}/u-boot-${type}.${UBOOT_SUFFIX} ${D}/boot/u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX} |
147 | install -m 644 ${B}/${config}/u-boot-${type}.${UBOOT_SUFFIX} ${D}/boot/u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX} | ||
148 | ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX} ${D}/boot/${UBOOT_BINARY}-${type} | 155 | ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX} ${D}/boot/${UBOOT_BINARY}-${type} |
149 | ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX} ${D}/boot/${UBOOT_BINARY} | 156 | ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX} ${D}/boot/${UBOOT_BINARY} |
157 | |||
158 | # Install the uboot-initial-env | ||
159 | install -D -m 644 ${B}/${config}/u-boot-initial-env-${type} ${D}/${sysconfdir}/u-boot-initial-env-${MACHINE}-${type}-${PV}-${PR} | ||
160 | ln -sf u-boot-initial-env-${MACHINE}-${type}-${PV}-${PR} ${D}/${sysconfdir}/u-boot-initial-env-${MACHINE}-${type} | ||
161 | ln -sf u-boot-initial-env-${MACHINE}-${type}-${PV}-${PR} ${D}/${sysconfdir}/u-boot-initial-env-${type} | ||
162 | ln -sf u-boot-initial-env-${MACHINE}-${type}-${PV}-${PR} ${D}/${sysconfdir}/u-boot-initial-env | ||
150 | fi | 163 | fi |
151 | done | 164 | done |
152 | unset j | 165 | unset j |
153 | done | 166 | done |
154 | unset i | 167 | unset i |
155 | else | 168 | else |
156 | install -d ${D}/boot | 169 | install -D -m 644 ${B}/${UBOOT_BINARY} ${D}/boot/${UBOOT_IMAGE} |
157 | install -m 644 ${B}/${UBOOT_BINARY} ${D}/boot/${UBOOT_IMAGE} | ||
158 | ln -sf ${UBOOT_IMAGE} ${D}/boot/${UBOOT_BINARY} | 170 | ln -sf ${UBOOT_IMAGE} ${D}/boot/${UBOOT_BINARY} |
171 | |||
172 | # Install the uboot-initial-env | ||
173 | install -D -m 644 ${B}/u-boot-initial-env ${D}/${sysconfdir}/u-boot-initial-env-${MACHINE}-${PV}-${PR} | ||
174 | ln -sf u-boot-initial-env-${MACHINE}-${PV}-${PR} ${D}/${sysconfdir}/u-boot-initial-env-${MACHINE} | ||
175 | ln -sf u-boot-initial-env-${MACHINE}-${PV}-${PR} ${D}/${sysconfdir}/u-boot-initial-env | ||
159 | fi | 176 | fi |
160 | 177 | ||
161 | if [ -n "${UBOOT_ELF}" ] | 178 | if [ -n "${UBOOT_ELF}" ] |
@@ -224,7 +241,16 @@ do_install () { | |||
224 | 241 | ||
225 | } | 242 | } |
226 | 243 | ||
227 | FILES_${PN} = "/boot ${sysconfdir} ${datadir}" | 244 | PACKAGE_BEFORE_PN += "${PN}-env" |
245 | |||
246 | RPROVIDES_${PN}-env += "u-boot-default-env" | ||
247 | FILES_${PN}-env = " \ | ||
248 | ${sysconfdir}/u-boot-initial-env* \ | ||
249 | ${sysconfdir}/fw_env.config \ | ||
250 | " | ||
251 | |||
252 | FILES_${PN} = "/boot ${datadir}" | ||
253 | RDEPENDS_${PN} += "${PN}-env" | ||
228 | 254 | ||
229 | do_deploy () { | 255 | do_deploy () { |
230 | if [ -n "${UBOOT_CONFIG}" ] | 256 | if [ -n "${UBOOT_CONFIG}" ] |
@@ -235,25 +261,43 @@ do_deploy () { | |||
235 | j=$(expr $j + 1); | 261 | j=$(expr $j + 1); |
236 | if [ $j -eq $i ] | 262 | if [ $j -eq $i ] |
237 | then | 263 | then |
238 | install -d ${DEPLOYDIR} | 264 | install -D -m 644 ${B}/${config}/u-boot-${type}.${UBOOT_SUFFIX} ${DEPLOYDIR}/u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX} |
239 | install -m 644 ${B}/${config}/u-boot-${type}.${UBOOT_SUFFIX} ${DEPLOYDIR}/u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX} | ||
240 | cd ${DEPLOYDIR} | 265 | cd ${DEPLOYDIR} |
241 | ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX} ${UBOOT_SYMLINK}-${type} | 266 | ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX} ${UBOOT_SYMLINK}-${type} |
242 | ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX} ${UBOOT_SYMLINK} | 267 | ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX} ${UBOOT_SYMLINK} |
243 | ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX} ${UBOOT_BINARY}-${type} | 268 | ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX} ${UBOOT_BINARY}-${type} |
244 | ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX} ${UBOOT_BINARY} | 269 | ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX} ${UBOOT_BINARY} |
270 | |||
271 | # Deploy the uboot-initial-env | ||
272 | install -D -m 644 ${B}/${config}/u-boot-initial-env-${type} ${DEPLOYDIR}/u-boot-initial-env-${MACHINE}-${type}-${PV}-${PR} | ||
273 | cd ${DEPLOYDIR} | ||
274 | ln -sf u-boot-initial-env-${MACHINE}-${type}-${PV}-${PR} u-boot-initial-env-${MACHINE}-${type} | ||
275 | ln -sf u-boot-initial-env-${MACHINE}-${type}-${PV}-${PR} u-boot-initial-env-${type} | ||
245 | fi | 276 | fi |
246 | done | 277 | done |
247 | unset j | 278 | unset j |
248 | done | 279 | done |
249 | unset i | 280 | unset i |
250 | else | 281 | else |
251 | install -d ${DEPLOYDIR} | 282 | install -D -m 644 ${B}/${UBOOT_BINARY} ${DEPLOYDIR}/${UBOOT_IMAGE} |
252 | install -m 644 ${B}/${UBOOT_BINARY} ${DEPLOYDIR}/${UBOOT_IMAGE} | 283 | |
253 | cd ${DEPLOYDIR} | 284 | cd ${DEPLOYDIR} |
254 | rm -f ${UBOOT_BINARY} ${UBOOT_SYMLINK} | 285 | rm -f ${UBOOT_BINARY} ${UBOOT_SYMLINK} |
255 | ln -sf ${UBOOT_IMAGE} ${UBOOT_SYMLINK} | 286 | ln -sf ${UBOOT_IMAGE} ${UBOOT_SYMLINK} |
256 | ln -sf ${UBOOT_IMAGE} ${UBOOT_BINARY} | 287 | ln -sf ${UBOOT_IMAGE} ${UBOOT_BINARY} |
288 | |||
289 | # Deploy the uboot-initial-env | ||
290 | install -D -m 644 ${B}/u-boot-initial-env ${DEPLOYDIR}/u-boot-initial-env-${MACHINE}-${PV}-${PR} | ||
291 | cd ${DEPLOYDIR} | ||
292 | ln -sf u-boot-initial-env-${MACHINE}-${PV}-${PR} u-boot-initial-env-${MACHINE} | ||
293 | ln -sf u-boot-initial-env-${MACHINE}-${PV}-${PR} u-boot-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 | ||
257 | fi | 301 | fi |
258 | 302 | ||
259 | if [ -n "${UBOOT_ELF}" ] | 303 | if [ -n "${UBOOT_ELF}" ] |