Precompiled C Cross-Toolchain

'' This article based on work done by Frontalot on Linkstationwiki.org '' Projects / Cross Toolchains General Information Compiling programs on the LinkStation (native compiling) can take a very, very long time. A much faster method is to cross-compile programs using a cross-toolchain. A cross-toolchain allows you to compile code for the LinkStation on a faster computer with a different architecture, usually an i386/i686 desktop. The cross-toolchains were built using the GPL source code provided by Buffalo Technology, custom kernel .configs, custom build scripts, and Dan Kegel’s crosstool scripts. Three different toolchains are provided: (1) stock, (2) stable, and (3) unstable. See CHANGES for details. Please be aware the cross-toolchains only come with the glibc library. You may need to install additional libraries and headers to be able to compile some programs. You can grab the additional libraries and headers from the OpenLink filesystem or from the LinkStationWiki [ipkg repository]. The first architecture is the build system while the second architecture is the target system.

PowerPC-HDHLAN

i686-pc-cygwin_powerpc-hdhlan-linux-2.0

stock toolchain: FAILS UNDER CYGWIN

stable toolchain: binutils 2.15 gcc 3.3.5 glibc 2.3.2 linux-2.4.17_mvl21-sandpoint

unstable toolchain: binutils 2.15</li> gcc 3.4.4</li> glibc 2.3.5</li> linux-2.4.17_mvl21-sandpoint</li></ul>

i686-pc-linux_powerpc-hdhlan-linux-2.0

stock toolchain: binutils 2.11.2</li> gcc 2.95.3</li> glibc 2.2.3</li> linux-2.4.17_mvl21-sandpoint</li></ul>

stable toolchain: binutils 2.15</li> gcc 3.3.5</li> glibc 2.3.2</li> linux-2.4.17_mvl21-sandpoint</li></ul>

unstable toolchain: binutils 2.15</li> gcc 3.4.4</li> <li>glibc 2.3.5</li> <li>linux-2.4.17_mvl21-sandpoint</li></ul>

powerpc-osx-10.4_powerpc-hdhlan-linux-0.2

stock toolchain: <ul><li>TODO</li></ul>

stable toolchain: <ul><li>binutils 2.15</li> <li>gcc 3.3.5</li> <li>glibc 2.3.2</li> <li>linux-2.4.17_mvl21-sandpoint</li></ul>

unstable toolchain: <ul><li>binutils 2.15<li> <li>gcc 3.4.4</li> <li>glibc 2.3.5</li> <li>linux-2.4.17_mvl21-sandpoint</li></ul>

Mipsel-HDHLAN

i686-pc-cygwin_mipsel-hdhlan-linux-2.0

stock toolchain: <ul><li>binutils 2.14</li> <li>gcc 3.3.1</li> <li>glibc 2.3.2</li> <li>linux-2.4.20_mipsel_linkstation</li></ul>

stable toolchain: <ul><li>binutils 2.15</li> <li>gcc 3.3.5</li> <li>glibc 2.3.2</li> <li>linux-2.4.20_mipsel_linkstation</li></ul>

unstable toolchain: <ul><li>binutils 2.15</li> <li>gcc 3.4.4</li> <li>glibc 2.3.5</li> <li>linux-2.4.20_mipsel_linkstation</li></ul>

i686-pc-linux_mipsel-hdhlan-linux-2.0

stock toolchain: <ul><li>binutils 2.14</li> <li>gcc 3.3.1</li> <li>glibc 2.3.2</li> <li>linux-2.4.20_mipsel_linkstation</li></ul>

stable toolchain: <ul><li>binutils 2.15</li> <li>gcc 3.3.5</li> <li>glibc 2.3.2</li> <li>linux-2.4.20_mipsel_linkstation</li></ul>

unstable toolchain: <ul><li>binutils 2.15</li> <li>gcc 3.4.4</li> <li>glibc 2.3.5</li> <li>linux-2.4.20_mipsel_linkstation</li></ul>

ppc-osx-10.4_mipsel-hdhlan-linux-0.2

stock toolchain: <ul><li>TODO</li></ul>

stable toolchain: <ul><li>binutils 2.15</li> <li>gcc 3.3.5</li> <li>glibc 2.3.2</li> <li>linux-2.4.20_mipsel_linkstation</li></ul>

unstable toolchain: <ul><li>binutils 2.15</li> <li>gcc 3.4.4</li> <li>glibc 2.3.5</li> <li>linux-2.4.20_mipsel_linkstation</li></ul>

PowerPC-HDHGLAN

i686-pc-cygwin_powerpc-hdhglan-linux-2.0

stock toolchain: <ul><li>FAILS UNDER CYGWIN</li></ul>

stable toolchain: <ul><li>binutils 2.15</li> <li>gcc 3.3.5</li> <li>glibc 2.3.2</li> <li>linux-2.4.20_hglan_htgl</li></ul>

unstable toolchain: <ul><li>binutils 2.15</li> <li>gcc 3.4.4</li> <li>glibc 2.3.5</li> <li>linux-2.4.20_hglan_htgl</li></ul>

i686-pc-linux_powerpc-hdhglan-linux-2.0

stock toolchain: <ul><li>binutils 2.11.2</li> <li>gcc 2.95.3</li> <li>glibc 2.2.3</li> <li>linux-2.4.20_hglan_htgl</li></ul>

stable toolchain: <ul><li>binutils 2.15</li> <li>gcc 3.3.5</li> <li>glibc 2.3.2</li> <li>linux-2.4.20_hglan_htgl</li></ul>

unstable toolchain: <ul><li>binutils 2.15</li> <li>gcc 3.4.4</li> <li>glibc 2.3.5</li> <li>linux-2.4.20_hglan_htgl</li></ul>

powerpc-osx-10.4_powerpc-hdhglan-linux-0.2

stock toolchain: <ul><li>TODO</li></ul>

stable toolchain: <ul><li>binutils 2.15</li> <li>gcc 3.3.5</li> <li>glibc 2.3.2</li> <li>linux-2.4.20_hglan_htgl</li></ul>

unstable toolchain: <ul><li>binutils 2.15</li> <li>gcc 3.4.4</li> <li>glibc 2.3.5</li> <li>linux-2.4.20_hglan_htgl</li></ul>

ppc64-pc-linux_powerpc-hdhglan-linux

Cross Toolchain

 * Codesourcery for Arm version 2005q3-2 is suggested. Please look at Toolchain from codesourcery for more information.

Install it by following this article: Setting up the Codesourcery toolchain for X86 to ARM9 cross compiling

ScratchBox
Scratchbox is a cross-compilation toolkit designed to make embedded Linux application development easier. This sandboxed environment allows you to do a simple  without specifying any additional   or   parameters when starting configure. Please consult the ScratchBox installation manual for more information. Scratchbox makes use of the cross compiler mentioned above to compile and link ARM binaries for the LS Pro. Make sure to download the so called "legacy" version.

Build your own toolchain You can build your own cross-toolchain using the appropriate source code and the configuration files I have posted in the downloads area. Please see Build (and use) a cross-toolchain using Dan Kegel's crosstool 0.38 for complete directions.

= Links =
 * Setting up the codesourcery toolchain for X86 to ARM9 cross compiling
 * Build (and_use) a cross-toolchain using Dan Kegel's crosstool 0.38