mini2440通过NFS启动文件系统
在做嵌入式系统开发时,会碰到开发板上的flash资源会出现短缺的情况,例如在友善的mini2440上移植Qtopia4.3.5时,板载资源不够, 我的开发板的flash是64M,一个完整Qtopia的lib文件就有24M左右,这样板载的资源就远远不够了。在很多情况下,都是在虚拟机里做开发, 按照友善公司的pdf文档步骤,在Fedora9系统下开启nfs服务后,需要对虚拟机做一下网络配置,实验证明,如果不做网络配置虚拟机的端口不主动对 外开放。
操作也很简单,在
虚拟机网络连接模式为桥接的情况下,打开虚拟机的“虚拟网络编辑器(Edit->Virtual Network Editor)”,在“主机虚拟网络映射(Host Virtual Network Mapping)”选项卡下将VMnet0的网络设备指定为 PC机的物理网卡,默认情况下是自动选择适配器,在这种模式下,虚拟系统在配置好网络参数后,同样可以访问网络,但是网络上其他设备不能主动连接到虚拟机系统里,如果有过在虚拟机里做tcp/ip通信的经验应该会清楚这一点。比如在虚拟机系统里架设web服务器,在虚拟机里可以访问,网络上其他机器不能范围,甚至虚拟机外的系统也不能访问虚拟机上的web服务,网络也是ping不通的状态,但是虚拟机里可以访问外部网络,这样就是在桥接模式下物理网卡设备
没有指定到实际物理网卡造成的,选择桥接模式时,将物理适配器的指派到VMnet0上即可。
具体操作步骤:
1. 将虚拟机的网络连接方式设置为Bridged
2. Edit->Virtual Network Editor-> Host Virtual Network Mapping选项卡下将VMnet0的网络设备指定为 PC机的物理网卡,默认情况下是自动选择适配器.
3. 切换到linux图形界面,打开终端输入ifconfig查看虚拟机(主机)的IP地址等信息,为下面开发板NFS挂载主机的共享文件作铺垫.(有时可能配置好后需要重启才能查看到正确的IP信息)
4. 连接好网线,串口线,将开发板的S2拔到NOR FLASK端,然后启动开发板,打开串口终端,出现如下图所示内容:
(前提是mini2440开发板的网络设置中的IP地址和主机的IP地址在同一区域网内,我这里主机(虚拟机下的linux系统)的IP地址为:10.109.64.90(由第3步得出),开发板的IP地址为10.109.64.42).
5. 输入q,出现如下内容
6. 输入以下内容:
param set linux_cmd_line "console=ttySAC0 root=/dev/nfs nfsroot=10.109.64.90:/opt/FriendlyARM/mini2440/rootfs_qtopia_qt4 ip=10.109.64.42:10.109.64.90:10.109.64.1:255.255.255.0:PC-201105051200:eth0:off"
出现如下内容:
现对以上内输入内容作解释:
10.109.64.90 à 主机的IP地址
10.109.64.42 à 开发板的IP地址
10.109.64.1 à网关
255.255.255.0 à掩码
/opt/FriendlyARM/mini2440/rootfs_qtopia_qt4 à要挂载的文件系统(具体主机开启NFS和设置共享目录过程参考mini2440用户手册)
PC-201105051200 开发主机的名字,一般无关紧要,可以随便填写.
eth0 网卡设备的名称
7.输入boot按回车键就可以通过nfs启动系统啦