summaryrefslogtreecommitdiffstats
path: root/meta/recipes-bsp/u-boot/u-boot.inc
AgeCommit message (Collapse)Author
2 daysrecipes: Update WORKDIR references to UNPACKDIRRichard Purdie
Since we want to be able to stop unpacking to WORKDIR, correct the WORKDIR references in recipe do_compile/do_install tasks to use UNPACKDIR in the appropraite places instead. (From OE-Core rev: d73595df69667fe9d12ecd407b77a0b8dae2109c) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-03-03u-boot: Move UBOOT_INITIAL_ENV back to u-boot.incFabio Estevam
Commit cc6c3e31526d ("u-boot: Move definitions to common locations") moved UBOOT_INITIAL_ENV to uboot-config.bbclass, but it should be kept at u-boot.inc because it encodes ${PN} in it, which should be set by the U-Boot recipe. Currently, whatever inherits uboot-config bbclass will fill-in its own PN, which would change the content of UBOOT_INITIAL_ENV per-package. Cc: Klaus Heinrich Kiwi <klaus@linux.vnet.ibm.com> Cc: Marek Vasut <marex@denx.de> Fixes: cc6c3e31526d ("u-boot: Move definitions to common locations") (From OE-Core rev: 0b0c4b37d318b86f100512476ffd861e0ce1f47e) Signed-off-by: Fabio Estevam <festevam@denx.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-02-17u-boot: Pass in prefix mapping variables to the compilerRichard Purdie
Avoid: u-boot-1_2024.01-r0 do_package_qa: QA Issue: File /boot/u-boot-qemuriscv64-2024.01-r0.elf in package u-boot contains reference to TMPDIR [buildpaths] by ensuring the compiler has the prefix mapping options passed in to it to correctly remap the source paths and avoid the warning. (From OE-Core rev: 85c6b06da641fdaf09f2cfe7066e0cf1185c7969) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-02-24u-boot: Map arm64 into map for u-boot dts installationPavel Zhukov
While arm64 is a valid UBOOT_ARCH (according to mkimage -A) u-boot keeps arm64 specific dts under 'arch/arm' directory. As the result the recipe tries to install arch/arm64 (if UBOOT_DTB was specified) and fails with [1]. Remapping "arm64" to "arm" to fix this issue. [1] | install: cannot stat '.../u-boot/1_2023.01-r0/build/arch/arm64/dts/u-boot.dtb': No such file or directory (From OE-Core rev: 3ca99403d5f320c6d7ae59b107f3b3bf183b4089) Signed-off-by: Pavel Zhukov <pavel@zhukoff.net> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-11-29u-boot: Add /boot in SYSROOT_DIRSFabre Sébastien
To be able to use /boot files, like UBOOT_ENV_BINARY, in other recipes, like kernel-fitimage.bbclass. (From OE-Core rev: 5ed129c4e793c76e2ce9c762cc67c4c2232df447) Signed-off-by: Fabre Sébastien <sebastien.fabre@actia.fr> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-10-26u-boot: Rework signing to remove interdependenciesSean Anderson
The U-Boot signing code is a bit of a mess. The problem is that mkimage determines the public keys to embed into a device tree based on an image that it is signing. This results in all sorts of contortions: U-Boot has to be available to the kernel recipe so that it can have the correct public keys embedded. Then, the signed U-Boot has to be made available to U-Boot's do_deploy. This same dance is then repeated for SPL. To complicate matters, signing for U-Boot and U-Boot SPL is optional, so the whole process must be seamlessly integrated with a non-signed build. The complexity and interdependency of this process makes it difficult to extend. For example, it is not possible to install a signed U-Boot binary into the root filesystem. This is first because u-boot:do_install must run before linux:do_assemble_fitimage, which must run before u-boot:do_deploy. But aside from infrastructure issues, installing a signed U-Boot also can't happen, because the kernel image might have an embedded initramfs (containing the signed U-Boot). However, all of this complexity is accidental. It is not necessary to embed the public keys into U-Boot and sign the kernel in one fell swoop. Instead, we can sign the kernel, stage it, and sign the staged kernel again to embed the public keys into U-Boot [1]. This twice-signed kernel serves only to provide the correct parameters to mkimage, and does not have to be installed or deployed. By cutting the dependency of linux:do_assemble_fitimage on u-boot:do_install, we can drastically simplify the build process, making it much more extensible. The process of doing this conversion is a bit involved, since the U-Boot and Linux recipes are so intertwined at the moment. The most major change is that uboot-sign is no longer inherited by kernel-fitimage. Similarly, all U-Boot-related tasks have been removed from kernel-fitimage. We add a new step to the install task to stage the kernel in /sysroot-only. The logic to disable assemble_fitimage has been removed. We always assemble it, even if the final fitImage will use a bundled initramfs, because U-Boot will need it. On the U-Boot side, much of the churn stems from multiple config support. Previously, we took a fairly ad-hoc approach to UBOOT_CONFIG and UBOOT_MACHINE, introducing for loops wherever we needed to deal with them. However, I have chosen to use a much more structured approach. Each task which needs to use the build directory uses the following pseudocode: do_mytask() { if ${UBOOT_CONFIG}; then for config, type in zip(${UBOOT_CONFIG}, ${UBOOT_MACHINE}); do cd ${config} mytask_helper ${type} done else cd ${B} mytask_helper "" fi } By explicitly placing the work in mytask_helper, we make it easier to ensure that everything is covered, and we also allow bbappends files to more easily extend the task (as otherwise they would need to reimplement the loop themselves). [1] It doesn't particularly matter what we sign. Any FIT will do, but I chose the kernel's because we already went to the trouble of setting it up with the correct hashes and signatures. In the future, we could create a "dummy" image and sign that instead, but it would probably have to happen in the kernel recipe anyway (so we have access to the appropriate variables). (From OE-Core rev: 5e12dc911d0c541f43aa6d0c046fb87e8b7c1f7e) Signed-off-by: Sean Anderson <sean.anderson@seco.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-10-25u-boot: Add savedefconfig taskAlex Kiernan
Add savedefconfig task which U-Boot supports (unfortunately not all consumers of cml1 support this). (From OE-Core rev: efc54f1f836651c8ef27a683a9e5d583c8ce87a6) Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com> Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-10-25u-boot: Remove duplicate inherit of cml1Alex Kiernan
Splitting u-boot-configure.inc out of the base left duplicate cml1.bbclass in the base include. Fixes: fc9a17ad386c ("u-boot: Split do_configure logic into separate file") (From OE-Core rev: 286f91f7659307bcdf0ba541b8d6b56db5604ceb) Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com> Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-01-20u-boot: Split do_configure logic into separate fileZev Weiss
Some auxiliary u-boot recipes may need u-boot properly configured (including *.cfg additions via bbappends) but aren't necessarily building u-boot itself; to support such situations, here we split the u-boot do_configure() out of u-boot.inc and into its own u-boot-configure.inc. (From OE-Core rev: e55e6fb4983a41f74c0e457bf54bd8dfa5608daa) Signed-off-by: Zev Weiss <zev@bewilderbeest.net> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-10-23u-boot: Fix syntax error in ${UBOOT_ENV}.scr compilationPeter Hoyes
A previous commit (a3d3c2d4ac421a0dde2a20825eab4434f16b2452) introduced support for compiling a U-Boot boot script, but the logic contained a syntax error which was only visible in the build log. Fix the error by using separate []s for each expression in the if statement. (From OE-Core rev: e33994157abbea897ceaf465f9d2a99a9c8212b1) Signed-off-by: Peter Hoyes <Peter.Hoyes@arm.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-10-16u-boot: Convert ${UBOOT_ENV}.cmd into ${UBOOT_ENV}.scrPeter Hoyes
* Add extra SRC variables to uboot-config.class for source cmd file * Add DEPENDS on u-boot-mkimage-native if UBOOT_ENV_SUFFIX is scr * Compile cmd -> scr in do_compile if UBOOT_ENV_SUFFIX is scr (From OE-Core rev: 0ea02ca5c1fc4e15f640b1c26c0a5ce34fc08c05) Signed-off-by: Peter Hoyes <Peter.Hoyes@arm.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-02u-boot: Make UBOOT_BINARYNAME configurableStefan Herbrechtsmeier
Make the u-boot binary name configurable. Use the existing variable UBOOT_BINARYNAME which is evaluated from the UBOOT_BINARY. (From OE-Core rev: e588cde6aed1e699a055e3481df0f3dc719c9774) Signed-off-by: Stefan Herbrechtsmeier <stefan.herbrechtsmeier@weidmueller.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-02u-boot: Make SPL suffix configurableStefan Herbrechtsmeier
Make the SPL suffix configurable via SPL_SUFFIX variable to support SPL binaries with suffix. The suffix is optional and empty per default. The delimiter in front of the suffix is added automatically if the suffix is not empty. A new variable SPL_BINARYFILE contains the binary file name inclusive optional delimiter and suffix and the old variable SPL_BINARYNAME contains only the name of the binary without directory, delimiter and specified suffix. This behavior is backward compatible with empty SPL_SUFFIX variable. (From OE-Core rev: e4cfec633c20d6406523da905530e887b853f7ed) Signed-off-by: Stefan Herbrechtsmeier <stefan.herbrechtsmeier@weidmueller.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-02u-boot: Remove misplaced configuration type variableStefan Herbrechtsmeier
(From OE-Core rev: 3fe8adbad5226d673f22f31f4903149cf3376ae5) Signed-off-by: Stefan Herbrechtsmeier <stefan.herbrechtsmeier@weidmueller.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-02u-boot: Remove redundancy from installed and deployed SPL artifact namesStefan Herbrechtsmeier
Remove redundant parts from the deployed and installed SPL artifact names of multi config configurations to match the other U-Boot artifact names. (From OE-Core rev: 74f1f84d09ec5b435942e2a83697834677055343) Signed-off-by: Stefan Herbrechtsmeier <stefan.herbrechtsmeier@weidmueller.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-08-13u-boot: Package extlinux.conf separatelyPaul Barker
A separate u-boot-extlinux package is created for the extlinux.conf file so that it can be installed on its own if needed. If this package is populated, it is added as a dependency of the main u-boot package so that installing just u-boot still results in the extlinux.conf file being present in the rootfs. (From OE-Core rev: 40de891259e5b335e636cfa6f831b62415127e4c) Signed-off-by: Paul Barker <paul@pbarker.dev> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-08-02Convert to new override syntaxRichard Purdie
This is the result of automated script conversion: scripts/contrib/convert-overrides.py <oe-core directory> converting the metadata to use ":" as the override character instead of "_". (From OE-Core rev: 42344347be29f0997cc2f7636d9603b1fe1875ae) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-06-07recipes-bsp/u-boot: Allow deploying the u-boot DTBAlistair Francis
Use ??= assignment for UBOOT_DTB_BINARY because it is set using ?= in fitImage bbclass as well, using ?= will preempt that (From OE-Core rev: efe9f33beb053c8d645bfa5791846ffaa3cbceb4) Signed-off-by: Alistair Francis <alistair.francis@wdc.com> Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-06u-boot: Move definitions to common locationsKlaus Heinrich Kiwi
Move some definitions from u-boot.inc into uboot-config.bbclass and similarly from kernel-fitimage.bbclass into uboot-sign.bbclass, so that they can be useful when signing the U-boot proper fitimage, for a verified-boot SPL. (From OE-Core rev: cc6c3e31526d3b6ef3a87ba5e548fcad7483bd51) Signed-off-by: Klaus Heinrich Kiwi <klaus@linux.vnet.ibm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-07-12cml1: Move find_cfgs() helper to cml1.bbclassRasmus Villemoes
u-boot.inc and busybox.inc contain identical copies of this little helper. They both inherit the cml1 class and use cml1_do_configure right after having used this helper, and other recipes that want to write similar logic for doing Kconfig via fragments will also need it or something equivalent. (From OE-Core rev: af687c9137a3e8efe48afa6fd12866cf656ae913) Signed-off-by: Rasmus Villemoes <rasmus.villemoes@prevas.dk> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-07-12u-boot: fix condition to allow use of *.cfgCharlie Davies
U-boot recipe supports .cfg files in SRC_URI, but bug in conditional statement meant that the code was unreachable and the .cfg files were never applied. (From OE-Core rev: 766f827df4c3f76b1ef06acaba3c4f160c3791aa) Signed-off-by: Charlie Davies <charles.davies@whitetree.xyz> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-06-15u-boot: avoid blind merging all *.cfgJens Rehsack
This fixes u-boot-qoriq breakage of: commit 4fde8c8f479f5acd24fb6e0d0b9b4dc94d6f560b Author: Ming Liu <ming.liu@toradex.com> Date: Wed Jun 3 13:56:01 2020 +0200 u-boot: support merging .cfg files for UBOOT_CONFIG U-boot recipe supports .cfg files in SRC_URI, but they would be merged to .config during do_configure only when UBOOT_MACHINE is set, we should also support merging .cfg files for UBOOT_CONFIG. The intension of 4fde8c8 looks more than append delta-config snippets to u-boot config and should probably be rewritten to express that much better than implicitely assume all "*.cfg" are for merging into .config. (From OE-Core rev: b4644f231a1463123d4100fcaf1448b3d174ef1a) Signed-off-by: Jens Rehsack <sno@netbsd.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-06-09u-boot: support merging .cfg files for UBOOT_CONFIGMing Liu
U-boot recipe supports .cfg files in SRC_URI, but they would be merged to .config during do_configure only when UBOOT_MACHINE is set, we should also support merging .cfg files for UBOOT_CONFIG. (From OE-Core rev: ce3de00d41791fa5e9557c5e93a99fbe368311f5) Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> Signed-off-by: Ming Liu <ming.liu@toradex.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-06-04u-boot: introduce UBOOT_INITIAL_ENVMing Liu
It defaults to ${PN}-initial-env, no functional changes with current implementation, but this allows it to be changed in individual u-boot recipes. If UBOOT_INITIAL_ENV is empty, then no initial env would be compiled/ installed/deployed, set ALLOW_EMPTY_${PN}-env = "1". The major purpose for introducing this, is that the users might have some scripts on targets like: ``` /sbin/fw_setenv -f /etc/u-boot-initial-env ``` and it should be able to run against a identical path generated by different u-boot recipes. (From OE-Core rev: fb7e8b6b88855f3f523b2176ea2c85a330bfe00b) Signed-off-by: Ming Liu <ming.liu@toradex.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-06-04u-boot.inc: fix some inconsistent coding styleMing Liu
(From OE-Core rev: 5ffefba5f1a7a37f4752e34be86f1dc2942192d0) Signed-off-by: Ming Liu <ming.liu@toradex.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-04-24u-boot.inc: install u-boot-initial-env as ${PN}-initial-env in $D and $DEPLOYDIRDenys Dmytriyenko
The common u-boot.inc can be used by multiple recipes in the same build for different cores and/or multiple stages of the bootloader. Naming initial-env with ${PN} prefix avoids clashes in deploy and rootfs between those recipes. This fixes 69b3b093079c2ca2744d6c02747c5d1b5d3e7ecf that unconditionally builds, installs and deploys u-boot-initial-env in the common u-boot.inc. (From OE-Core rev: e0f697ea097f2eacc34f405ec22f9eef5c8e134d) Signed-off-by: Denys Dmytriyenko <denys@ti.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-04-02u-boot: Restore valid default environment for running systemOtavio Salvador
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>
2020-02-02u-boot.inc: Fix devtool build u-boot for u-boot without menuconfigTom Hochstein
For u-boot recipes without menuconfig support, running devtool results in a do_configure error: cp: cannot stat '/home/r60874/upstream/fsl-xwayland/tmp/work/imx8mmevk-fsl-linux/u-boot-imx/2018.03-r0/u-boot-imx-2018.03//.config': No such file or directory The problem arises because u-boot.inc supports recipes with and without menuconfig. Fix the problem by properly setting DEVTOOL_DISABLE_MENUCONFIG so that devtool can control logic that applies only for menuconfig support. (From OE-Core rev: a6c430b0077eb56b4adbe391a0a05a52133cc8f0) Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-01-27u-boot: Move B from u-boot.inc to u-boot-common.incDaisuke Yamane
Use the same value of B between u-boot and u-boot-tools. This patch also enable the out-of-tree builds of u-boot-tools actually. (From OE-Core rev: 26023b6b0f897842fd98b3e10a8acd5b3ad8f418) Signed-off-by: Daisuke Yamane <yamane07ynct@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-11-27u-boot: update to 2020.01-rc3 pre-release and drop py2 dependenciesAlexander Kanavin
(From OE-Core rev: 8c164bb34b777db2cc3ed723d8397ce6fa040aac) Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-04-23u-boot: Fix missing Python.h build failureAlistair Francis
(From OE-Core rev: ea527e5008c28c410806cd0a2e8513ff6dcac450) Signed-off-by: Alistair Francis <alistair@alistair23.me> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-01-07u-boot.inc: Support menuconfig for u-bootManjukumar Matha
u-boot mainline supports menuconfig, this patch enables menuconfig for u-boot using cml1. u-boot recipe in OE-core handles multi configuration of u-boot using UBOOT_CONFIG. Since we cannot determine on which u-boot config the menuconfig should run, the patch limits when UBOOT_CONFIG is not defined. (From OE-Core rev: 11278e3b2c75be80645b9841763a97dbb35daadc) Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-12-08uboot-sign.bbclass: fix signature and deploymentRobert Yang
Fixed: MACHINE = "beaglebone-yocto" KERNEL_CLASSES += "kernel-fitimage" KERNEL_IMAGETYPE_beaglebone-yocto = "fitImage" UBOOT_MACHINE_beaglebone-yocto = "am335x_boneblack_vboot_config" UBOOT_MKIMAGE_DTCOPTS = "-I dts -O dtb -p 2000" UBOOT_SIGN_KEYDIR = "${TOPDIR}/conf" UBOOT_SIGN_KEYNAME = "dev" UBOOT_SIGN_ENABLE = "1" IMAGE_INSTALL_remove = "kernel-image-zimage" $ cd conf $ openssl genrsa -F4 -out dev.key 2048 $ openssl req -batch -new -x509 -key dev.key -out dev.crt $ cd ../ $ bitbake u-boot linux-yocto $ grep signature tmp/deploy/images/beaglebone-yocto/*.dtb Binary file tmp/deploy/images/beaglebone-yocto/u-boot-beaglebone-yocto-2018.07-r0.dtb matches Binary file tmp/deploy/images/beaglebone-yocto/u-boot-beaglebone-yocto.dtb matches Binary file tmp/deploy/images/beaglebone-yocto/u-boot.dtb matches And there would be no signature info when rebuild from sstate: $ bitbake u-boot linux-yocto -cclean $ bitbake u-boot linux-yocto $ grep signature tmp/deploy/images/beaglebone-yocto/*.dtb No result This s because kernel directly edit ${DEPLOY_DIR_IMAGE}/u-boot.dtb, (Note, it is global ${DEPLOY_DIR_IMAGE}, not recipe's DEPLOYDIR), so that the modified info is not in sstate, and would be lost when rebuild from sstate. There are other problems in previouse code: - The u-boot.dtb is provided by u-boot, but edited by kernel during signing, so it should be deployed by kernel rather than u-boot. - The u-boot.do_concat_dtb directly install files to global ${DEPLOY_DIR_IMAGE}, this is incorrect, the ${DEPLOY_DIR_IMAGE} should be installed by do_deploy. - It seems that it assumes do_deploy depends on do_install according the comments, but they have no relationships: # do_concat_dtb is scheduled _before_ do_install as it overwrite the # u-boot.bin in both DEPLOYDIR and DEPLOY_IMAGE_DIR. - The do_concat_dtb should be run after do_compile, but it doesn't have this dependency. Make u-boot install u-boot.dtb to ${datadir}, kernel copies u-boot.dtb from ${STAGING_DATADIR} to ${B} and deploy it can fix the problem. [YOCTO #12112] Reported-by: Christian Andersen <c.andersen@kostal.com> (From OE-Core rev: 493f70cfb177f1d452a13329647a38642bf2b161) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-23u-boot: Fix inconsistent indentationAlexander Hedges
This removes some extra spaces. (From OE-Core rev: 146ebbc71183e432905b17a127162aba0b464b50) Signed-off-by: Alexander Hedges <ahedges@ethz.ch> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-02u-boot: Fix pylibfdt generationJoshua Watt
u-boot attempts to build a Python library called pylibfdt. By default, u-boot would attempt to use the build host's Python interpreter, which causes numerous problems, not least of which is that it fails if the host doesn't have the Python development package installed (complaining about not being able to find Python.h) Rectify this situation by including the proper build time dependencies for pylibfdt and passing the proper arguments to make. [YOCTO #12867] (From OE-Core rev: 3b0b16300b351878790729d6270cd113bca73eff) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-09-25Revert "u-boot: fix extlinux creation race"André Draszik
This reverts commit 60c90398580998b2379bb438f0f75b29285135a5. This causes circular dependencies when UBOOT_SIGN_ENABLE is active. These are usually caused by circular dependencies and any circular dependency chains found will be printed below. Increase the debug level to see a list of unbuildable tasks. Identifying dependency loops (this may take a short while)... ERROR: Dependency loop #1 found: Task u-boot.bb:do_concat_dtb (dependent Tasks ['kernel.bb:do_assemble_fitimage']) Task u-boot.bb:do_install (dependent Tasks ['u-boot.bb:do_concat_dtb', 'pseudo_1.8.2.bb:do_populate_sysroot', 'u-boot.bb:do_compile']) Task u-boot.bb:do_deploy (dependent Tasks ['u-boot.bb:do_deploy_dtb', 'u-boot.bb:do_install']) Task .../recipes-kernel/linux/kernel.bb:do_assemble_fitimage (dependent Tasks ['kernel.bb:do_compile', 'u-boot.bb:do_deploy']) (From OE-Core rev: 7da4c0a56eb2027b3e36b9e42f1f83dfb02bb920) Signed-off-by: André Draszik <adraszik@tycoint.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-13u-boot: fix extlinux creation raceJack Mitchell
There was a race condition in the uboot-extlinux bbclass where only a half written extlinux.conf would be put in the deploy directory. Fix this by adding the deploy task after the do_install rather than after the do_compile. (From OE-Core rev: 60c90398580998b2379bb438f0f75b29285135a5) Signed-off-by: Jack Mitchell <jack@embed.me.uk> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-01recipes: Make use of the new bb.utils.filter() functionPeter Kjellerstedt
(From OE-Core rev: 0a1427bf9aeeda6bee2cc0af8da4ea5fd90aef6f) Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-16meta: remove True option to getVar callsJoshua Lock
getVar() now defaults to expanding by default, thus remove the True option from getVar() calls with a regex search and replace. Search made with the following regex: getVar ?\(( ?[^,()]*), True\) (From OE-Core rev: 7c552996597faaee2fbee185b250c0ee30ea3b5f) Signed-off-by: Joshua Lock <joshua.g.lock@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-10-28u-boot: Factor out common bitsMarek Vasut
The u-boot recipes share a couple of common variables, which makes updating of the recipes error prone and a toil. Factor those common bits into u-boot-common_${PV}.inc so that they are in one place. The u-boot_${PV}.bb now explicitly require u-boot-common_${PV}.inc before require u-boot.inc , as doing require u-boot-common_${PV}.inc from u-boot.inc would fail due to ${PV} not being set. This is a functional change. (From OE-Core rev: b36056af20e981433f143556d511dec5644930fc) Signed-off-by: Marek Vasut <marex@denx.de> Cc: Richard Purdie <richard.purdie@linuxfoundation.org> Cc: Denys Dmytriyenko <denis@denix.org> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-10-07u-boot: Add support to use uboot-extlinux-config classFabio Berton
Use uboot-extlinux-config class to create extlinux.conf file and then install inside /boot/extlinux directory and also put file to deploy dir. This file will be only create if UBOOT_EXTLINUX is set to 1. You can use DEPLOYDIR/extlinux.conf file to install into final image using wic setting: IMAGE_BOOT_FILES_append = " extlinux.conf;extlinux/extlinux.conf" (From OE-Core rev: 33df3a65f3e8e136811da715d0cc247ce66ae0ea) Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-14u-boot: Set u-boot binary permissions to 0644Marek Vasut
The U-Boot binary is not an executable, it is a binary file, set it's permissions to 0644 instead of 0755. (From OE-Core rev: b75ef17a7cba1791b077968893ebd4a297547fd1) Signed-off-by: Marek Vasut <marex@denx.de> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-03Fix out of tree builds of u-boot with gold linkerAndrew Goodbody
Need to reference config.mk file in source tree which is no longer the current directory when using out of tree builds. (From OE-Core rev: 32ba805e4ffbfcb17380ed6b5164e5b25a62f330) Signed-off-by: Andrew Goodbody <andrew.goodbody@cambrionix.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-08-17u-boot.inc: Enable out-of-tree buildsManjukumar Matha
This patch enabled out-of-tree builds for u-boot. This also helps building u-boot using EXTERNALSRC flow (From OE-Core rev: 36f110594506fbee5dc18de3a04981f019f2024d) Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-07-01u-boot: extend UBOOT_CONFIG format to support different binary nameTing Liu
When using UBOOT_CONFIG format, the final u-boot binary for each config may have different names. Extend UBOOT_CONFIG format to support different binary to be copied. The new format is supposed to be compatible with old one as ${UBOOT_BINARY} is copied by default, and images,binary can be empty. An example format to specify it, in the machine, is: UBOOT_CONFIG ??= "sdcard-ifc sdcard-qspi lpuart qspi secure-boot nor" UBOOT_CONFIG[nor] = "ls1021atwr_nor_config,,u-boot-dtb.bin" UBOOT_CONFIG[sdcard-ifc] = "ls1021atwr_sdcard_ifc_config,,u-boot-with-spl-pbl.bin" UBOOT_CONFIG[sdcard-qspi] = "ls1021atwr_sdcard_qspi_config,,u-boot-with-spl-pbl.bin" UBOOT_CONFIG[lpuart] = "ls1021atwr_nor_lpuart_config,,u-boot-dtb.bin" UBOOT_CONFIG[qspi] = "ls1021atwr_qspi_config,,u-boot-dtb.bin" UBOOT_CONFIG[secure-boot] = "ls1021atwr_nor_SECURE_BOOT_config" (From OE-Core rev: 2a5c484f314ddc75cab5f0d01b0215d7fc405b6b) Signed-off-by: Ting Liu <ting.liu@nxp.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-05-30u-boot: replace old-style shell syntax with the modern oneAndrew Shadura
Use "-n" operation instead of comparing with an "x"-ed empty string, use $(...) notation instead of the deprecated backticks. (From OE-Core rev: b8436a9c470f1e27ff7fdd952b2743eaf97cadf8) Signed-off-by: Andrew Shadura <andrew.shadura@collabora.co.uk> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-05-06u-boot: basic support of dtb append for verified bootYannick Gicquel
This introduces a new uboot-sign.class to support U-Boot verified boot. This part delivers the new class file, with related environment variables, and a new task intended to run before do_install task and which performs the concatenation of the u-boot-nodtb.bin and the device tree blob. The 'cat' command used overrides the u-boot.bin in both DEPLOYDIR & build dir to propagate the changes in later tasks (do_install, do_package, etc.) (From OE-Core rev: 27e21c50ada2f5fb6296cce680da4350a229977c) Signed-off-by: Yannick Gicquel <yannick.gicquel@iot.bzh> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-28u-boot.inc: Add sub-dir support for SPL_BINARYNathan Rossi
Add support for the SPL_BINARY variable to handle sub directories. In some cases the SPL binary that needs to be deployed is only built to the spl/ directory in U-Boot. So that a sub directory can be specified in the SPL_BINARY variable, handle the case so that the deploy code uses the basename of the path specified in SPL_BINARY. (From OE-Core rev: eb90d1c8fc7b82ca2593185930b3bf175f40ae13) Signed-off-by: Nathan Rossi <nathan@nathanrossi.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-20u-boot: Upgrade to 2016.03 releaseOtavio Salvador
The 2016.03 release has been announced in March 14th. This incorporates a lot of bug fixes and improvements which are useful for any new embedded development. Along with the upgrade of U-Boot and its related recipes, this patch also drops the AM335x environment fix which has been merged into the release. (From OE-Core rev: 15130f7bad0f0a1894c34bbb34a547722552c69e) Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-18uboot-inc: Backport patch to fix Beaglebone Black bootloaderErkka Kääriä
Beaglebone Black boot started failing after upstream patch 755324c432f, and was fixed in 7205442e6. Unfortunately, the u-boot upgrade from 2015.10 to 2016.01 only includes the former patch. The latter patch is backported to fix this. (From OE-Core rev: 68d02c54342c8146ec89dfeadedd733cb59fc7d8) Signed-off-by: Erkka Kääriä <erkka.kaaria@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>