Difference between revisions of "Precompiled C development environment, running on the LS"
m (→hg-tools) |
Mindbender (Talk | contribs) m (→Background) |
||
(9 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
− | {{Template:Articles|Projects|OpenLink|LS1|LS2|HG|Development}} | + | {{Template:Articles|Projects|OpenLink|LS1|LS2|HG|LSPro|Development}} |
<small><font color=red>Originally by frontalot from linkstationwiki.org Edited by mindbender</font></small> | <small><font color=red>Originally by frontalot from linkstationwiki.org Edited by mindbender</font></small> | ||
− | + | [[image:Software_development_process.jpg|400px|right]] | |
=Background= | =Background= | ||
− | The LinkStation lacks virtually all necessary development tools, such as binutils or gcc, making it quite difficult to natively compile programs. Are you struggling to build a C compiler without a C compiler? The development tools project aims to solve this problem by offering a complete package of precompiled development tools and related libraries. Although certain tools from this package may work on a stock LinkStation, the development tools are specifically designed to be used on LinkStations with '''[[OpenLink]]''' firmware. You may download the latest version from the [http://downloads. | + | The LinkStation lacks virtually all necessary development tools, such as binutils or gcc, making it quite difficult to natively compile programs. Are you struggling to build a C compiler without a C compiler? The development tools project aims to solve this problem by offering a complete package of precompiled development tools and related libraries. Although certain tools from this package may work on a stock LinkStation, the development tools are specifically designed to be used on LinkStations with '''[[OpenLink]]''' firmware. You may download the latest version from the [http://downloads.nas-central.org/ downloads area]. |
=Installation instructions= | =Installation instructions= | ||
Line 9: | Line 9: | ||
=Roadmap= | =Roadmap= | ||
− | ==PowerPC== | + | ==ARM (LSPro)== |
+ | ===version 0.16-3=== | ||
+ | --removed busybox due to error. | ||
+ | ===version 0.16-2=== | ||
+ | --busybox and coreutils upgrade. | ||
+ | ===version 0.12=== | ||
+ | --gcc-4.1.1 | ||
+ | |||
+ | ==PowerPC (LS1+HG)== | ||
==== ppc-tools-2.1 ==== | ==== ppc-tools-2.1 ==== | ||
Line 90: | Line 98: | ||
* zlib1g-dev 1.2.2 | * zlib1g-dev 1.2.2 | ||
+ | ==PowerPC (HG)== | ||
+ | ==== hg-tools-2.0 ==== | ||
+ | '''''README''''' | ||
+ | SYNOPSIS: | ||
+ | Three different sets of headers are provided: (1) stock, (2) stable, and (3) unstable. See CHANGES for details. | ||
+ | |||
+ | INSTALLATION: | ||
+ | Unpack the archive to your filesystem root [/]. The headers will install to /usr/include. | ||
+ | '''''CHANGES''''' | ||
+ | updated kernel .config | ||
+ | * stock headers: | ||
+ | * binutils 2.11.2 | ||
+ | * gcc 2.95.3 | ||
+ | * glibc 2.2.3 | ||
+ | * linux-2.4.20_hglan_htgl | ||
+ | stable headers: | ||
+ | * binutils 2.15 | ||
+ | * gcc 3.3.5 | ||
+ | * glibc 2.3.2 | ||
+ | * linux-2.4.20_hglan_htgl | ||
+ | unstable headers: | ||
+ | * binutils 2.15 | ||
+ | * gcc 3.4.4 | ||
+ | * glibc 2.3.5 | ||
+ | * linux-2.4.20_hglan_htgl | ||
− | === hg-tools === | + | ==== hg-tools-1.0 ==== |
− | + | initial version | |
− | + | * gcc-3.3.5-glibc-2.3.2 | |
− | + | * linux-2.4.20_hglan_htgl | |
− | + | ||
− | + | ||
− | + | ||
− | *gcc | + | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | *linux-2.4.20_hglan_htgl | + | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
==MIPSel== | ==MIPSel== |
Latest revision as of 09:37, 12 November 2007
Originally by frontalot from linkstationwiki.org Edited by mindbender
Background
The LinkStation lacks virtually all necessary development tools, such as binutils or gcc, making it quite difficult to natively compile programs. Are you struggling to build a C compiler without a C compiler? The development tools project aims to solve this problem by offering a complete package of precompiled development tools and related libraries. Although certain tools from this package may work on a stock LinkStation, the development tools are specifically designed to be used on LinkStations with OpenLink firmware. You may download the latest version from the downloads area.
Installation instructions
Check which Linkstation model you have. Currently there are 3 different architectures ARM (LSPro), PowerPC (LS1, HG, HS, Terastation, Terastation Pro) and MIPSel (LS2).
These should install all the development tools without asking, you will now have a working toolchain on your box!
ARM (LSPROv1, LSPROv2, LSLIVEv1, LSLIVEv2, TSPRO2, TSLIVE)
![]() |
mkdir tmp cd tmp wget http://downloads.nas-central.org/LSPro_ARM9/DevelopmentTools/NativeToolchains/arm-tools-0_16-8.tgz tar -C / -xzvf arm-tools-0_16-8.tgz
The tools awk and sed included by the LSPROv2 are "busyboxed" versions with minimal functionality. This will break some source builds, f.ex. the latest Apache2 (httpd-2.2.9), causing much annoyance.
To fix this one can install sed: http://directory.fsf.org/project/sed.
mkdir /mnt/disk1/tmp cd /mnt/disk1/tmp wget http://ftp.gnu.org/pub/gnu/sed/sed-4.1.5.tar.gz tar -zxvf sed-4.1.5.tar.gz cd sed-4.1.5 ./configure make su root password:<root's password> mv /bin/sed /bin/sed.bak make install ln -s /usr/local/bin/sed /bin/sed exit
(The symlink is probably not necessary because /usr/local/bin is on the path but it is better to be sure). Be aware that building 'sed' requires a working 'sed' so we leave the original version until we have the upgrade ready.
Once that is out of the way we can continue with 'awk', or rather 'gawk', the GNU version of awk: http://directory.fsf.org/project/gawk
Again this is a straight-forward build:
mkdir /mnt/disk1/tmp cd /mnt/disk1/tmp wget http://ftp.gnu.org/gnu/gawk/gawk-3.1.5.tar.gz tar -zxvf gawk-3.1.5.tar.gz ./configure make su root password:<root's password> mv /usr/bin/awk /usr/bin/awk.bak make install ln -s /usr/local/bin/awk /usr/bin/awk exit
Now the system should be able to build 'autoconf'-based source trees reliably.
PowerPC (LS1)
mkdir tmp cd tmp wget http://downloads.nas-central.org/ALL_PPC/ppc-tools-2_1.tgz mkdir devtools cd devtools tar -xzvf ../ppc-tools-2_1.tgz ./install.sh
PowerPC (HG)
Please use the latest ppc-tools package but replace the included kernel headers with the HG LinkStation kernel headers ! Do not delete the kernel-headers from the package before execute the install script, also if there are not needed anymore, because e.g. the kernel 2.6.x is running. In the kernel-headers 2.4.x are also the gcc and g++ header included and must be installed.
kernel-headers-2.4.20_hglan_htgl-2.0.tar.bz2
mkdir tmp cd tmp wget http://downloads.nas-central.org/ALL_PPC/ppc-tools-2_1.tgz mkdir devtools cd devtools tar -xzvf ../ppc-tools-2_1.tgz ./install.sh wget http://downloads.nas-central.org/LSHG_PPC/Kernel/Headers/kernel-headers-2.4.20_hglan_htgl-2.0.tgz tar -C / -xvzf kernel-headers-2.4.20_hglan_htgl-2.0.tgz
PowerPC (TS , TSHS)
Installation like LS1, you only need to install different kernel-headers.
PowerPC (TSPRO1)
Installation like LS1, you only need to install different kernel-headers.
MIPSel (LS2)
mkdir tmp cd tmp wget http://downloads.nas-central.org/LS2_MIPSel/DevelopmentTools/NativeToolchains/mipsel-tools-2_1.tgz mkdir devtools cd devtools tar -xzvf ../mipsel-tools-2_1.tgz ./install.sh
Roadmap
ARM (LSPro)
version 0.16-3
--removed busybox due to error.
version 0.16-2
--busybox and coreutils upgrade.
version 0.12
--gcc-4.1.1
PowerPC (LS1+HG)
ppc-tools-2.1
* Added simple installation script install.sh which just installs everything * Moved old installation script install.sh to install_custom.sh * Updated both scripts to create a symlink for /usr/bin/cc -> /usr/bin/gcc
ppc-tools-2.0
* Updated installation script (no longer needs to be unpacked to filesystem root) * Updated installation instructions * Added libncursesw-dev 5.4 * Added additional locales 2.3.5 * Upgraded to cpp 3.3.5 * Upgraded to g++ 3.3.5 * Upgraded to gcc 3.3.5 * Upgraded to glibc-dev 2.3.5 * Upgraded to libstdc+±dev 3.3.5 * Upgraded to official Linux kernel headers * Moved libdb 4.2.52 to OpenLink * Moved libgcc1 3.4.3 to OpenLink * Moved libgdbm 1.8.3 to OpenLink * Moved libncurses 5.4 to OpenLink * Moved libpopt 1.7 to OpenLink * Moved libreadline 4.3 to OpenLink * Moved libssl 0.9.7e to OpenLink * Moved Perl packages to OpenLink
ppc-tools-1.0
* autoconf 2.59a * automake 1.4-p6 * autotools-dev 20050422.1 * binutils 2.15 * binutils-dev 2.15 * bison 1.875d * byacc 1.9.1 * cpp 2.95.4 * diff 2.8.1 * file 4.12 * flex 2.5.31 * g++ 2.95.4 * gcc 2.95.4 * libc6-dev 2.3.2.ds1 * libdb 4.2.52 * libdb-dev 4.2.52 * libgcc1 3.4.3 * libgdbm-dev 1.8.3 * libgdbm3 1.8.3 * libltdl3 1.5.6 * libltdl3-dev 1.5.6 * libmagic-dev 4.12 * libmagic1 4.12 * libncurses 5.4 * libncurses-dev 5.4 * libpopt-dev 1.7 * libpopt0 1.7 * libreadline 4.3 * libreadline-dev 4.3 * libssl-dev 0.9.7e * libssl 0.9.7e * libstdc++2.10-dev 2.95.4 * libstdc++2.10-glibc2.2 2.95.4 * libtool 1.5.6 * linux-kernel-headers 2.5.999-test7-bk * m4 1.4.2 * make 3.80 * openssl 0.9.7e * perl 5.8.4 * perl-base 5.8.4 * perl-modules 5.8.4 * pkg-config 0.17.2 * python 2.3.5 * python-dev 2.3.5 * zlib1g-dev 1.2.2
PowerPC (HG)
hg-tools-2.0
README
SYNOPSIS: Three different sets of headers are provided: (1) stock, (2) stable, and (3) unstable. See CHANGES for details. INSTALLATION: Unpack the archive to your filesystem root [/]. The headers will install to /usr/include.
CHANGES
updated kernel .config * stock headers: * binutils 2.11.2 * gcc 2.95.3 * glibc 2.2.3 * linux-2.4.20_hglan_htgl stable headers: * binutils 2.15 * gcc 3.3.5 * glibc 2.3.2 * linux-2.4.20_hglan_htgl unstable headers: * binutils 2.15 * gcc 3.4.4 * glibc 2.3.5 * linux-2.4.20_hglan_htgl
hg-tools-1.0
initial version * gcc-3.3.5-glibc-2.3.2 * linux-2.4.20_hglan_htgl
MIPSel
mipsel-tools-2.1
* Added simple installation script install.sh which just installs everything * Moved old installation script install.sh to install_custom.sh * Updated both scripts to create a symlink for /usr/bin/cc -> /usr/bin/gcc
mipsel-tools-2.0
* Updated installation script (no longer needs to be unpacked to filesystem root) * Updated installation instructions * Added libncursesw-dev 5.4 * Added additional locales 2.3.5 * Upgraded to cpp 3.3.5 * Upgraded to g++ 3.3.5 * Upgraded to gcc 3.3.5 * Upgraded to glibc-dev 2.3.5 * Upgraded to libstdc+±dev 3.3.5 * Upgraded to official Linux kernel headers * Moved libdb 4.2.52 to OpenLink * Moved libgcc1 3.4.3 to OpenLink * Moved libgdbm 1.8.3 to OpenLink * Moved libncurses 5.4 to OpenLink * Moved libpopt 1.7 to OpenLink * Moved libreadline 4.3 to OpenLink * Moved libssl 0.9.7e to OpenLink * Moved Perl packages to OpenLink
mipsel-tools-1.0
* autoconf 2.59a * automake 1.4-p6 * autotools-dev 20050422.1 * binutils 2.15 * binutils-dev 2.15 * bison 1.875d * byacc 1.9.1 * cpp 2.95.4 * diff 2.8.1 * file 4.12 * flex 2.5.31 * g++ 2.95.4 * gcc 2.95.4 * libc6-dev 2.3.2.ds1 * libdb 4.2.52 * libdb-dev 4.2.52 * libgcc1 3.4.3 * libgdbm-dev 1.8.3 * libgdbm3 1.8.3 * libltdl3 1.5.6 * libltdl3-dev 1.5.6 * libmagic-dev 4.12 * libmagic1 4.12 * libncurses 5.4 * libncurses-dev 5.4 * libpopt-dev 1.7 * libpopt0 1.7 * libreadline 4.3 * libreadline-dev 4.3 * libssl-dev 0.9.7e * libssl 0.9.7e * libstdc++2.10-dev 2.95.4 * libstdc++2.10-glibc2.2 2.95.4 * libtool 1.5.6 * linux-kernel-headers 2.5.999-test7-bk * m4 1.4.2 * make 3.80 * openssl 0.9.7e * perl 5.8.4 * perl-base 5.8.4 * perl-modules 5.8.4 * pkg-config 0.17.2 * python 2.3.5 * python-dev 2.3.5 * zlib1g-dev 1.2.2
.