AnsweredAssumed Answered

To modify and rebuild the U-boot and kernel source by taking copy from the Yocto Build setup fro I.MX6ULL EVK

Question asked by Sri Shan on Mar 20, 2018
Latest reply on Mar 23, 2018 by gusarambula

Dear I.MX Community,


I am trying to build the U-boot and kernel source by taking the copy from Yocto build setup which I have already done.


1. I have taken the kernel source from the below path and executed the below commands from Yocto build


cp /home/te-test/fsl-release-bsp/build-x11/tmp/work-shared/imx6ull14x14evk/kernel-source /home/te-test/fsl-release-bsp/build-x11/tmp/work-shared/imx6ull14x14evk/kernel-source_work


Cross_compiling Kernel
make -j4 ARCH=arm CROSS_COMPILE=arm-poky-linux-gnueabi- imx_v7_defconfig
make -j4 ARCH=arm CROSS_COMPILE=arm-poky-linux-gnueabi- menuconfig
make -j4 ARCH=arm CROSS_COMPILE=arm-poky-linux-gnueabi- uImage LOADADDR=0x80008000
make -j4 ARCH=arm CROSS_COMPILE=arm-poky-linux-gnueabi- modules
make -j4 ARCH=arm CROSS_COMPILE=arm-poky-linux-gnueabi- INSTALL_MOD_PATH=<PATH to rootfs> modules_install


a. Could you pleaser confirm whether the above procedure is correct way of building the linux kernel by taking copy from yocto build, could you please reconfirm the defconfig for I.mx6ull evk?


2. For cross compiling U-boot


Cross_compiling U-boot
make -j4 ARCH=arm CROSS_COMPILE=arm-poky-linux-gnueabi- mx6ull_14x14_evk_defconfig
make -j4 ARCH=arm CROSS_COMPILE=arm-poky-linux-gnueabi- menuconfig
make -j4 ARCH=arm CROSS_COMPILE=arm-poky-linux-gnueabi-


cp /home/te-test/fsl-release-bsp/build-x11/tmp/work/imx6ull14x14evk-poky-linux-gnueabi/u-boot-imx to /home/te-test/fsl-release-bsp/build-x11/tmp/work-shared/imx6ull14x14evk/u-boot-imx_work


1. I am facing the below issue while crosscompiling u-boot, and am not bale to find the arch/arm/configs folder, could you please let me know how this issue can be resolved?


te-test@tetest-ThinkCentre-M72e:~/fsl-release-bsp/build-x11/tmp/work-shared/imx6ull14x14evk/u-boot-imx_work/2017.03-r0/build/mx6ull_14x14_evk_config$ make -j4 ARCH=arm CROSS_COMPILE=arm-poky-linux-gnueabi- imx6ull_14x14_evk_defconfig
  HOSTCC  scripts/basic/fixdep
  GEN     ./Makefile
  HOSTCC  scripts/kconfig/conf.o
  HOSTCC  scripts/kconfig/
  HOSTLD  scripts/kconfig/conf
*** Can't find default configuration "arch/../configs/imx6ull_14x14_evk_defconfig"!
make[3]: *** [imx6ull_14x14_evk_defconfig] Error 1
make[2]: *** [imx6ull_14x14_evk_defconfig] Error 2
make[1]: *** [sub-make] Error 2
make: *** [__sub-make] Error 2
te-test@tetest-ThinkCentre-M72e:~/fsl-release-bsp/build-x11/tmp/work-shared/imx6ull14x14evk/u-boot-imx_work/2017.03-r0/build/mx6ull_14x14_evk_config$ ls


te-test@tetest-ThinkCentre-M72e:~/fsl-release-bsp/build-x11/tmp/work-shared/imx6ull14x14evk/u-boot-imx_work/2017.03-r0/build/mx6ull_14x14_evk_config$ make -j4 ARCH=arm CROSS_COMPILE=arm-poky-linux-gnueabi- menuconfig
  GEN     ./Makefile
  HOSTCC  scripts/kconfig/mconf.o
  HOSTCC  scripts/kconfig/lxdialog/checklist.o
  HOSTCC  scripts/kconfig/lxdialog/util.o
  HOSTCC  scripts/kconfig/lxdialog/inputbox.o
  HOSTCC  scripts/kconfig/lxdialog/textbox.o
  HOSTCC  scripts/kconfig/lxdialog/yesno.o
  HOSTCC  scripts/kconfig/lxdialog/menubox.o
  HOSTLD  scripts/kconfig/mconf
scripts/kconfig/mconf  Kconfig


*** End of the configuration.
*** Execute 'make' to start the build or try 'make help'.


te-test@tetest-ThinkCentre-M72e:~/fsl-release-bsp/build-x11/tmp/work-shared/imx6ull14x14evk/u-boot-imx_work/2017.03-r0/build/mx6ull_14x14_evk_config$ make -j4 ARCH=arm CROSS_COMPILE=arm-poky-linux-gnueabi-
  GEN     ./Makefile
scripts/kconfig/conf  --silentoldconfig Kconfig
  CHK     include/config.h
  CFG     u-boot.cfg
  GEN     include/
  GEN     include/
  CHK     include/config/uboot.release
  CHK     include/generated/timestamp_autogenerated.h
  GEN     ./Makefile
/home/te-test/fsl-release-bsp/build-x11/tmp/work/imx6ull14x14evk-poky-linux-gnueabi/u-boot-imx/2017.03-r0/git/scripts/ line 17: dtc: command not found
  UPD     include/generated/timestamp_autogenerated.h
/home/te-test/fsl-release-bsp/build-x11/tmp/work/imx6ull14x14evk-poky-linux-gnueabi/u-boot-imx/2017.03-r0/git/scripts/ line 18: dtc: command not found
*** Your dtc is too old, please upgrade to dtc 1.4 or newer
make[2]: *** [checkdtc] Error 1
make[1]: *** [sub-make] Error 2
make: *** [__sub-make] Error 2


2. I see in the i.MX_BSP_Porting_Guide.pdf (i.MX BSP Porting Guide, Rev. L4.9.11_1.0.0-ga+mx8-alpha, 09/2017) that U-boot git source path is


$ git clone -b imx_v2017.03_4.9.11_1.0.0_ga


And I was able to build this $ git clone -b imx_v2017.03_4.9.11_1.0.0_ga u-boot source


But the U-boot Url used in the Yocoto build system ie., (i.MX Yocto Project User's Guide, Rev. L4.9.11_1.0.0-ga+mx8-alpha, 09/2017) mentioned in /home/te-test/fsl-release-bsp/sources/meta-fsl-bsp-release/imx/meta-bsp/recipes-bsp/u-boot/ is
UBOOT_SRC ?= "git://;protocol=https"


a. Are the U-boot source from the URls git clone -b imx_v2017.03_4.9.11_1.0.0_ga and UBOOT_SRC ?= "git://;protocol=https" both are same??


b. If once I do the changes in the u-boot/kernel source , how can I merge this back to the yocto build system (L4.9.11_1.0.0) with all my custom board modifications based on I.mx6ULL


Kinldy do the needful as early as possible as I am stuck with this issue from past many days in compiling the u-boot source


Many Thanks in advance