安装NiosuClinux开发环境
一、前期准备工作
首先,你必须安装Linux操作系统,而且还得有一些必要的软件包,现在你可以使用以下命令检验你的软件包是否齐全。
(1)以root权限登录进入系统:
如果你的操作系统是Fedora,RHEL,Centos
执行sudo yum install git-core make gcc ncurses-devel bison byacc flex gawk gettext ccache zlib-devel gtk2-devel lzo-devel
如果你的操作系统是Suse
执行sudo zypper install git-core make gcc ncurses-devel bison byacc flex gawk gettext ccache zlib-devel lzo-devel
如果你的操作系统是Debian/Ubuntu,
执行sudo apt-get update
sudo apt-get install git-core make gcc ncurses-dev bison flex gawk gettext ccache zlib1g-dev libx11-dev texinfo lzo-dev
注意:如果Ubuntu不能找到lzo-dev软件包,请试一下lzo-dev2.
(2)检验你的git版本
执行git --version,如果你的版本低于1.5.3.x,请更新至最新版本。
(3)在Ubuntu操作系统下,你还需要检验默认Shell是否为“bash”
执行ls -l /bin/sh
应该显示"/bin/sh -> bash"
否则执行以下命令将默认shell改为bash
sudo rm /bin/sh
sudo ln -s bash /bin/sh
二、下载并解压必要的文件
1.确保你有至少5G的空余硬盘空间,然后使用wget来下载nios2-linux-20080619.tar 压缩文件,如果你已经有了nios2-linux-20080619.tar文件,请直接看第2步。
执行wget ftp://ftp.altera.com/outgoing/nios2-linux-20080619.tar可以下载得到压缩软件包。
注意:最好不要使用Windows ftp下载,因为这可能会损害文件。
2.将nios2-linux-20080619.tar放在你的工作目录下,如/home/jiahaojie/
执行tar xf <路径>nios2-linux-20080619.tar # 解压软件包会得到一个nios2-linux文件夹
cd nios2-linux # 进入目录
ls # 查看文件
显示如下:
binutils gcc3 README uClibc use_http_for_update
checkout insight toolchain-build uClinux-dist
elf2flt linux-2.6 u-boot update
3.检查源文件
执行./checkout
到此为止,基于Nios2的uClinux源文件和其他工具软件已准备好了。
三、安装交叉编译工具链
交叉编译工具链是用来
交叉编译工具链的源文件已经包含在nios2-linux/toolchain-build中,你可以自己编译得到可用的二进制文件;如果你不愿麻烦,也可以从网上得到已经编译好的工具链,然后解压并安装在你的机器上,这样就能直接使用了。如果您有二进制的交叉编译工具链压缩文件(nios2gcc-20080203.tar.bz2这是最新的版本),请直接看第3步。
1.编译交叉编译工具链,这可能需要花费几个小时,如果你不愿麻烦,可以下载别人已经编译好的交叉编译工具链(http://nioswiki.jot.com/WikiHome/OperatingSystems/%C2%B5Clinux/BinaryToolchain/nios2gcc.tar.bz2?cacheTime=1167890021825)
执行cd toolchain-build
git clean -f -x -d #如果第一次不成功,重新开始最好执行这一步,清除编译过程中产生的中间文件
make gcc elf2flt #这一步可能需要花费几个小时
cd ..
请看第2步
2.修改.bash_profile文件(如果是Debian/Ubuntu修改~/.profile文件)
执行 gedit ~/.bash_profile #以图形方式打开.bash_profile文件
在~/.bash_profile或~/.profile文件的最后一行添加PATH=$PATH:/home/jiahaojie/nios2-linux/toolchain-build/build/nios2/bin,目的是把nios2/bin也加入到当前用户环境变量中,也只会对当前用户生效。
执行source ~/.bash_profile #使设置生效
然后跳过第3、4步,执行第5步,检验一下编译是否成功
注意:.bash_profile是隐藏文件,可以使用"ls -a"查看,使用"gedit .bash_profile"可以在图形界面下修改该文件。
3.如果你有已经编译好的二进制交叉编译工具链,请从这一步开始。
将nios2gcc-20080203.tar.bz2文件放到工作目录下(如/home/jiahaojie/)
执行su -i #获得你的root权限
tar jxf /home/jia/nios2gcc-20080203.tar.bz2 -C / #解压并安装nios2gcc,安装目录会在/opt/nios2下
请看第4步
4.修改.bash_profile文件(如果是Debian/Ubuntu修改~/.profile文件)
执行 gedit ~/.bash_profile #以图形方式打开.bash_profile文件
在~/.bash_profile或~/.profile文件的最后一行添加PATH=$PATH:/opt/nios2/bin,目的是把nios2/bin也加入到当前用户环境变量中,也只会对当前用户生效。
执行source ~/.bash_profile #使设置生效
请看第5步
5.最后执行nios2-linux-uclibc-gcc -v #测试一下,至此nios2交叉编译工具安装结束,可以在uClinux中使用了
执行结果如下:
Reading specs from /opt/nios2/lib/gcc/nios2-linux-uclibc/3.4.6/specs
Configured with: /root/buildroot/toolchain_build_nios2/gcc-3.4.6/configure --prefix=/opt/nios2 --build=i386-pc-linux-gnu --host=i386-pc-linux-gnu --
target=nios2-linux-uclibc --enable-languages=c --enable-shared --disable-__cxa_atexit --enable-target-optspace --with-gnu-ld --disable-nls --enable-threads
--disable-multilib --enable-cxx-flags=-static
Thread model: posix
gcc version 3.4.6
现在,NiosuClinux开发环境就完全建立起来了,下一步你就可以使用这个开发环境定制属于自己的uClinux操作系统了。
本文主要参考www.nioswiki.com网站上的资料,加上作者自己的理解写成,如有不妥之处,欢迎大家提出来。