NFS配置以实现开发板挂载虚拟机里的linux根文件系统

NFS配置以实现开发板挂载虚拟机里的linux根文件系统


     花了两天时间进行NFS配置以实现开发板挂载虚拟机里的linux根文件系统,一直卡在虚拟机没法与开发板进行通信,ping不上的问题。
    解决该问题,有以下步骤:

1、虚拟机必须用桥接的方式联网:

NFS配置以实现开发板挂载虚拟机里的linux根文件系统_第1张图片
2、进行虚拟机的网络设置:

NFS配置以实现开发板挂载虚拟机里的linux根文件系统_第2张图片


NFS配置以实现开发板挂载虚拟机里的linux根文件系统_第3张图片


NFS配置以实现开发板挂载虚拟机里的linux根文件系统_第4张图片

NFS配置以实现开发板挂载虚拟机里的linux根文件系统_第5张图片

3、终端输入System-config-network,配置:

NFS配置以实现开发板挂载虚拟机里的linux根文件系统_第6张图片

4、终端输入Service network restart

5、终端输入service iptables stop,关闭防火墙。

6、在PC机上关闭防火墙:

NFS配置以实现开发板挂载虚拟机里的linux根文件系统_第7张图片

7、开发板的网络设置如下:

Static IP:10.8.20.220

Mask:255.255.255.0

Gateway:10.8.20.1
DNS:210.34.240.100

MAC:00:24:1d:68:9e:96(MAC不可与PC机的一致,否则ping不成功)

8、PC机的本地连接IP等设置与否不影响开发板与linux的通信。

    这样,便完成了所有ping前设置。很重要的一点,网线一定要确保连接上你的PC机和开发板。只需要在linux下输入:ping 10.8.20.220,或在连接开发板的超级终端输入:ping 10.8.20.129,即可看到一系列连接上的信息。

    接着,只需按照《用户手册》的说明,完成后续步骤即可:

linux下进行如下操作:

(1)#gedit /etc/exports

输入/home/hxy/share/qt/rootfs_qtopia_qt4 *(rw,sync,no_root_squash)

(rootfs_qtopia_qt4为根文件系统目录,该目录之下有root,dev,bin等子文件夹和linuxrc文件)

(2)#/etc/init.d/nfs start 启动nfs

# mount -t nfs localhost:/home/hxy/share/qt/rootfs_qtopia_qt4 /mnt/
如果没有出现错误信息,您将可以浏览到/mnt目录中的内容和/home/hxy/share/qt/rootfs_qtopia_qt4 是一致的。

#/etc/init.d/nfs stop 停止nfs

# serviceconf 设置开机时系统自动启动该服务

在连接开发板的超级终端进行如下操作:

(3)选择Nor Flash模式,开启电源,输入“q”进入supervivi命令终端。

(4)输入param set linux_cmd_line "console=ttySAC0 root=/dev/nfs nfsroot=10.8.20.129:/home/hxy/share/qt/rootfs_qtopia_qt4 ip=10.8.20.220:10.8.20.129:10.8.20.1:255.255.255.0:sbc2440.arm9.net:eth0:off"

(5)输入boot即可进入虚拟机里的根文件系统。

    这里用的是友善之臂提供的内核,自己移植的内核会出错。有机会改天再研究这问题吧。问题很多,懂的太少,真不容易呀。

     补充:今天发现自己的内核在移植DM9000的过程中,关于MAC地址,少了这句:

;使用“软”MAC 地址: 08:90:90:90:90:90
memcpy(ndev->dev_addr, "\x08\x90\x90\x90\x90\x90", 6);

添加进去之后,重新编译,就可以完成上面挂载,不会出错了。

    重新配置了相关ping网络设置,发现上文提得很繁琐,其实要点有下,“五个务必”:虚拟机务必桥接,防火墙务必关闭,IP务必一个网段,网关掩码DNS务必一致,网线务必要联。
                                                          ——记于2012.5.25日于华大实验室 

你可能感兴趣的:(NFS配置以实现开发板挂载虚拟机里的linux根文件系统)