Difference between revisions of "Precompiled C Cross-Toolchain"

From NAS-Central Buffalo - The Linkstation Wiki
Jump to: navigation, search
m
(Cross Toolchain: Fixed link)
 
(19 intermediate revisions by 9 users not shown)
Line 1: Line 1:
 +
{{Template:Articles|Projects|Development|LS1|LS2|HG|LSPro|LSLive}}
 +
 
''<font color=red><small>
 
''<font color=red><small>
 
This article based on work done by Frontalot on Linkstationwiki.org
 
This article based on work done by Frontalot on Linkstationwiki.org
 
</small></font>''<br>
 
</small></font>''<br>
 +
<table align=right><tr><td>http://upload.wikimedia.org/wikipedia/commons/thumb/2/22/Heckert_GNU_white.svg/300px-Heckert_GNU_white.svg.png</td></tr></table>
 
<h1>Projects / Cross Toolchains</h1>
 
<h1>Projects / Cross Toolchains</h1>
 
<h2>General Information</h2>
 
<h2>General Information</h2>
 
<p>Compiling programs on the LinkStation (native compiling) can take a very, very long time. A much faster method is to [http://en.wikipedia.org/wiki/Cross-compilation 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.</p>
 
<p>Compiling programs on the LinkStation (native compiling) can take a very, very long time. A much faster method is to [http://en.wikipedia.org/wiki/Cross-compilation 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.</p>
<p>The cross-toolchains were built using the GPL source code provided by Buffalo Technology, a custom kernel .config, custom build scripts, and [http://kegel.com/crosstool/ Dan Kegel’s crosstool scripts]. Three different toolchains are provided: (1) stock, (2) stable, and (3) unstable. See CHANGES for details.</p>
+
<p>The cross-toolchains were built using the GPL source code provided by Buffalo Technology, [http://downloads.nas-central.org/LS1_PPC/DevelopmentTools/CrossToolchains/Config/ custom kernel .configs, custom build scripts], and [http://kegel.com/crosstool/ Dan Kegel’s crosstool scripts] [http://downloads.nas-central.org/ArchIndependent/Sources/crosstool-0.38.tar.gz]. Three different toolchains are provided: (1) stock, (2) stable, and (3) unstable. See CHANGES for details.</p>
<p>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 [[Projects/OpenLink|OpenLink]] filesystem or from the LinkStationWiki [[http://ipkg.linkstationwiki.net/ ipkg repository]]. The first architecture is the build system while the second architecture is the target system.</p>
+
<p>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 [[Projects/OpenLink|OpenLink]] filesystem or from the LinkStationWiki [[http://ipkg.nas-central.org/ ipkg repository]]. The first architecture is the build system while the second architecture is the target system.</p>
  
<h2>Build your own toolchain</h2>
 
<p>You can build your own cross-toolchain using the appropriate source code and the configuration files I have posted in the [http://downloads.linkstationwiki.net/ downloads area]. Please see [http://linkstationwiki.net/index.php?title=Articles/GeneralCrossToolchain GeneralCrossToolchain] for complete directions.</p>
 
  
 
<h2>PowerPC-HDHLAN</h2>
 
<h2>PowerPC-HDHLAN</h2>
  
<h3>i686-pc-cygwin_powerpc-hdhlan-linux-2.0</h3>
+
<h3>[http://downloads.nas-central.org/LS1_PPC/DevelopmentTools/CrossToolchains/i686-pc-cygwin_powerpc-hdhlan-linux-2.0.tar.bz2 i686-pc-cygwin_powerpc-hdhlan-linux-2.0]</h3>
  
 
stock toolchain:
 
stock toolchain:
Line 30: Line 31:
 
<li>linux-2.4.17_mvl21-sandpoint</li></ul>
 
<li>linux-2.4.17_mvl21-sandpoint</li></ul>
  
<h3>i686-pc-linux_powerpc-hdhlan-linux-2.0</h3>
+
<h3>[http://downloads.nas-central.org/LS1_PPC/DevelopmentTools/CrossToolchains/i686-pc-linux_powerpc-hdhlan-linux-2.0.tar.bz2 i686-pc-linux_powerpc-hdhlan-linux-2.0]</h3>
  
 
stock toolchain:
 
stock toolchain:
Line 50: Line 51:
 
<li>linux-2.4.17_mvl21-sandpoint</li></ul>
 
<li>linux-2.4.17_mvl21-sandpoint</li></ul>
  
<h3>powerpc-osx-10.4_powerpc-hdhlan-linux-0.2</h3>
+
<h3>[http://downloads.nas-central.org/LS1_PPC/DevelopmentTools/CrossToolchains/powerpc-osx-10.4_powerpc-hdhlan-linux_unstable+stable-0.2.dmg powerpc-osx-10.4_powerpc-hdhlan-linux-0.2]</h3>
  
 
stock toolchain:
 
stock toolchain:
Line 69: Line 70:
 
<h2>Mipsel-HDHLAN</h2>
 
<h2>Mipsel-HDHLAN</h2>
  
<h3>i686-pc-cygwin_mipsel-hdhlan-linux-2.0</h3>
+
<h3>[http://downloads.nas-central.org/LS2_MIPSel/DevelopmentTools/CrossToolchains/i686-pc-cygwin_mipsel-hdhlan-linux-2.0.tar.bz2 i686-pc-cygwin_mipsel-hdhlan-linux-2.0]</h3>
  
 
stock toolchain:
 
stock toolchain:
Line 89: Line 90:
 
<li>linux-2.4.20_mipsel_linkstation</li></ul>
 
<li>linux-2.4.20_mipsel_linkstation</li></ul>
  
<h3>i686-pc-linux_mipsel-hdhlan-linux-2.0</h3>
+
<h3>[http://downloads.nas-central.org/LS2_MIPSel/DevelopmentTools/CrossToolchains/i686-pc-linux_mipsel-hdhlan-linux-2.0.tar.bz2 i686-pc-linux_mipsel-hdhlan-linux-2.0]</h3>
  
 
stock toolchain:
 
stock toolchain:
Line 109: Line 110:
 
<li>linux-2.4.20_mipsel_linkstation</li></ul>
 
<li>linux-2.4.20_mipsel_linkstation</li></ul>
  
<h3>powerpc-osx-10.4_mipsel-hdhlan-linux-0.2</h3>
+
<h3>[http://downloads.nas-central.org/LS2_MIPSel/DevelopmentTools/CrossToolchains/ppc-osx-10.4_mipsel-hdhlan-linux-0.2.dmg ppc-osx-10.4_mipsel-hdhlan-linux-0.2]</h3>
  
 
stock toolchain:
 
stock toolchain:
Line 128: Line 129:
 
<h2>PowerPC-HDHGLAN</h2>
 
<h2>PowerPC-HDHGLAN</h2>
  
<h3>i686-pc-cygwin_powerpc-hdhglan-linux-2.0</h3>
+
<h3>[http://downloads.nas-central.org/LSHG_PPC/DevelopmentTools/CrossToolchains/i686-pc-cygwin_powerpc-hdhglan-linux-2.0.tar.bz2 i686-pc-cygwin_powerpc-hdhglan-linux-2.0]</h3>
  
 
stock toolchain:
 
stock toolchain:
Line 145: Line 146:
 
<li>linux-2.4.20_hglan_htgl</li></ul>
 
<li>linux-2.4.20_hglan_htgl</li></ul>
  
<h3>i686-pc-linux_powerpc-hdhglan-linux-2.0</h3>
+
<h3>[http://downloads.nas-central.org/LSHG_PPC/DevelopmentTools/CrossToolchains/i686-pc-linux_powerpc-hdhglan-linux-2.0.tar.bz2 i686-pc-linux_powerpc-hdhglan-linux-2.0]</h3>
  
 
stock toolchain:
 
stock toolchain:
Line 165: Line 166:
 
<li>linux-2.4.20_hglan_htgl</li></ul>
 
<li>linux-2.4.20_hglan_htgl</li></ul>
  
<h3>powerpc-osx-10.4_powerpc-hdhglan-linux-0.2</h3>
+
<h3>[http://downloads.nas-central.org/LSHG_PPC/DevelopmentTools/CrossToolchains/powerpc-osx-10.4_powerpc-hdhglan-linux_unstable+stable-0.2.dmg powerpc-osx-10.4_powerpc-hdhglan-linux-0.2]</h3>
  
 
stock toolchain:
 
stock toolchain:
Line 182: Line 183:
 
<li>linux-2.4.20_hglan_htgl</li></ul>
 
<li>linux-2.4.20_hglan_htgl</li></ul>
  
 +
<h3>[http://downloads.nas-central.org/LSHG_PPC/DevelopmentTools/CrossToolchains/ppc64-pc-linux_powerpc-hdhglan-linux-dev.tgz ppc64-pc-linux_powerpc-hdhglan-linux]</h3>
 +
{{stubpar}}
 +
 +
==ARM9-LS-GL==
 +
===Cross Toolchain===
 +
*[http://www.codesourcery.com/gnu_toolchains/arm/releases/2005q3-2 Codesourcery for Arm version 2005q3-2] is suggested.  Please look at [http://forum.buffalo.nas-central.org/viewtopic.php?f=16&t=1535 Toolchain from codesourcery] for more information.
 +
 +
Install it by following this article:<br>
 +
[http://general.nas-central.org/wiki/Setting_up_the_codesourcery_toolchain_for_X86_to_ARM9_cross_compiling 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 <code>./configure; ./make; ./make install</code> without specifying any additional <code>--host</code> or <code>--target</code> parameters when starting configure.
 +
Please consult the [http://www.scratchbox.org/download/files/sbox-releases/0.9.8/doc/installdoc.html 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.
 +
 +
 +
 +
<h2>Build your own toolchain</h2>
 +
<p>You can build your own cross-toolchain using the appropriate source code and the configuration files I have posted in the [http://downloads.nas-central.org/ downloads area]. Please see [[Build (and use) a cross-toolchain using Dan Kegel's crosstool 0.38]] for complete directions.</p>
  
[[category:Projects]]
+
= Links =
 +
* [http://general.nas-central.org/wiki/Setting_up_the_codesourcery_toolchain_for_X86_to_ARM9_cross_compiling Setting up the codesourcery toolchain for X86 to ARM9 cross compiling]
 +
* [[Build (and_use) a cross-toolchain using Dan Kegel's crosstool 0.38]]

Latest revision as of 14:48, 10 July 2010


This article based on work done by Frontalot on Linkstationwiki.org

300px-Heckert_GNU_white.svg.png

Contents

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 [1]. 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
  • gcc 3.4.4
  • glibc 2.3.5
  • linux-2.4.17_mvl21-sandpoint

i686-pc-linux_powerpc-hdhlan-linux-2.0

stock toolchain:

  • binutils 2.11.2
  • gcc 2.95.3
  • glibc 2.2.3
  • linux-2.4.17_mvl21-sandpoint

stable toolchain:

  • binutils 2.15
  • gcc 3.3.5
  • glibc 2.3.2
  • linux-2.4.17_mvl21-sandpoint

unstable toolchain:

  • binutils 2.15
  • gcc 3.4.4
  • glibc 2.3.5
  • linux-2.4.17_mvl21-sandpoint

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

stock toolchain:

  • TODO

stable toolchain:

  • binutils 2.15
  • gcc 3.3.5
  • glibc 2.3.2
  • linux-2.4.17_mvl21-sandpoint

unstable toolchain:

  • binutils 2.15
  • gcc 3.4.4
  • glibc 2.3.5
  • linux-2.4.17_mvl21-sandpoint

Mipsel-HDHLAN

i686-pc-cygwin_mipsel-hdhlan-linux-2.0

stock toolchain:

  • binutils 2.14
  • gcc 3.3.1
  • glibc 2.3.2
  • linux-2.4.20_mipsel_linkstation

stable toolchain:

  • binutils 2.15
  • gcc 3.3.5
  • glibc 2.3.2
  • linux-2.4.20_mipsel_linkstation

unstable toolchain:

  • binutils 2.15
  • gcc 3.4.4
  • glibc 2.3.5
  • linux-2.4.20_mipsel_linkstation

i686-pc-linux_mipsel-hdhlan-linux-2.0

stock toolchain:

  • binutils 2.14
  • gcc 3.3.1
  • glibc 2.3.2
  • linux-2.4.20_mipsel_linkstation

stable toolchain:

  • binutils 2.15
  • gcc 3.3.5
  • glibc 2.3.2
  • linux-2.4.20_mipsel_linkstation

unstable toolchain:

  • binutils 2.15
  • gcc 3.4.4
  • glibc 2.3.5
  • linux-2.4.20_mipsel_linkstation

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

stock toolchain:

  • TODO

stable toolchain:

  • binutils 2.15
  • gcc 3.3.5
  • glibc 2.3.2
  • linux-2.4.20_mipsel_linkstation

unstable toolchain:

  • binutils 2.15
  • gcc 3.4.4
  • glibc 2.3.5
  • linux-2.4.20_mipsel_linkstation

PowerPC-HDHGLAN

i686-pc-cygwin_powerpc-hdhglan-linux-2.0

stock toolchain:

  • FAILS UNDER CYGWIN

stable toolchain:

  • binutils 2.15
  • gcc 3.3.5
  • glibc 2.3.2
  • linux-2.4.20_hglan_htgl

unstable toolchain:

  • binutils 2.15
  • gcc 3.4.4
  • glibc 2.3.5
  • linux-2.4.20_hglan_htgl

i686-pc-linux_powerpc-hdhglan-linux-2.0

stock toolchain:

  • binutils 2.11.2
  • gcc 2.95.3
  • glibc 2.2.3
  • linux-2.4.20_hglan_htgl

stable toolchain:

  • binutils 2.15
  • gcc 3.3.5
  • glibc 2.3.2
  • linux-2.4.20_hglan_htgl

unstable toolchain:

  • binutils 2.15
  • gcc 3.4.4
  • glibc 2.3.5
  • linux-2.4.20_hglan_htgl

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

stock toolchain:

  • TODO

stable toolchain:

  • binutils 2.15
  • gcc 3.3.5
  • glibc 2.3.2
  • linux-2.4.20_hglan_htgl

unstable toolchain:

  • binutils 2.15
  • gcc 3.4.4
  • glibc 2.3.5
  • linux-2.4.20_hglan_htgl

ppc64-pc-linux_powerpc-hdhglan-linux

This paragraph is currently a stub.

Feel free to add content to it.

ARM9-LS-GL

Cross Toolchain

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 ./configure; ./make; ./make install without specifying any additional --host or --target 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