For your viewing pleasure:
Cross compile

Most apps are available as binary packages so there's no real need to cross compile anything. Many kernel modules are missing however, so it's a good idea to setup a cross compiler anyway.

Sharp compiler

The most simple is to download the cross compiler binaries and kernel sources from sharp developer web site. These pages also include instructions to build a kernel.

The packages are only available in rpm format, so I used "alien" to install them on Debian GNU/Linux. They will install in /opt/Embedix/tools

Strangely, binutils-cross-arm is not available for download, so you'll have to pick it some place else, for example

Kernel Compile

Follow carefully Sharp website instructions for the kernel configuration, especially when it comes to loading the default config, depending on the model. Akita is the codename for the Zaurus SL-C1000 series, Spitz for the C3000 and Borzoi for the C3100.

 -- > load an Alternate Configuration File
..input "arch/arm/def-configs/akita-j"

You must also add /opt/Embedix/tools/bin to your $PATH so that the arm-linux-* binaries are usable

Using make menuconfig and make modules, I managed to compile the modules that I needed for ipsec, and for a usb-serial converter (pl2303.o)

Hello world

Now lets compile a simple program:


int main() {
        printf ("hello world\n");

Use /opt/Embedix/tools/arm-linux/bin/gcc hello.c -o hello to compile

Other versions of gcc

It's possible to setup your own cross compiler, but be aware that the sharp ROM is compiled with gcc 2.95, therefore if you use gcc 3.x, kernel modules and possibly other things will not be compatible so it is best to stick with sharp compiler.

This page details all the steps to setup a cross development environment on Debian GNU/Linux

Last update of this page: Mon Jun 12 21:30:02 2006