I’v been following “build-u-boot-and-linux-kernel-from-source-code” for my new Apalis iMX6D 512 on an ixora card. I think I’ve correctly built a new dtb file and it appears on the Apalis card:
/media/mmcblk0p1/imx6q-apalis_v1_0-ixora.dtb
however, there are three other dtb files in that folder:
You are correct, there are 4 device trees for 4 different possible configurations. For whichever you decide to use, you must set the fdt_file variable in the U-boot environment accordingly. It is set to imx6q-apalis-eval.dtb by default.
setenv fdt_file imx6q-apalis-ixora.dtb
saveenv
Since you’re using the Ixora carrier board, its recommended to use one of the Ixora device trees.
Important to note: only use the v1_0 device trees if you have a V1.0 HW version of the Apalis iMX6 module. If you have a V1.1 version (or later) then use imx6q-apalis-ixora.dtb.
Be sure that you also build & copy the current device tree to the SD card prior to flashing it.
When you go to flash it, you can either use the u-boot update commands:
run setupdate
run update_uboot
Or you can simply mount the boot partition and copy the dtb file to the partition from Linux:
mount /dev/mmcblk0p0 /boot
cp imx6q-apalis-ixora.dtb /boot/imx6q-apalis-ixora.dtb
It appears that the compiler thinks that you’re compiling for x86. Make sure to re-setup your cross-compiling environment (ie. re-export ARCH & any other cross compile environment variables). You should probably also re-run ‘make apalis_imx6_defconfig’.