Crosscompile

From OpenEZX
Jump to: navigation, search

In order to crosscompile you will need a compiler/linker/archiver, include files and a libc for your target machine.

Toolchain for building for original firmware

To crosscompile your own software for the original firmware present in EZX phones, you need a toolchain. There are currenly two toolchains floating around, both based on Dan Kegel's "crosstool" scripts to bootstrap the tools. The only important note is that the default ARM targets for crosstool will not work on this phone -- it uses a different word order ("VFP") for the floating point emulation. The scripts at the linked site automatically apply a needed patch to binutils.

There is also http://lsb.blogdns.com/ezx-crosstool (remember to apply this patch) which can be used together with http://lsb.blogdns.com/ezx-devkit or libxze2 to build native GUI apps (i.e. they don't need opie).

If you are using an RPM-based Linux distribution, you can try the toolchain available at http://www.codeminders.com/ezx/. Binary RPMs there are tested of Redhat Fedora Core 5 x86_64 architecture. You should be able to rebuild from SRPMs on ther distributions as well. SRPM produces several RPMs, but mostly likely you just need to install "crosstool-gcc-3.3.2-glibc-2.3.2-arm-linux-devel" if you just want to compile applications. RPMs are provided by Codeminders.

Gmkezx.png

Another possibility is to use the MkEzx build framework which starts by building a crosstool based on ezx-crosstool then allows you to produce native application by automatically fetching source code, applying patches, cross-compiling and building packages for you. MkEzx also features a Gtk+ graphic user interface called gmkezx.

There is also a package with the bits needed to build a Motorola compatible toolchain with openembedded. Mickey has done it: http://www.linuxtogo.org/~mickeyl/tools/oe-iwmmxt.tar.bz2

Toolchain for building OpenEZX

The recommended toolchain for building the openezx kernel and related binaries (see Kernel_hacking_-_linux-2.6) is the OpenEmbedded toolchain.

Instructions for building are here: http://wiki.openembedded.net/index.php/Getting_Started

and here: http://www.scratchbox.org/wiki/OpenEmbedded

Binaries are here: http://www.angstrom-distribution.org/unstable/toolchain/

Personal tools