mirror of
https://git.busybox.net/buildroot.git
synced 2024-11-27 15:33:28 +08:00
d130f0a837
In board/freescale/common/imx/imx8-bootloader-prepare.sh, when invoking mkimage_fit_atf.sh, the U-Boot DTB is passed as parameter, to be included in the FIT image. This parameter usually comes from BR2_ROOTFS_POST_SCRIPT_ARGS config option. The variable BL33=u-boot.bin set in the invocation uses the u-boot image which is including its embedded DTB. This means the U-Boot DTB is included twice. The upstream script mkimage_fit_atf.sh plus its Buildroot patch are meant to use by default the nodtb variant and use the DTB in a separate image. See [1] and [2]. The U-Boot default DTB which will be included in u-boot.bin image is selected with U-Boot CONFIG_DEFAULT_DEVICE_TREE, or DEVICE_TREE variable when invoking "make". If one of those option is not aligned to the BR2_ROOTFS_POST_SCRIPT_ARGS config option, it's possible the two included U-Boot DTBs are different. If such case happens, the built-in DTB is always used, regardless of the other one, selected with BR2_ROOTFS_POST_SCRIPT_ARGS. For example, this case happens for TechNexion Pico Pi i.MX8M and i.MX8MMini. Since the U-Boot defconfig assumes the nodtb version will be used, it does not set the default DTB. The u-boot.bin will include the fsl-imx8mm-evk instead. Including the wrong board DTB breaks the USB and UMS commands (and possibly others). Since those boards does not have SD card slots, a recovery serial download is needed at every update. This patch make sure that only the separate U-Boot DTB will be included in the FIT image by using the nodtb variant. [1] https://source.codeaurora.org/external/imx/imx-mkimage/tree/iMX8M/mkimage_fit_atf.sh?h=rel_imx_4.14.98_2.0.0_ga#n35 [2] https://git.busybox.net/buildroot/tree/package/imx-mkimage/0001-add-support-for-overriding-bl32-and-bl33-not-only-bl.patch?h=2019.11#n42 Signed-off-by: Julien Olivain <juju@cotds.org> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> |
||
---|---|---|
arch | ||
board | ||
boot | ||
configs | ||
docs | ||
fs | ||
linux | ||
package | ||
support | ||
system | ||
toolchain | ||
utils | ||
.defconfig | ||
.flake8 | ||
.gitignore | ||
.gitlab-ci.yml | ||
.gitlab-ci.yml.in | ||
CHANGES | ||
Config.in | ||
Config.in.legacy | ||
COPYING | ||
DEVELOPERS | ||
Makefile | ||
Makefile.legacy | ||
README |
Buildroot is a simple, efficient and easy-to-use tool to generate embedded Linux systems through cross-compilation. The documentation can be found in docs/manual. You can generate a text document with 'make manual-text' and read output/docs/manual/manual.text. Online documentation can be found at http://buildroot.org/docs.html To build and use the buildroot stuff, do the following: 1) run 'make menuconfig' 2) select the target architecture and the packages you wish to compile 3) run 'make' 4) wait while it compiles 5) find the kernel, bootloader, root filesystem, etc. in output/images You do not need to be root to build or run buildroot. Have fun! Buildroot comes with a basic configuration for a number of boards. Run 'make list-defconfigs' to view the list of provided configurations. Please feed suggestions, bug reports, insults, and bribes back to the buildroot mailing list: buildroot@buildroot.org You can also find us on #buildroot on Freenode IRC. If you would like to contribute patches, please read https://buildroot.org/manual.html#submitting-patches