我使用的是友善2410的板子,以前都是用Fedora,现在家里的电脑被我转为Linux专用的了,装的是Ubuntu。但是嵌入式还是要玩的,在装载过程中也遇到一些小麻烦。在此记录一下,一来自己比较健忘,二来也希望能给一些没弄过的人一点启示。
目的:
把ARM linux的交叉开发环境,kernel, filesystem, bootloder安装,并配置,使其可以编译bootloder, kernel, 可以nfs更新文件系统;
资源:
规划:
交叉编译器装在:/usr/local/
kernel, bootloder放在: /home/volans/arm/
用于启动的nfs文件系统放在:/home/armnfs/
准备工作:
安装配置:
其他的基本就没什么了,有两点要注意,nfs的共享目录是/home/armnfs/root, 所以在目标版使用NFS启动的时候把共享目录换成这个。
目的:
把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启动的时候把共享目录换成这个。