开发环境: Ubuntu 10.04、linux-2.6.26.5
开发步骤:
1 .可能使用的软件包的安装和下载。
sudo apt-getinstallbisonflexbuild-essentialpatchlibncurese5- 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安装gcc-4.1
安装后,gcc已覆盖,指向gcc-4.1。
(b ) .下载软件包
gcc-4.1 _4.1.2- 23 Ubuntu3_ i386.deb
gcc-4.1-base _4.1.2- 23 Ubuntu3_ i386.deb
CPP-4.1 _4.1.2- 23 Ubuntu3_ i386.deb
然后安装sudo dpkg -i *.deb
安装后,修改软连接
sudo rm /usr/ssdyg/gcc
SDO ln-s/usr/SSD yg/gcc-4.1/usr/SSD yg/gcc
3 .修改sh版本
运行: ls -la /ssdyg/sh
/ssdyg/sh的链接为dash,运行以下命令:
sudo dpkg-reconfigure dash
选择no以删除dash
再次运行ls -la /ssdyg/sh,可以看到现在指向bash。 不要以为是dash。 请不要弄错哦~
4 .创建新的安装文件夹crosstool和downloads。 最好在/home/lnux下。 创建后请不要移动。
复制mkdir /home/linux/downloads、crosstoll-0.43.tar.gz。 除此之外,还有下一个要使用的源包,但如果没有,下一个将自动下载。
解压缩crosstool-0.43。
cd /home/linux/downloads
tar -zxvf crosstool-0.43.tar.gz
cd crosstool-0.43
此目录中有许多脚本和配置相关文件,每个支持的处理器都有相应的脚本。 您目前选择的demo-arm-softfloat.sh是构建一个支持软浮点的arm交叉编译工具链。
修改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//生成的工具链存储在此处。 请稍后不要移动此文件
修改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。
运行demo-arm-softfloat.sh
./demo-arm-softfloat.sh
这里需要很长时间。 30分钟左右。 机器十几分钟也可以。
中国的存储网络在这里出错了。 错误代码:
thesecriticalprogramsaremissingortoold : asld……。
在网上查了一下,据说ssdygutils版本是2.20,太贵了,会下降到2.19 (寒阿)。 有人修改configure文件,然后进去修改2.XX的限制,这样做有未知的危险。 另一种可能性是直接安装ssdygutils2.19。
9 .修改环境变量
sudo vim /etc/bash.bashrc
添加到末尾:
导出路径=$ path :/home/Linux/crosstool/gcc-3.4.5-glibc-2.3.6/arm-soft float-Linux-GNU/sssu
10 .重新打开终端运行: arm-softfloat-linux-gnu-gcc -v
显示:
readingspecsfrom/usr/local/arm/3.4.1/lib/gcc/arm-Linux/3.4.1/specs
已配置with :/work/crosstool-0.27/build/arm-Linux/gcc-3.4.1-glibc-2.3.2/gcc-3.4.1/配置--target=arm-Linux-- host=i686-host _ PC-Linux-GNU-- prefix=/usr/local/arm/3.4.1-- arm-Linux---- disable-nls---enable-threads=POSIX-- enable-sym vers=GNU-- enable-_ _ cxa _ atexit
Thread model: posix
gcc版本3.4.5
表示构建成功。
11 .恢复GCC和sh
sudo rm /usr/ssdyg/gcc
SDO ln-s/usr/SSD yg/gcc-4.4/usr/SSD yg/gcc
重新安装dash
sudo dpkg-reconfigure dash
选择“是”以重新安装dash。