Go to file
Julien Olivain d130f0a837 board/freescale/common/imx: use nodtb variant in uboot images for 8M
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>
2019-12-24 14:24:43 +01:00
arch arch/arc: Accommodate 16 KiB MMU pages 2019-12-22 21:56:21 +01:00
board board/freescale/common/imx: use nodtb variant in uboot images for 8M 2019-12-24 14:24:43 +01:00
boot boot/at91bootstrap3: implement custom tarball download 2019-12-23 23:22:30 +01:00
configs configs/atmel: fix at91bootstrap custom tarball call function 2019-12-23 23:41:54 +01:00
docs package/systemd: use host-systemctl preset all to enable units 2019-12-18 18:27:41 +01:00
fs fs: don't use := when not needed 2019-10-27 10:35:06 +01:00
linux linux: Set MMU page size for ARC processors 2019-12-22 21:55:36 +01:00
package package/tio: new package 2019-12-24 14:11:43 +01:00
support support/testing: fix python-gitdb2 test 2019-12-18 21:12:22 +01:00
system system: allow not setting a default, system-wide time zone 2019-11-27 21:48:38 +01:00
toolchain toolchain/toolchain-buildroot: allow ARC big endian glibc builds 2019-12-06 22:16:23 +01:00
utils utils/genrandconfig: test per-package directories 2019-12-05 10:30:48 +01:00
.defconfig arch: remove support for sh64 2016-09-08 22:15:15 +02:00
.flake8 .flake8: fix check for 80/132 columns 2019-04-10 12:31:33 +02:00
.gitignore update gitignore 2013-05-04 12:41:55 +02:00
.gitlab-ci.yml support/testing: add gitdb2 test 2019-12-16 23:36:45 +01:00
.gitlab-ci.yml.in gitlab-ci: use our updated docker base image 2019-10-27 21:52:28 +01:00
CHANGES Update for 2019.02.8 2019-12-07 21:19:07 +01:00
Config.in core: implement per-package SDK and target 2019-11-29 14:24:05 +01:00
Config.in.legacy package/python-scapy3k: remove package 2019-12-08 22:17:29 +01:00
COPYING COPYING: add exception about patch licensing 2016-02-26 19:50:13 +01:00
DEVELOPERS package/tio: new package 2019-12-24 14:11:43 +01:00
Makefile Merge branch 'next' 2019-12-02 09:39:41 +01:00
Makefile.legacy Remove BR2_DEPRECATED 2016-10-15 23:14:45 +02:00
README README: add reference to submitting-patches 2016-02-01 19:16:08 +01:00

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