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.

Problem for building x-load

Hi,

 

             I start to build the x-load.bin. I use the following commands:


Execute the following commands
$ make CROSS_COMPILE=arm-eabi- distclean
$ make CROSS_COMPILE=arm-eabi- omap3evm_config
$ make CROSS_COMPILE=arm-eabi-
This command will build the x-loader Image "x-load.bin"

but I get the ERROR, when I execute the first and second command:

eric3754@eric3754-laptop:~/rowboat-android/TI_Android_GingerBread_2_3_Sources$
make CROSS_COMPILE=arm-eabi- distclean
============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=2.3
TARGET_PRODUCT=generic
TARGET_BUILD_VARIANT=eng
TARGET_SIMULATOR=
TARGET_BUILD_TYPE=release
TARGET_BUILD_APPS=
TARGET_ARCH=arm
HOST_ARCH=x86
HOST_OS=linux
HOST_BUILD_TYPE=release
BUILD_ID=GRH55
============================================
find: `frameworks/base/frameworks/base/docs/html': No such file or directory
find: `out/target/common/docs/gen': No such file or directory
find: `frameworks/base/frameworks/base/docs/html': No such file or directory
find: `out/target/common/docs/gen': No such file or directory
find: `frameworks/base/frameworks/base/docs/html': No such file or directory
find: `out/target/common/docs/gen': No such file or directory
find: `frameworks/base/frameworks/base/docs/html': No such file or directory
find: `out/target/common/docs/gen': No such file or directory
find: `frameworks/base/frameworks/base/docs/html': No such file or directory
find: `out/target/common/docs/gen': No such file or directory
make: *** No rule to make target `distclean'.
Page 1
Stop.

But when I execute the third command:

It run a lot of process for make or complier a lot of code. More than one hour.

Can everybody give me a help for this?

 

 

 

  • Hi Eric,

     

       You are getting the error since you are compiling it from the wrong directory.

       To compile x-load.bin you have to enter into x-loader source directory and execute those three commands.

       cd  "your android source directory"

       cd  x-loader

       execute the three commands which you have mentioned.

     

     

    Thanks and Regards,

    Suma

  • Hi, Suma,

              Thank you for your reply. I had tried this before but it is error. And then I found out that the path of toolchain is incorrect. I change it. Now it is working.

    Your reply make me to work for this.



    Thanks and Best Regards
    Eric

  • Hi, Suma,

               Do you know what is the directory for building Android filesystem?

     

    Best Regards

    Eric

     

     

     

  • Hi Eric,

    You have to run

    make TARGET_PRODUCT=omap3evm OMAPES=5.x  command to build android filesystem from your android source directory.

           eric3754@eric3754-laptop:~/rowboat-android/TI_Android_GingerBread_2_3_Sources

    Please refer to following developer guide for more details.

    http://processors.wiki.ti.com/index.php/TI-Android-GingerBread-2.3.4-DevKit-2.1_DeveloperGuide#Compilation_procedure

    Thanks and Regards,

    Pankaj Bharadiya

  • Hi, Pankaj,

              I will try to work for this. Thank you for your reply

     

    Best Regards

    Eric

     

     

  •  I had rebuild the x-loader:
     
    Execute the following commands
    $ make CROSS_COMPILE=arm-eabi- distclean
    $ make CROSS_COMPILE=arm-eabi- omap3evm_config
    $ make CROSS_COMPILE=arm-eabi-
    This command will build the x-loader Image "x-load.bin"

    but I get the following ERROR when the third command is executed:
    .........
    .........
    make[1]: Leaving directory `/home/eric2011/rowboat-android/TI_Android_GingerBread_2_3_Sources/x-load-omap3/drivers'
    UNDEF_SYM=`arm-eabi-objdump -x board/omap3evm/libomap3evm.a cpu/omap3/libomap3.a lib/libarm.a fs/fat/libfat.a disk/libdisk.a drivers/libdrivers.a |sed  -n -e 's/.*\(__u_boot_cmd_.*\)/-u\1/p'|sort|uniq`;\
             arm-eabi-ld -Bstatic -T /home/eric2011/rowboat-android/TI_Android_GingerBread_2_3_Sources/x-load-omap3/board/omap3evm/x-load.lds -Ttext 0x40200800  $UNDEF_SYM cpu/omap3/start.o \
                --start-group board/omap3evm/libomap3evm.a cpu/omap3/libomap3.a lib/libarm.a fs/fat/libfat.a disk/libdisk.a drivers/libdrivers.a --end-group -L /home/eric2011/rowboat-android/TI_Android_GingerBread_2_3_Sources/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/../lib/gcc/arm-eabi/4.4.3 -lgcc \
                -Map x-load.map -o x-load
    arm-eabi-ld: internal error in relocate, at /home/jingyu/projects/gcc/android-toolchainsrc/build/../binutils/binutils-2.19/gold/arm.cc:8943
    make: *** [x-load] Error 1

    There are a lot of lines to have. I just show some lines.

    Anybody can help me?

     

  • Hi Eric,

    Default android 4.4.3 toolchain linker gives internal error while building x-loader.
    Please sync latest x-loader sources or apply following patch to x-loader repository and try building again.

    Patch :  http://www.gitorious.org/rowboat/x-loader/commit/e6e39e34104f28b8bd62307971ab89e736cb9388

    default android 4.4.3 toolchain linker gives internal error while building x-loader.
    Use arm-eabi-ld.bfd linker for building x-loader.

    Signed-off-by: Pankaj <pankaj.bharadiya@ti.com>
    ---
    config.mk |    2 +-
    1 files changed, 1 insertions(+), 1 deletions(-)

    diff --git a/config.mk b/config.mk
    index 0306c28..fa22bc2 100644
    --- a/config.mk
    +++ b/config.mk
    @@ -94,7 +94,7 @@ cc-option = $(shell if $(CC) $(CFLAGS) $(1) -S -o /dev/null -xc /dev/null \
    # Include the make variables (CC, etc...)
    #
    AS = $(CROSS_COMPILE)as
    -LD = $(CROSS_COMPILE)ld
    +LD = $(CROSS_COMPILE)ld.bfd
    CC = $(CROSS_COMPILE)gcc
    CPP = $(CC) -E
    AR = $(CROSS_COMPILE)ar
    --
    1.6.1

    Thanks and Regards,

    Pankaj Bharadiya.

     

  • Hi Pankaj,

         But there is no arm-eabi-ld.bfd in the toolchain path( <android source>/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/ )
    Can you tell me where to find the arm-eabi-ld.bfd or which version of arm-eabi-ld that you use as arm-eabi-ld.bfd ?

    Thanks and Regards,

    Roy Lee

  • arm-eabi-ld.bfd is deleted in the latest Google Android ICS source tree.

    I suggest you build with the toolchain provided with the rowboat Gingerbread android source tree.

  • Hi Vishveshwar,
         OK, I got it. I will change the LD variable config.mk from ld.bfd back to ld.

    Thanks and Regards,
    Roy Lee

  • Hi, 

    I am trying to Build source code for android ICS 4.0.3.  I am following this  link
    http://processors.wiki.ti.com/index.php/TI-Android-ICS-4.0.3-DevKit-3.0.0_DevelopersGuide

    I get error at building x-loader step i.e when I 

    Execute the following commands

     $ make CROSS_COMPILE=arm-eabi- distclean
     $ make CROSS_COMPILE
    =arm-eabi- omap3beagle_config
    It gives me error:

    int3@int3-desktop:/media/Data/rowboat-android/TI-Android-ICS-4.0.3_AM37x_3.0.0/x-loader$ make CROSS_COMPILE=arm-eabi-omap3beagle_config
    System not configured - see README
    make: *** [all] Error 1

    Can Anyone please guide me how to remove this error. 
    Thankyou.
    
    


     

  • Please make sure that the $PATH is set correctly. Refer to the Developer Guide.

  • Hi Vishveshwar Bhat,

    Thank you for your response. I am following the Developer Guide but I can not find the error in my path, 
     

    After the extraction of the .bin file (which gets extracted successfully) , i do these steps.

    int3@int3-desktop:/media/Data/rowboat-android$ export PATH=$/media/Data/rowboat-android/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin:$PATH
    int3@int3-desktop:/media/Data/rowboat-android$ cd /media/Data/rowboat-android/TI-Android-ICS-4.0.3_AM37x_3.0.0/x-loader
    int3@int3-desktop:/media/Data/rowboat-android/TI-Android-ICS-4.0.3_AM37x_3.0.0/x-loader$ make CROSS_COMPILE=arm-eabi- distclean
    find . -type f \
    \( -name 'core' -o -name '*.bak' -o -name '*~' \
    -o -name '*.o' -o -name '*.a' \) -print \
    | xargs rm -f
    find . -type f \
    \( -name .depend -o -name '*.srec' -o -name '*.bin' \) \
    -print \
    | xargs rm -f
    rm -f *.bak tags TAGS
    rm -fr *.*~
    rm -f x-load x-load.map
    rm -f x-load.bin.ift
    rm -f include/asm/proc include/asm/arch
    rm -f include/config.h include/config.mk
    int3@int3-desktop:/media/Data/rowboat-android/TI-Android-ICS-4.0.3_AM37x_3.0.0/x-loader$ make CROSS_COMPILE=arm-eabi- omap3beagle_config
    rm -f include/config.h include/config.mk
    Configuring for omap3beagle board...
    int3@int3-desktop:/media/Data/rowboat-android/TI-Android-ICS-4.0.3_AM37x_3.0.0/x-loader$ make CROSS_COMPILE=arm-eabi-
    make: arm-eabi-gcc: Command not found
    arm-eabi-gcc -Wa,-gstabs -D__ASSEMBLY__ -Os -fno-strict-aliasing -fno-common -ffixed-r8 -DONE_BIT_ERROR_CORRECT -D__KERNEL__ -DTEXT_BASE=0x40200800 -I/media/Data/rowboat-android/TI-Android-ICS-4.0.3_AM37x_3.0.0/x-loader/include -fno-builtin -ffreestanding -nostdinc -isystem -pipe -DCONFIG_ARM -D__ARM__ -march=armv7-a -mabi=apcs-gnu -c -o cpu/omap3/start.o /media/Data/rowboat-android/TI-Android-ICS-4.0.3_AM37x_3.0.0/x-loader/cpu/omap3/start.S
    make: arm-eabi-gcc: Command not found
    make: *** [cpu/omap3/start.o] Error 127

    I have searched alot to remove this error but unfortunately haven't succeeded yet. Can you tell what am I doing wrong.?

    Thankyou.

  • Maheen Islam said:

    int3@int3-desktop:/media/Data/rowboat-android$ export PATH=$/media/Data/rowboat-android/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin:$PATH

    ...

    make: arm-eabi-gcc: Command not found

    Your path is not set correctly, it seems that a '$' has crept in there by mistake. Try like this

    export PATH=/media/Data/rowboat-android/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin:$PATH

  • Problem at "Build x-loader" step got resolved. I was not adding Path correctly. Thank you for your help. 

    But now it is giving me another error.  I did "Build android filesystem " step with "SGX" , then  "creating root filesystem tarball" step where I get error.  This is the error.

    ut/target/product/beagleboard$ cp -r root/* android_rootfs
    cp: cannot stat `root/*': No such file or directory
    int3@int3-desktop:/media/Data/rowboat-android/TI-Android-ICS-4.0.3_AM37x_3.0.0/out/target/product/beagleboard$

    Can you tell me what am I doing wrong now.?

    Thank you.