我使用的是友善2410的板子,以前都是用Fedora,现在家里的电脑被我转为Linux专用的了,装的是Ubuntu。但是嵌入式还是要玩的,在装载过程中也遇到一些小麻烦。在此记录一下,一来自己比较健忘,二来也希望能给一些没弄过的人一点启示。
目的:
把ARM linux的交叉开发环境,kernel, filesystem, bootloder安装,并配置,使其可以编译bootloder, kernel, 可以nfs更新文件系统;
资源:
代码:
|
arm-linux-toolchains.tgz
matrix5-kernel-v5.5.tgz
vivi.tar.gz
Jflash.tgz
root-for-nfs-v5.5.tgz
|
规划:
交叉编译器装在:/usr/local/
kernel, bootloder放在: /home/volans/arm/
用于启动的nfs文件系统放在:/home/armnfs/
准备工作:
代码:
|
sudo mkdir /home/armnfs
sudo chmod 777 /home/armnfs
mkdir ~/arm
上面前两句的目的是在/home下建立armnfs目录,为了开发的方便,把这个目录设成所有用户可rwx。
然后把上面提到的资源全部拷贝到~/arm/下。
|
安装配置:
代码:
|
安装标准的C开发环境,由于Ubuntu安装默认是不安装的,所以需要先安装一下:
sudo apt-get install gcc g++ libgcc1 libg++ make gdb
|
代码:
|
安装交叉编译器
cd /
sudo tar zxvf /home/volans/arm/arm-linux-toolchains.tgz
请在执行完成后查看是否存在/usr/local/arm文件夹。
把交叉编译器的路径加入到PATH,以方便使用:
sudo vi /etc/bash_bashrc
在后面加入如下代码:
if [ -d /usr/local/arm ] ; then
PATH=/usr/local/arm/2.95.3/bin:"${PATH}"
fi
|
代码:
|
解压bootloader, kernel和flash烧写工具Jflash
cd ~/arm
tar zxvf matrix5-kernel-v5.5.tgz
tar zxvf vivi.tar.gz
tar zxvf Jflash.tgz
|
代码:
|
解压用于启动的NFS文件系统
cd /home/armnfs
tar zxvf /home/volans/root-for-nfs-v5.5.tgz
|
代码:
|
启动NFS服务
请参照我前几篇文章,关于启动NFS服务器的相关内容。
在/etc/exports中加入如下内容:
/home/armnfs/root 192.168.0.69(rw)
|
代码:
|
安装ncurse
基本上上述配置已经基本可以满足开发需求,但现在去编译kernel 或vivi的时候,运行make menuconfig会提示ncurses找不到,这是因为menuconfig 用到了ncurses库。解决办法如下:
sudo apt-get install ncurses-dev
|
代码:
|
安装minicom串口工具
sudo atp-get install minicom
然后配置:
sudo minicom -s
配置和友善的文档就一样了,我就不多废话。
|
其他的基本就没什么了,有两点要注意,nfs的共享目录是/home/armnfs/root, 所以在目标版使用NFS启动的时候把共享目录换成这个。
|