📄 00000006.htm
字号:
rmk 补丁 <BR><A HREF="ftp://ftp.arm.linux.org.uk/pub/armlinux/kernel/v2.4/">ftp://ftp.arm.linux.org.uk/pub/armlinux/kernel/v2.4/</A> <BR>ds 补丁 <BR><A HREF="ftp://source.mvista.com/pub/ds-patches/2.4/">ftp://source.mvista.com/pub/ds-patches/2.4/</A> <BR><A HREF="http://csociety.ecn.purdue.edu/~deepak/patches/2.4/">http://csociety.ecn.purdue.edu/~deepak/patches/2.4/</A> <BR>iop 补丁 <BR><A HREF="ftp://source.mvista.com/pub/xscale/iop3xx/2.4/">ftp://source.mvista.com/pub/xscale/iop3xx/2.4/</A> <BR>linux-2.4.21 <BR><A HREF="ftp://ftp.kernle.org/pub/linux/kernel/v2.4/linux-2.4.21.tar.gz">ftp://ftp.kernle.org/pub/linux/kernel/v2.4/linux-2.4.21.tar.gz</A> <BR>patch-2.4.21-rmk1.bz2 <BR><A HREF="ftp://ftp.arm.linux.org.uk/pub/armlinux/kernel/v2.4/patch-2.4.21-rmk1.bz">ftp://ftp.arm.linux.org.uk/pub/armlinux/kernel/v2.4/patch-2.4.21-rmk1.bz</A> <BR>2 <BR>patch-2.4.21-rmk1-ds0.bz2 <BR><A HREF="ftp://aiedownload.intel.com/df-support/7060/eng/patch-2_4_21-rmk1-ds0.bz">ftp://aiedownload.intel.com/df-support/7060/eng/patch-2_4_21-rmk1-ds0.bz</A> <BR>2 <BR><A HREF="ftp://source.mvista.com/pub/xscale/iop3xx/2.4/patch-2.4.21-rmk1-ds0.bz2">ftp://source.mvista.com/pub/xscale/iop3xx/2.4/patch-2.4.21-rmk1-ds0.bz2</A> <BR>patch-2.4.21-rmk1-ds0-dj9.bz2 <BR><A HREF="ftp://aiedownload.intel.com/df-support/7183/eng/patch-2.4.21-rmk1-ds0-dj">ftp://aiedownload.intel.com/df-support/7183/eng/patch-2.4.21-rmk1-ds0-dj</A> <BR>9.bz2 <BR><A HREF="ftp://source.mvista.com/pub/xscale/iop3xx/2.4/patch-2.4.21-rmk1-ds0-dj9.">ftp://source.mvista.com/pub/xscale/iop3xx/2.4/patch-2.4.21-rmk1-ds0-dj9.</A> <BR>bz2 <BR>binutils-2.14.tar.gz <BR><A HREF="ftp://ftp.gnu.org/gnu/binutils/binutils-2.14.tar.gz">ftp://ftp.gnu.org/gnu/binutils/binutils-2.14.tar.gz</A> <BR>gcc-core-2.95.3.tar.gz <BR><A HREF="ftp://ftp.gnu.org/gnu/gcc/gcc-2.95.3/gcc-core-2.95.3.tar.gz">ftp://ftp.gnu.org/gnu/gcc/gcc-2.95.3/gcc-core-2.95.3.tar.gz</A> <BR>gcc-g++2.95.3.tar.gz <BR><A HREF="ftp://ftp.gnu.org/gnu/gcc/gcc-2.95.3/gcc-g++-2.95.3.tar.gz">ftp://ftp.gnu.org/gnu/gcc/gcc-2.95.3/gcc-g++-2.95.3.tar.gz</A> <BR>glibc-2.2.4.tar.gz <BR><A HREF="ftp://ftp.gnu.org/gnu/glibc/glibc-2.2.4.tar.gz">ftp://ftp.gnu.org/gnu/glibc/glibc-2.2.4.tar.gz</A> <BR>glibc-linuxthreads-2.2.4.tar.gz <BR><A HREF="ftp://ftp.gnu.org/gnu/glibc/glibc-linuxthreads-2.2.4.tar.gz">ftp://ftp.gnu.org/gnu/glibc/glibc-linuxthreads-2.2.4.tar.gz</A> <BR> <BR>2.3 安装 <BR> 注意:行首的”#”表示注释。行尾的”\”表示续行。 <BR>2.3.1 安装linux头文件 <BR># 解压缩,打补丁 <BR># 解压缩tar.gz包:tar zxfv filename.tar.gz <BR># 或者 gzip -dc filename.tar.gz | tar xf - <BR># 解压缩tar.bz2包:tar jxfv filename.tar.bz2 <BR># 或者 bzip2 -dc filename.tar.bz2 | tar xf - <BR># 打tar.gz格式补丁:gzip -dc patchfile.tar.gz | patch -p1 <BR># 打tar.bz2格式补丁:bzip2 -dc patchfile.tar.bz2 | patch -p1 <BR>[root@lips root]# cd $TOPDIR/src <BR>[root@lips src]# tar zxfv $TOPDIR/tars/linux-2.4.21.tar.gz <BR>[root@lips src]# cd linux-2.4.21 <BR>[root@lips linux-2.4.21]# bzip2 -dc $TOPDIR/tars/patch-2.4.21-rmk1.bz2 | <BR> patch -p1 <BR>[root@lips linux-2.4.21]# bzip2 -dc $TOPDIR/tars/patch-2.4.21-rmk1-ds0.b <BR>z2 | patch -p1 <BR>[root@lips linux-2.4.21]# bzip2 -dc $TOPDIR/tars/patch-2.4.21-rmk1-ds0-d <BR>j9.bz2 | patch -p1 <BR>[root@lips linux-2.4.21]# cd .. <BR>[root@lips src]# mv linux-2.4.21 linux-2.4.21-rmk1-ds0-dj9 <BR>[root@lips src]# ln -s linux-2.4.21-rmk1-ds0-dj9 linux <BR>[root@lips src]# cd linux <BR>[root@lips linux]# make mrproper <BR># 修改Makefile <BR># 把ARCH和CROSS_COMPLIE的定义修改如下: <BR>ARCH = arm <BR>CROSS_COMPLIE = $(PREFIX)/bin/arm-linux- <BR># 查看 linux/arch/arm/def-configs 目录下面的文件名,表示已经支持的板子 <BR># 用 make ARCH=arm XXX_config 来产生默认配置 <BR># 注意这里要在板子名称后面加上 "_config" <BR>[root@lips linux]# make iq80321_config <BR>*** Default configuration for iq80321 installed <BR>*** Next, you may run 'make oldconfig' <BR>[root@lips linux]# yes "" | make oldconfig <BR>[root@lips linux]# make include/linux/version.h <BR># 复制头文件 <BR>[root@lips linux]# mkdir -p $PREFIX/$TARGET/include <BR>[root@lips linux]# cp -dpR include/linux/ $PREFIX/$TARGET/include/ <BR>[root@lips linux]# cp -dpR include/asm-arm/ $PREFIX/$TARGET/include/asm <BR>[root@lips linux]# cd $PREFIX/$TARGET/ <BR>[root@lips arm-linux]# ln -s include sys-include <BR> <BR>2.3.2 编译安装binutils <BR># 解压缩 <BR>[root@lips arm]# cd src <BR>[root@lips src]# tar zxfv $TOPDIR/tars/binutils-2.14.tar.gz <BR># 编译 <BR>[root@lips src]# mkdir –p $TOPDIR/build/binutils <BR>[root@lips src]# cd $TOPDIR/build/binutils/ <BR>[root@lips binutils]# $TOPDIR/src/binutils-2.14/configure \ <BR> --target=$TARGET \ <BR> --prefix=$PREFIX <BR>[root@lips binutils]# make all; make install <BR># 输出 binutils 的路径到环境变量中 <BR>[root@lips binutils]# export PATH=$PREFIX/bin:$PATH <BR> <BR>2.3.3 编译安装gcc的c编译器 <BR># 解压缩 <BR># 注意:为什么不用 all-in-one 的 gcc-2.95.3.tar.gz 呢? <BR># all-in-one 的 gcc 包里面有 chill, fortran, java 等语言的编译器,虽然在 <BR>下面 configure 时指定 -enable-languages=c,但编译时还是把所有的都编译一便 <BR>,这不是我们需要的,而且它也总会有错误。因此我们只编译 C 语言的编译器。后 <BR>面第二次编译的时候也是这个问题,我们只编译 C 和 C++ 的编译器。 <BR>[root@lips binutils]# cd $TOPDIR/src <BR>[root@lips src]# tar zxfv $TOPDIR/tars/gcc-core-2.95.3.tar.gz <BR># 修改 gcc 的 t-linux 文件 <BR># 在 t-linux 文件中的 TARGET_LIBGCC2_CFLAGS 上加上 __gthr_posix_h 和 inh <BR>ibit_libc <BR># 这里使用了 sed 工具来直接编辑文件,是为了方便用脚本实现整个过程 <BR># sed ‘s/被替换的字符串/新字符串/’ <BR># < 和 > 在 shell 中表示重定向 <BR># 也就是说sed所处理的内容从 t-lingux.orig 文件输入 <BR># 结果输出到 t-linux-core 文件中去 <BR>[root@lips src]# cd gcc-core-2.95.3/gcc/config/arm <BR>[root@lips arm]# mv t-linux t-linux.orig <BR>[root@lips arm]# sed 's/TARGET_LIBGCC2_CFLAGS =/TARGET_LIBGCC2_CFLAGS = <BR>-D__gthr_posix_h -Dinhibit_libc/' < t-linux.orig > t-linux-core <BR>[root@lips arm]# cp t-linux-core t-linux <BR># 编译 <BR>[root@lips arm]# mkdir $TOPDIR/build/gcc-core <BR>[root@lips arm]# cd $TOPDIR/build/gcc-core/ <BR>[root@lips gcc-core]# <BR>[root@lips gcc-core]# $TOPDIR/src/gcc-2.95.3/configure \ <BR> --target=$TARGET \ <BR> --prefix=$PREFIX \ <BR> --enable-languages=c \ <BR> --disable-shared \ <BR> --disable-threads <BR>[root@lips gcc-core]# make all install <BR> <BR>2.3.4 编译安装glibc <BR># 解压缩 <BR>[root@lips gcc-core]# cd $TOPDIR/src/ <BR>[root@lips src]# tar zxfv $TOPDIR/tars/glibc-2.2.4.tar.gz <BR>[root@lips src]# cd glibc-2.2.4/ <BR>[root@lips glibc-2.2.4]# tar zxfv $TOPDIR/tars/glibc-linuxthreads-2.2.4. <BR>tar.gz <BR># 编译 <BR>[root@lips glibc-2.2.4]# mkdir $TOPDIR/build/glibc <BR>[root@lips glibc-2.2.4]# cd $TOPDIR/build/glibc <BR>[root@lips glibc]# CC=$TARGET-gcc AR=$TARGET-ar RANLIB=$TARGET-ranlib \ <BR> $TOPDIR/src/glibc-2.2.4/configure \ <BR> $TARGET \ <BR> --prefix=$PREFIX/$TARGET \ <BR> --enable-add-ons <BR>[root@lips glibc]# make all install <BR> <BR>2.3.5 编译安装gcc的c, c++编译器 <BR># 恢复 t-linux 文件 <BR>[root@lips glibc]# cd $TOPDIR/src/gcc-2.95.3/gcc/config/arm/ <BR>[root@lips arm]# cp t-linux.orig t-linux <BR># 解压缩 <BR>[root@lips arm]# cd $TOPDIR/src/ <BR>[root@lips src]# tar zxfv $TOPDIR/tars/gcc-g++-2.95.3.tar.gz <BR># 编译 <BR>[root@lips src]# mkdir $TOPDIR/build/gcc-g++ <BR>[root@lips src]# cd $TOPDIR/build/gcc-g++/ <BR>[root@lips gcc-g++]# $TOPDIR/src/gcc-2.95.3/configure \ <BR> --target=$TARGET \ <BR> --prefix=$PREFIX \ <BR> --enable-languages=c,c++ \ <BR> --with-included-gettext <BR>[root@lips gcc-g++]# make all install <BR> <BR>2.4 使用交叉编译环境 <BR> [参考ARM Linux 2.4, linux/Documentation/arm/README ] <BR> If you wish to cross-compile, then alter the following lines in th <BR>e top <BR> level make file: <BR> ARCH = <whatever> <BR> with <BR> ARCH = arm <BR> and <BR> CROSS_COMPILE= <BR> to <BR> CROSS_COMPILE=<your-path-to-your-compiler-without-gcc> <BR> eg. <BR> CROSS_COMPILE=arm-linux- <BR> <BR> 上述过程完成之后,为了便于其他开发人员使用交叉编译环境,我们可以将必 <BR>要的文件打包备份,复制到其他主机上即可成为一个交叉开发环境。如下几个目录 <BR>是必需的: <BR> $TOPDIR/arm-toolchain --> arm-toolchain-2.4.21-rmk1.tgz <BR> $TOPDIR/src/linux --> linux-2.4.21-rmk1-ds0-dj9.tar.gz <BR> Makefile 中相应位置需要根据实际情况(上面两个包解开在哪个目录)做一些 <BR>修改: <BR> ARCH = arm <BR> CROSS_COMPLIE = /root/arm/tool-chain/bin/arm-linux- <BR>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -