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