终于在Vmware下将arm_linux平台搭建好了,也不知道花了多少时间,查了多少资料。其实是很简单的,走了不少的弯路,现在总结下,希望对后学者有所帮助。
基本环境:主机OS:Windows XP
虚拟机:VMware Workstation 6.0
虚拟OS:RedHat 9.0
ARM型号:友善之臂QQ2440
步骤:
一:虚拟机的设置:
1:在安装Vmware时,将网络连接Network connection 选择为使用桥接Use bridged networking,如下图:
在这里为什么要选择桥接呢?这种方式是直接将虚拟网卡桥接到一个物理网卡上面,和linux下一个网卡绑定两个不同地址类似,实际上是将网卡设置为混杂模式,从而达到侦听多个IP的能力。在此种模式下,虚拟机内部的网卡(例如linux下的eth0)直接连到了物理网卡所在的网络上,可以想象为虚拟机和host机处于对等的地位,在网络关系上是平等的,没有谁在谁后面的问题。使用这种方式很简单,前提是你可以得到1个以上的地址。对于想进行种种网络实验的朋友不太适合,因为你无法对虚拟机的网络进行控制,它直接出去了。 原理图如下:
2:安装好Vmware以及RedHat(记得要安装NFS安装包)之后,配置linux的网络,由于我的开发板的ip地址为:192.168.1.230,为了保证他们在同一网段。所以将linux的网络设置为:192.168.1.15,掩码为:255.255.255.0。然后点击“激活”成功。如下图:
3:将主机的ip地址设置为192.168.1.110,子网掩码为:255.255.255.0.(其实这一步我觉得可以省略,但是为了要用到主机的网络接口,我还是设置了)。
4:将主机网口与开发板网口对联,并在linux中打开终端,ping 192.168.1.110或者ping 192.168.1.230.如不能ping 通,多检查网络特别是防火墙的设置,务必ping通。如果ping通则说明连接通顺。(同样,也可以新建超级终端使用Nand Flash 启动,同样可以ping)
5:根据友善之臂提供的资料。安装好NFS。现将资料粘贴如下:
5.1 配置网络文件系统NFS 服务
如果您已经按照以上章节介绍的方法完全安装好了Redhat 9.0,则NFS 相关软件都已经
缺省安装好了,请按照以下步骤建立和配置NFS 服务。
(1)设置共享目录
运行命令
#gedit /etc/exports
编辑nfs 服务的配置文件(注意:第一次打开时该文件是空的),添加以下内容:
/opt/FriendlyARM/QQ2440V3/root_nfs *(rw,sync,no_root_squash)
其中:
/opt/FriendlyARM/QQ2440/root_nfs 表示nfs 共享目录,它可以作为开发板的根文件系
统通过nfs 挂接;
* 表示所有的客户机都可以挂接此目录
rw 表示挂接此目录的客户机对该目录有读写的权力
no_root_squash 表示允许挂接此目录的客户机享有该主机的root 身份
(2) 建立共享目录
拷贝光盘中的root_nfs.tgz 文件到某一个目录,进入此目录,执行以下命令:
#tar xvzf root_nfs.tgz –C /opt/FriendlyARM/QQ2440/root_nfs
该命令将把root_nfs 的内容解压安装到/opt/FriendlyARM/QQ2440/root_nfs 目录。
(3) 启动和停止nfs 服务
在命令行下运行:
#/etc/init.d/nfs start
这将启动nfs 服务,可以输入以下命令检验nfs 该服务是否启动。
# mount -t nfs localhost: /opt/FriendlyARM/QQ2440/root_nfs /mnt/
如果没有出现错误信息, 您将可以浏览到/mnt 目录中的内容和
/opt/FriendlyARM/QQ2440/root_nfs 是一致的。
使用这个命令可以停止nfs 服务:
#/etc/init.d/nfs stop
为了在每次开机时系统都自动启动该服务,可以输入
#redhat-config-services
打开系统服务配置窗口,在左侧一栏找到nfs 服务选项框,并选中它,然后点File->Save
Changes 保存设置,如图。
二:开发板设置
1: 通过NFS 启动系统
当NFS 服务设置好并启动后,我们就可以把NFS 作为根文件系统来启动开发板了。通过使用NFS 作为根文件系统,开发板的“硬盘”就可以变得很大,因为您使用的是主机的硬盘,这是使用linux 作为开发经常使用的方法,设置目标板启动模式跳线J1 为Nand Flash 启动,连接好电源,串口线,网线;打开串口终端,在开机或者复位的时候迅速按下PC 机的空格键,这样我们就进入了vivi 模式,输入以下命令:
Supervivi>param set linux_cmd_line "console=ttyS0 root=/dev/nfs
nfsroot=192.168.1.15:/opt/FriendlyARM/QQ2440/root_nfs
ip=192.168.1.230:192.168.1.15:192.168.1.15:255.255.255.0::eth0:off"
输入boot,按回车就可以通过nfs 启动系统了。
2:通过网络文件系统NFS 执行
linux 中最常用的方法就是采用NFS 来执行各种程序,这样可以不必花费很多时间下载程序,虽然在此下载hello 程序用不了多久,一旦您的应用程序变得越来越大,您就会发现使用NFS 运行的方便所在。如同前面所讲述的那样,搭建好NFS 服务器系统,然后在命令行输入以下命令:
#mount –t nfs –o nolock 192.168.1.15:/opt/FriendlyARM/QQ2440/root_nfs /mnt
挂接成功,您就可以进入/mnt 目录进行操作了,在您的PC Linux 终端把hello 复制到
opt/FriendlyARM/QQ2440/root_nfs 目录,然后在开发板的串口终端执行
#cd /mnt
#ls
之后,你就可以看到linux中root_nfs中的文件和开发板中/mnt中的文件一样了。