[转]TQ2440交叉编译环境搭建
TQ2440交叉编译环境搭建~
背景:
OS:UBUNTU10.10
交叉工具链从TQ官网下载
linux使用2.6.30.4源码
1)TQ2440的光盘上的 交叉编译工具按照 指导书上减压即可 ;
sudo tar vxjf EABI-4.3.3_EmbedSky_20091210.tar.bz2 -C / 2)接着解压linux源代码;
sudo tar xvfj linux-2.6.30.4.tar.bz2 -C /opt/EmbedSky/ 3)修改环境变量,把交叉编译器的路径加入到 PATH;
sudo gedit /etc/environment
在最后加上: :/opt/EmbedSky/4.3.3/bin
4)立即使新的环境变量生效,不用重启电脑; source /etc/environment
5)检查是否将路径加入到 PATH
echo $ PATH 显示的内容中有/opt/EmbedSky/4.3.3/bin,说明已经将交叉编译器的路径加入 PATH 。至此,交叉编译环境安装完成。
6)测试是否安装成功
arm-linux-gcc -v
上面的命令会显示arm-linux-gcc信息和版本
sky@NEU:/opt/EmbedSky/linux-2.6.30.4$ arm-linux-gcc -v Using built-in specs. Target: arm-none-linux-gnueabi Configured with: /scratch/maxim/arm-lite/src-4.3-arm-none-linux-gnueabi-lite/gcc-4.3/configure --build=i686-pc-linux-gnu --host=i686-pc-linux-gnu --target=arm-none-linux-gnueabi --enable-threads --disable-libmudflap --disable-libssp --disable-libstdcxx-pch --with-gnu-as --with-gnu-ld --with-specs='%{funwind-tables|fno-unwind-tables|mabi=*|ffreestanding|nostdlib:;:-funwind-tables}' --enable-languages=c,c++ --enable-shared --enable-symvers=gnu --enable-__cxa_atexit --with-pkgversion='Sourcery G++ Lite 2009q1-176' --with-bugurl=https://support.codesourcery.com/GNUToolchain/ --disable-nls --prefix=/opt/codesourcery --with-sysroot=/opt/codesourcery/arm-none-linux-gnueabi/libc --with-build-sysroot=/scratch/maxim/arm-lite/install-4.3-arm-none-linux-gnueabi-lite/arm-none-linux-gnueabi/libc --with-gmp=/scratch/maxim/arm-lite/obj-4.3-arm-none-linux-gnueabi-lite/host-libs-2009q1-176-arm-none-linux-gnueabi-i686-pc-linux-gnu/usr --with-mpfr=/scratch/maxim/arm-lite/obj-4.3-arm-none-linux-gnueabi-lite/host-libs-2009q1-176-arm-none-linux-gnueabi-i686-pc-linux-gnu/usr --disable-libgomp --enable-poison-system-directories --with-build-time-tools=/scratch/maxim/arm-lite/install-4.3-arm-none-linux-gnueabi-lite/arm-none-linux-gnueabi/bin --with-build-time-tools=/scratch/maxim/arm-lite/install-4.3-arm-none-linux-gnueabi-lite/arm-none-linux-gnueabi/bin Thread model: posix gcc version 4.3.3 (Sourcery G++ Lite 2009q1-176)
7)make menuconfig(详细过程参照TQ2440手册)
8)sudo make zImage
提示错误:
arm-linux-gcc: Command not found
原因:
/etc/environment里加上的:/opt/EmbedSky/4.3.3/bin
是设置当前用户的PATH,而sudo执行make的时候,使用的是超级用户权限,那也就使用了超级用户的PATH(但是这个PATH里,并没有/opt/EmbedSky/4.3.3/bin)
目前还没解决此问题,只是使用
sudo -s进入root模式
在当前shell下,设置环境变量:
export PATH=$PATH:/opt/EmbedSky/4.3.3/bin
然后再make zImage则可以编译