Created
August 3, 2010 06:10
-
-
Save mnorkin/505927 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
TARGET=arm-unknown-linux-gnu | |
PREFIX=/usr/arm | |
SYSROOT=${PREFIX}/sysroot | |
export ARCH=arm | |
export CROSS_COMPILE=${TARGET}- | |
export PATH=$PATH:${PREFIX}/bin | |
mkdir -p ${PREFIX}/src | |
cd ${PREFIX}/src | |
for URL in \ | |
http://ftp.gnu.org/gnu/binutils/binutils-2.16.tar.gz \ | |
http://ftp.gnu.org/gnu/gcc/gcc-3.4.4/gcc-3.4.4.tar.bz2 \ | |
"http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/flow.c.diff?cvsroot=gcc&only_with_tag=csl-arm-branch&r1=1.563.4.2&r2=1.563.4.3" \ | |
http://frank.harvard.edu/~coldwell/toolchain/t-linux.diff \ | |
http://ftp.gnu.org/gnu/glibc/glibc-2.3.5.tar.gz \ | |
http://ftp.gnu.org/gnu/glibc/glibc-linuxthreads-2.3.5.tar.gz \ | |
http://frank.harvard.edu/~coldwell/toolchain/ioperm.c.diff \ | |
http://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.10.tar.gz \ | |
http://maxim.org.za/AT91RM9200/2.6/2.6.10-at91.patch.gz \ | |
http://www.dilnetpc.com/26_at91_serial.c.gz | |
do | |
FILE=${URL##*/} | |
FILE=${FILE%%\?*} | |
[ -f ${FILE} ] || wget -O ${FILE} ${URL} | |
done | |
cd ${PREFIX}/src | |
tar xvfz binutils-2.20.tar.gz | |
mkdir -p BUILD/binutils-2.20 | |
cd BUILD/binutils-2.20 | |
../../binutils-2.20/configure --prefix=${PREFIX} --target=${TARGET} \ | |
--with-sysroot=${SYSROOT} 2>&1 | tee configure.out | |
make 2>&1 | tee make.out | |
make install 2>&1 | tee -a make.out | |
cd ${PREFIX}/src | |
tar xvfz linux-2.6.10.tar.gz | |
ln -s linux-2.6.10 linux | |
zcat 2.6.10-at91.patch.gz | patch -d linux -p1 | |
zcat 26_at91_serial.c.gz >linux/drivers/serial/at91_serial.c | |
cd linux | |
make at91rm9200dk_defconfig | |
make include/linux/version.h | |
mkdir -p ${SYSROOT}/usr/include | |
cp -a ${PREFIX}/src/linux/include/linux ${SYSROOT}/usr/include/linux | |
cp -a ${PREFIX}/src/linux/include/asm-arm ${SYSROOT}/usr/include/asm | |
cp -a ${PREFIX}/src/linux/include/asm-generic ${SYSROOT}/usr/include/asm-generic | |
cd ${PREFIX}/src | |
tar xvfz glibc-2.3.5.tar.gz | |
patch -d glibc-2.3.5 -p1 <ioperm.c.diff | |
cd glibc-2.3.5 | |
tar xvfz ../glibc-linuxthreads-2.3.5.tar.gz | |
cd .. | |
mkdir -p BUILD/glibc-2.3.5-headers | |
cd BUILD/glibc-2.3.5-headers | |
../../glibc-2.3.5/configure --prefix=/usr --host=${TARGET} \ | |
--enable-add-ons=linuxthreads --with-headers=${SYSROOT}/usr/include 2>&1 \ | |
| tee configure.out | |
make cross-compiling=yes install_root=${SYSROOT} install-headers 2>&1 | \ | |
tee make.out | |
touch ${SYSROOT}/usr/include/gnu/stubs.h | |
touch ${SYSROOT}/usr/include/bits/stdio_lim.h | |
cd ${PREFIX}/src | |
bunzip2 -c gcc-3.4.4.tar.bz2 | tar xvf - | |
patch -d gcc-3.4.4 -p1 < flow.c.diff | |
patch -d gcc-3.4.4 -p1 < t-linux.diff | |
mkdir -p BUILD/gcc-3.4.4-stage1 | |
cd BUILD/gcc-3.4.4-stage1 | |
../../gcc-3.4.4/configure --prefix=${PREFIX} --target=${TARGET} \ | |
--enable-languages=c --with-sysroot=${SYSROOT} 2>&1 | tee configure.out | |
make 2>&1 | tee make.out | |
make install 2>&1 | tee -a make.out | |
cd ${PREFIX}/src | |
mkdir -p BUILD/glibc-2.3.5 | |
cd BUILD/glibc-2.3.5 | |
BUILD_CC=gcc CC=${CROSS_COMPILE}gcc AR=${CROSS_COMPILE}ar \ | |
RANLIB=${CROSS_COMPILE}ranlib AS=${CROSS_COMPILE}as \ | |
LD=${CROSS_COMPILE}ld ../../glibc-2.3.5/configure --prefix=/usr \ | |
--build=i386-redhat-linux --host=arm-unknown-linux-gnu \ | |
--target=arm-unknown-linux-gnu --without-__thread \ | |
--enable-add-ons=linuxthreads --with-headers=${SYSROOT}/usr/include 2>&1 \ | |
| tee configure.out | |
make 2>&1 | tee make.out | |
make install_root=${SYSROOT} install | |
cd ${PREFIX}/src | |
mkdir -p BUILD/gcc-3.4.4 | |
cd BUILD/gcc-3.4.4 | |
../../gcc-3.4.4/configure --prefix=${PREFIX} --target=${TARGET} \ | |
--enable-languages=c --with-sysroot=${SYSROOT} 2>&1 | tee configure.out | |
make 2>&1 | tee make.out | |
make install 2>&1 | tee -a make.out | |
cd ${PREFIX}/src/linux | |
make zImage | |
make modules | |
make INSTALL_MOD_PATH=${SYSROOT} modules_install |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment