感谢支持
我们一直在努力

Ubuntu 10.04安装交叉编译器

开发环境:Ubuntu 10.04,linux-2.6.26.5


开发步骤:


1.安装和下载可能用到的软件包。


sudo apt-get install bison flex build-essential patch  libncurese5-dev


//libncurese5-dev在10.04中似乎apt-get找不到,但是新力得里看得到的


也可以把这些软件的deb报下下来,然后 sudo dpkg -i *.deb


2. 降低gcc的版本


Ubuntu默认的gcc是4.4的,版本高也是问题(对此实在是无语,真要命)但并不需要卸载4.4,因为我们在终端输入的gcc只是gcc-4.4的软连接,把这个软连接指向4.1就行了。两种方法:


(a).直接apt-get安装


sudo apt-get install gcc-4.1


安装后gcc被覆盖,指向了gcc-4.1。


(b).下载软件包


gcc-4.1_4.1.2-23Ubuntu3_i386.deb


gcc-4.1-base_4.1.2-23Ubuntu3_i386.deb


cpp-4.1_4.1.2-23Ubuntu3_i386.deb


然后sudo dpkg -i  *.deb安装


安装好后修改软连接


sudo rm /usr/bin/gcc


sudo ln -s  /usr/bin/gcc-4.1 /usr/bin/gcc


3. 修改sh版本


运行:ls -la /bin/sh


可以看到/bin/sh的链接是dash,运行以下命令:


sudo dpkg-reconfigure dash


选择no以删除dash


可以再运行一下ls -la /bin/sh 可以看到它现在指向了bash,别还以为是dash,别看错哦~


4. 新建安装文件夹crosstool和downloads,最好是在/home/lnux下,一旦建立就不要移动了。


mkdir /home/linux/downloads,将crosstoll-0.43.tar.gz拷入。除此之外,还有其他下面要用到的源码包,如果没有的话下面会自动下载。


5.解压crosstool-0.43.


cd  /home/linux/downloads


tar -zxvf crosstool-0.43.tar.gz


cd crosstool-0.43


这个目录下有很多脚本和配置文件,每一个支持的处理器都有对应的脚本。我们现在选用的demo-arm-softfloat.sh是建立支持软浮点的arm交叉编译工具链

6.修改 demo-arm-softfloat.sh


vim demo-arm-softfloat.sh


修改这两句:


TARBALLS_DIR=$HOME/downloads


RESULT_TOP=/opt/crosstool


为:


TARBALLS_DIR=/home/linux/downloads      //下面运行时用的软件包自动下载会保存在这里


RESULT_TOP=/home/linux/crosstool            // 生成的工具链会保存在这里。这个文件以后不要移动


7.修改gcc-3.4.5-glibc-2.3.6.dat


vim  gcc-3.4.5-glibc-2.3.6.dat


只要修改LINUX_DIR=linux-2.6.26.5这一句,指定你要的内核版本,如果downloads里有的话会自动去读,没有会下载放在downloads里。


8. 执行demo-arm-softfloat.sh


./demo-arm-softfloat.sh


这里要很长时间,半小时左右,机子好点十几分钟也可以的。


我在这里出错了,错误代码:


These critical programs are missing or too old: as ld………..


上网查了以后说是binutils版本为2.20,太高了,要降到2.19(寒阿),有人修改configure文件,进到里面把2.XX的限制改掉,但是这样有未知的危险,还有一种可行的就是直接安装binutils2.19这种比较可行。


9.修改环境变量


sudo vim /etc/bash.bashrc


在末尾添加:


export PATH=$PATH:/home/linux/crosstool/gcc-3.4.5-glibc-2.3.6/arm-softfloat-linux-gnu/bin:


10.重新打开一个终端执行:arm-softfloat-linux-gnu-gcc   -v


显示:


Reading specs from /usr/local/arm/3.4.1/lib/gcc/arm-linux/3.4.1/specs


Configured with: /work/crosstool-0.27/build/arm-linux/gcc-3.4.1-glibc-2.3.2/gcc-3.4.1/configure –target=arm-linux –host=i686-host_pc-linux-gnu –prefix=/usr/local/arm/3.4.1 –with-headers=/usr/local/arm/3.4.1/arm-linux/include –with-local-prefix=/usr/local/arm/3.4.1/arm-linux –disable-nls –enable-threads=posix –enable-symvers=gnu –enable-__cxa_atexit –enable-languages=c,c++ –enable-shared –enable-c99 –enable-long-long


Thread model: posix


gcc version 3.4.5


则表示构建成功。


11.恢复gcc和sh


sudo rm /usr/bin/gcc


sudo ln -s /usr/bin/gcc-4.4  /usr/bin/gcc


重新安装dash


sudo dpkg-reconfigure dash


选择“是”重新安装dash.

赞(0) 打赏
转载请注明出处:服务器评测 » Ubuntu 10.04安装交叉编译器
分享到: 更多 (0)

听说打赏我的人,都进福布斯排行榜啦!

支付宝扫一扫打赏

微信扫一扫打赏