This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM335x Make fails

hi everyone:

i'm working on beaglebone black platform, using ti-processor-sdk-linux-am335x-evm-02.00.02.11-Linux-x86-Install.bin in ubuntu 14 64bit.

i want to make a new board base on board am335x, so i follow these steps below:

1st. i copy /board/ti/am335, and rename this file to "example", modify the mux.c according to files generated by pinmux v4; modify Kconfig, MAINTAINERS, u-boot,lds.

2nd. copy /configs/am335x_boneblack_defconfig to /configs/am335x_example_defconfig, and modify its CONFIG_TARGET.

3rd. copy /include/configs/am335x_evm.h to /include/configs/am335x_example.h and change macro: CONFIG_SYS_LDSCRIPT

4th. modify /u-boot-2015.07+gitAUTOINC+d49aa5effa\arch\arm\Kconfig, add support to my board, also copy from am335x_evm

then i use command "make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- O=am335x_example am335x_example_defconfig all" to compile u-boot, but there is an error.

GEN ./Makefile
#
# configuration written to .config
#
GEN ./Makefile
scripts/kconfig/conf --silentoldconfig Kconfig
CHK include/config.h
GEN include/autoconf.mk
GEN include/autoconf.mk.dep
GEN spl/include/autoconf.mk
CHK include/config/uboot.release
Using .. as source for U-Boot
.. is not clean, please run 'make mrproper'
in the '..' directory.
../Makefile:1173: recipe for target 'prepare3' failed
make[2]: *** [prepare3] Error 1
/home/xxxx/ti-sdk/board-support/u-boot-2015.07+gitAUTOINC+46c915c963/Makefile:455: recipe for target '__build_one_by_one' failed
make[1]: *** [__build_one_by_one] Error 2
make[1]: Leaving directory '/home/xxxx/ti-sdk/board-support/u-boot-2015.07+gitAUTOINC+46c915c963/am335x_example'
Makefile:146: recipe for target 'sub-make' failed
make: *** [sub-make] Error 2

could someone can help me, i have no idear about this error...thanks a lot

  • I will forward this to the software team.
  • Hi Ray,

    it seems that you have '.config' file in the root directory of U-boot (it might be created by 'make menuconfig' invocation or something else), while you build it in new directory (with the option O=am335x_example, the appropriate '.config' will be there).

    You can run:

    make CROSS_COMPILE=arm-linux-gnueabihf- mrproper

    to clean the root directory and then:

    make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- O=am335x_example am335x_example_defconfig all

    Regards,
    Yordan
  • i'm so appreciate for your help, it's very helpful.
    how do you find the keypoint to the problem? i mean how can i solve this kind of problem by myself.
  • Hi Ray,

    I did not had any systematic approach to this. I was trying to reproduce the issue without success at the
    beginning so I run 'make menuconfig' to see if I had correctly configured the Kconfig files, and it wrote
    new .config file in U-boot directory and the issue was reproduced (so I guess I had some luck).

    I can recommend to carefully examine the logs when there is an error. For example in the bellow log first 'make'
    command enters the 'am335x_example' subdirectory (because of O=''argument) and all following prints are related
    to actions there (writing .config, generating Makefile etc. are in this directory). The first error message indicates
    that the upper (the root of U-boot tree) directory is not clean which means that probably there was some 'make'
    invocation which has created something there (also there is suggestion how to proceed in the message).

    $ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- O=am335x_example am335x_example_defconfig all
    make[1]: Entering directory `/home/users/ykamenov/projects/ti/sitara/ti-processor-sdk-linux-am335x-evm-02.00.02.11/board-support/u-boot-2015.07+gitAUTOINC+46c915c963/am335x_example'
    HOSTCC scripts/basic/fixdep
    GEN ./Makefile
    HOSTCC scripts/kconfig/conf.o
    HOSTCC scripts/kconfig/zconf.tab.o
    HOSTLD scripts/kconfig/conf
    #
    # configuration written to .config
    #
    GEN ./Makefile
    scripts/kconfig/conf --silentoldconfig Kconfig
    CHK include/config.h
    UPD include/config.h
    GEN include/autoconf.mk
    GEN include/autoconf.mk.dep
    GEN spl/include/autoconf.mk
    CHK include/config/uboot.release
    UPD include/config/uboot.release
    Using .. as source for U-Boot
    .. is not clean, please run 'make mrproper'
    in the '..' directory.
    make[2]: *** [prepare3] Error 1


    Regards,
    Yordan
  • i didn't notice the tip ".. is not clean, please run 'make mrproper" appeared in my compile output.
    may be i need more careful next time...^_^
    thank you very much