制作ARM Linux交叉编译环境
led in order
>> to use make menuconfig
make[1]: * [ncurses] Error 1
make[1]: Leaving directory `/home/lhs/HHARMMX21/linux-2.4.20/scripts/lxdialog
make: * [menuconfig] Error 2
解决方法:
执行命令:sudo apt-get install ncurses-dev即可!
(ncurses 用于make menuconfig界面显示)
make menuconfig
在System Types中选择正确的硬件类型
make dep
之后执行如下操作
mkdir $TARGET_PREFIX/include
cp-r $KERNEL_SOURCE_LOCATION/include/asm-arm
$TARGET_PREFIX/include/asm
[cp -r kernel/linux-2.4.21/include/asm-arm arm/tool-chain/arm-linux/include/asm]
cp-r $KERNEL_SOURCE_LOCATION/include/linux
$TARGET_PREFIX/include/linux
[cp -r kernel/linux-2.4.21/include/linux arm/tool-chain/arm-linux/include/linux]
4、 创建boot-trap gcc,这个GCC没有glibc库的支持,所以只能用于编译内核,bootloader等,后面创建C库也要用到这个编译器,所以创建它主要是为创建C库做准备,如果只想编译内核和bootloader那么,就可以到此结束。
cd ../../build-dir/build-gcc
../../src_dir/gcc-2.95.3/configure -target=$TARGET -prefix=arm/tool-chain --with-headers=arm/kernel/linux-2.4.21/include -enable-language=c --disable-threads
然后修改src-dir/gcc-2.95.3/gcc/config/arm/t-linux文件,在
TARGET_LIBGCC2_CFLAGS中添加如下两个定义
-Dinhibit_libc –D__gthr_posix_h
make
make install//unsuccess
这时$PREFIX/bin下创建了一些文件,主要创建了arm-linux-gcc。
5、 创建gblic
cd ../build-glibc
export CC=arm-linux-gcc
../../src-dir/glibc-2.2.4/configure –host=$TARGET –prefix=$TARGET_PREFIX
--enable-add-ons
make
make install//unsuccess
6、 创建功能健全的GCC,并创建G++
在成功创建了libc之后,我们就可以创建功能丰富的GCC编译器了,并且可以创建支持编译C++程序的G++。
cd ../../src-dir
tar –xvzf ../setup-dir/ gcc-g++2.95.3.tar.gz
cd ../build-dir/build-gcc
export CC=gcc
../../src-dir/gcc-2.95.3/configure –target=$TARGET –prefix=$PREFIX
–enable-language=c,c++
然后修改src-dir/gcc-2.95.3/gcc/config/arm/t-linux文件,在
TARGET_LIBGCC2_CFLAGS中去除如下两个定义
-Dinhibit-libc –D__gthr_posix_h
make
make install
7,至此我们成功的创建了ARM Linux的交叉编译工具
ARMLinux交叉编译环 相关文章:
- 在ubuntu8.10 下建立 ARM-Linux 交叉编译环境(11-09)
- 创建ARM Linux交叉编译环境实践(11-09)
- 建立ARM Linux交叉编译环境(11-09)
- Linux 系统下ARM Linux交叉编译环境crosstool工具(11-09)
- Ubuntu配置安装ARM Linux交叉编译环境完整流程(11-09)
- Windows CE 进程、线程和内存管理(11-09)