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

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

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

3,414 次查看
srishan
Contributor III

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/zconf.tab.o
  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/autoconf.mk.dep
  GEN     include/autoconf.mk
  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/dtc-version.sh: 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/dtc-version.sh: 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 http://git.freescale.com/git/cgit.cgi/imx/uboot-imx.git -b imx_v2017.03_4.9.11_1.0.0_ga

And I was able to build this $ git clone http://git.freescale.com/git/cgit.cgi/imx/uboot-imx.git -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/u-boot-imx_2017.03.bb is
UBOOT_SRC ?= "git://source.codeaurora.org/external/imx/uboot-imx.git;protocol=https"


a. Are the U-boot source from the URls git clone http://git.freescale.com/git/cgit.cgi/imx/uboot-imx.git -b imx_v2017.03_4.9.11_1.0.0_ga and UBOOT_SRC ?= "git://source.codeaurora.org/external/imx/uboot-imx.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

标签 (3)
0 项奖励
1 回复

1,796 次查看
gusarambula
NXP TechSupport
NXP TechSupport

Hello Sri Shan,

The specs are correct, although I would use the git sources:

<BSP_RELEASE>/<BUILD_DIR> k/tmp/work/imx6ull14x14evk-poky-linux-gnueabi/linux-imx/<KERNEL_VERSION>-r0/git$

You shouldn’t need to set the uImage LOADADDR at this point. The imx_v7_defconfig is correct for all i.MX 6 or i.MX 7 boards.

 

For u-boot I would also recommend using the git sources:

<BSP_RELEASE>/<BUILD_DIR> k/tmp/work/imx6ull14x14evk-poky-linux-gnueabi/u-boot-imx/<U-BOOT_VERSION >-r0/git$

The mx6ull_14x14_evk_defconfig is the correct one but perhaps the path you are using didn’t had all the sources. Please try with the git path to see if this helps.

The u-boot sources should remain the same across the repositories as long as they are all pointing to the BSP Release you are using. In this case the 4.9.11_1.0.0.

Merging the changes you performed to the Yocto environment is a matter of creating a new layer and recipe that appends the existing configurations. You can see how to do this for the kernel on the example from the following document:

https://community.nxp.com/docs/DOC-334088

The basic process would remain the same for the bootloader but you would need to look at how Yocto works. There are several good resources like the i.MX BSP Porting Guide included as part of the BSP documentation bundle and the Yocto Reference Manual (link below)

https://www.yoctoproject.org/docs/2.1/ref-manual/ref-manual.html

I hope this helps!

Regards,

0 项奖励