Cross compilation toolchains

Source: Internet
Author: User

Cross compilation toolchains

There may be other viable toolchains,
The following are the ones used by EuroTech engineers in development and
Support of our products. They are used to build the pre-compiled kernel and
Bootloader images. The release pages for the kernels and bootloaders specify
Which toolchain we used. Other images like filesystems are built natively using
The tools available in the full
Debian distributions.

While the toolchains below that include libraries such as libc can be used
Build user-land applications, we generally recommend that user-land software be
Built natively on a development system and not cross-compiled. Doing so avoids
Running into issues where the toolchain references shared libraries that are
Not part of the target filesystem. Furthermore native compilation avoids
Difficulties of configuration for cross-compilation.

Tip: One way to change your environment permanently is to make
Changes in the. bashrc file in your home directory. This will allow you
Issue commands like arm-Linux-GCC and arm-Linux-G ++ just as you wowould GCC and
G ++.

PS (Definition of "user-land ":

A conventional computer operating system usually segregates virtual memoryKernel spaceAndUser space. Kernel space is strictly reserved for running the kernel, kernel extensions, and most device drivers. in contrast, user space is the memory area where all user mode applications work and this memory can beswapped out when necessary.

Similarly, the termUserlandRefers to all application software that runs in user space.[1] userland usually refers to the various programs and libraries that the operating system uses to interact with the kernel: software that performs input/output, manipulates file system objects, etc .)

 

GCC 4.2.3 (Eabi)

This toolchain is for building Eabi kernels, modules and userland utilities.
This is our primary cross compiler for recent 2.6.24 and later kernels.

Download arm-none-linux-gnueabi-gcc-4.2.3 [MD5],
Originally from the codesourcery.com,
And install it using the commands below:

CD/usr/local/ARM
Tar-jxf arm-2008q1-126-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2

Set the following variables in your shell
Environment:

Export
Path =/usr/local/ARM/arm-2008q1/bin: $ {path}
Export cross_compile = arm-None-Linux-gnueabi-

Note that while this toolchain can be
Installed in other locations, other development tools from EuroTech will use
The above path.

 

GCC 4.1.1 (Eabi, no
Libc)

This toolchain is for building Eabi kernels and modules. We used this toolchain
To build our pre-compiled kernels prior to 2.6.26.

Download arm-unknown-linux-gnueabi-gcc-4.1.1 [MD5],
And install it using the commands below:

CD/
Bzcat eabi-gcc-4.1.1.tar.bz2 | tar-x

Set the following variables in your shell
Environment:

Export
Path =/opt/crosstool/gcc-4.1.1/bin: $ {path}
Export cross_compile = arm-unknown-Linux-gnueabi-

The/opt/crosstool/gcc-4.1.1 path
Is hardcoded. Do not attempt to install it anywhere else. This is the only
Location that will work.

Note that this toolchain does not include glibc. It is only intended
Cross-compiling linux kernels.

 

GCC 3.3.2 (oabi)

This is the standard toolchain for pre-Eabi software. It is used to build
Bootloader and is compatible with the non-Armel (Eabi) Root filesystems.

Download arm-linux-gcc-3.3.2 [MD5]
Originally from the handhelds.org website,
Untar it in your root directory, and add it to your path.

CD/
Bzcat arm-linux-gcc-3.3.2.tar.bz2 | tar-x

Set the following variables in your shell
Environment:

Export
Path =/usr/local/ARM/3.3.2/bin: $ {path}
Export cross_compile = arm-Linux-

The/usr/local/ARM/3.3.2 path is
Hardcoded in this toolchain. Do not attempt to install it anywhere else. This
IsOnlyPath that will work.

 

GCC 2.95.3

This toolchain was used to build strongarm kernels. It is not suitable
XScale and later ubuntures, nor is it suitable for kernels beginning
2.4.26 due to arm-Linux kernel changes.

Download the lart cross compiler,
The arm-linux-cross.tar.bz2 (GCC 2.95.3), from the lart website.
Instructions for installing this tool-chain are also on the lart website. There
Are hardcoded paths in this image so youMustInstall it in
The/data/lart directory as follows:

Mkdir-P/data/lart
CD/data/lart
Tar xvf arm-linux-cross.tar

Set the following variables in your shell
Environment:

Export Path =/data/lart/Cross/bin: $ {path}

 

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.