Architectures/ARM/CrossToolchain

From FedoraProject

< Architectures | ARM(Difference between revisions)
Jump to: navigation, search
m (Fedora/ARM cross toolchain)
Line 1: Line 1:
 
= Fedora/ARM cross toolchain =
 
= Fedora/ARM cross toolchain =
  
We provide ARM toolchain packages for i386 and x86_64 that are built from the same sources as the Fedora native toolchain packages (binutils, gcc, gdb, glibc.)  Right now these are gcc-4.1 vintage.
+
The F12 ARM initiative created ARM cross toolchain packages for i386 and x86_64 that are built from the same sources as the Fedora native toolchain packages (binutils, gcc, gdb, glibc.)  Right now these are gcc-4.1 vintage.
  
 
To install this toolchain on your Fedora machine, do:
 
To install this toolchain on your Fedora machine, do:

Revision as of 03:42, 27 January 2011

Fedora/ARM cross toolchain

The F12 ARM initiative created ARM cross toolchain packages for i386 and x86_64 that are built from the same sources as the Fedora native toolchain packages (binutils, gcc, gdb, glibc.) Right now these are gcc-4.1 vintage.

To install this toolchain on your Fedora machine, do:

# cd /etc/yum.repos.d/
# wget http://ftp.linux.org.uk/pub/linux/arm/fedora/cross/cross.repo
# yum install armv5tel-redhat-linux-gnueabi-gcc

This will install everything necessary to run the C compiler and cross-build ARM libraries and binaries that are entirely binary compatible with the native Fedora/ARM libraries and binaries.

You can find source packages for these if you are interested here.


Cross-compiling ARM userland binaries

To cross-compile the canonical Hello World example for ARM, do:

$ armv5tel-redhat-linux-gnueabi-gcc -Wall -o hello hello.c
$

Cross-compiling ARM kernels

You can also use the cross-toolchain to cross-build an ARM Linux kernel, by changing these two lines in the top-level Makefile:

ARCH            ?= $(SUBARCH)
CROSS_COMPILE   ?=

to:

ARCH            ?= arm
CROSS_COMPILE   ?= armv5tel-redhat-linux-gnueabi-

and then building your kernel as usual.