Error while Building U-Boot in make Configuration step

Hi,

First, I am new to Toradex and Yocto environment and I don’t have a lot of experience with Linux environment.

I am referring to this procedure:

But, I ran into a problem on the " Configuration" step. This is the complete output I got :

~/workdir/u-boot-toradex$ make toradex_2020.07
HOSTCC scripts/basic/fixdep
HOSTCC scripts/kconfig/conf.o
YACC scripts/kconfig/zconf.tab.c
LEX scripts/kconfig/zconf.lex.c
HOSTCC scripts/kconfig/zconf.tab.o
HOSTLD scripts/kconfig/conf
scripts/kconfig/conf --syncconfig Kconfig


*** Configuration file “.config” not found!


*** Please run some configurator (e.g. “make oldconfig” or
*** “make menuconfig” or “make xconfig”).


scripts/kconfig/Makefile:75: recipe for target ‘syncconfig’ failed
make[2]: *** [syncconfig] Error 1
Makefile:565: recipe for target ‘syncconfig’ failed
make[1]: *** [syncconfig] Error 2
make: *** No rule to make target ‘toradex_2020.07’. Stop.

I believe I have followed each step of the procedure and it went well until then. I just don’t know were should be located this “.config” file and what it should look like.

I am using Ubuntu 16.04 LTS and from what I know, I have installed all the required tools (I was able to run this procedure successfully : Build a Reference Image with Yocto Project/OpenEmbedded | Toradex Developer Center)

My module is a Colibri iMX6 Solo 256MB and I want to build a boot for the BSP version 5.

Any hint will be appreciated,

Thanks,

Hi @s.laroche,

First, welcome to the Toradex community! Feel free to ask any questions you might have.

“toradex_2020.07” is actually the branch of u-boot, as shown in this table:

So after changing the branch of u-boot-toradex to toradex_2020.07 (“git checkout toradex_2020.07”) and exporting the 32 bits compiler, you need to run:

$ make colibri_imx6_defconfig
  HOSTCC  scripts/basic/fixdep
  HOSTCC  scripts/kconfig/conf.o
  YACC    scripts/kconfig/zconf.tab.c
  LEX     scripts/kconfig/zconf.lex.c
  HOSTCC  scripts/kconfig/zconf.tab.o
  HOSTLD  scripts/kconfig/conf
#
# configuration written to .config
#

After that, you can compile your u-boot binary:

$ make -j$(nproc) 2>&1 | tee build.log

Hope everything is clear now.

May I ask you what are you trying to change in u-boot? Normally there is no need to change u-boot at all in our modules. Or if there is something you need to change, it’s better to do it using Yocto instead of manually compiling u-boot.

Best Regards,
Hiago.

1 Like

My mistake, thank you for the support and quick answer.

My main goal is to enable CAN ports on my colibri IMX6. From what I could see from CAN (Linux) | Toradex Developer Center , it looks like I need to rebuild a kernel as the default image does not have those ports enabled. So, I have followed the full procedure to ensure I have full setup in order to do this.

Next step, I will apply the changes as mentioned in the link above and try to rebuilt.

Thanks again,

Hi @s.laroche,

Happy to help =)

Understood. So in this case, only device tree modifications are needed, you don’t need to make any changes to or compile u-boot. You can compile your Colibri imx6 device tree and send it to your module, by either using Yocto or compiling it manually.

Reference: CAN (Linux) | Toradex Developer Center

Best Regards,
Hiago.