配置NFS服务

PS:以下方法只在本人的PC上操作过,方法可行。做该记录旨在便于自己复习记忆,同时希望对看到此文的朋友有所帮助。

操作系统环境:Ubuntu 12.04

步骤:

  1. 在宿主机上设置共享目录
    运行命令
    # vim /etc/exports
    在文件exports最后加入以下语句:
    /opt/FriendlyARM/mini2440/rootfs_qtopia_qt4 *(rw,sync,no_root_squash)
    其中 
    /opt/FriendlyARM/mini2440/rootfs_qtopia_qt4 为共享的路径文件,
    *  表示所有的客户机都可以挂接此目录
    rw  表示挂接此目录的客户机对该目录有读写的权力
    no_root_squash  表示允许挂接此目录的客户机享有该主机的 root 身份

  2. 启动NFS服务,需要root权限。(停止NFS服务的命令为# /etc/init.d/nfs-kernel-server stop )
    运行命令
    # /etc/init.d/nfs-kernel-server start
    运行以下命令,测试NFS服务是否启动
    # mount -t nfs localhost:/opt/FriendlyARM/mini2440/rootfs_qtopia_qt4 /mnt
    如果挂在成功后,运行 ls /mnt, 可以看到/opt/FriendlyARM/mini2440/rootfs_qtopia_qt4的内容

  3. 宿主机串口线、网线连接mini2440开发板后,NAND FLASH启动开发板,启动或复位开发板的时候,按下K1-K6中的任意按键,进入boot菜单选项,选q,进入Goto shell of vivi, 输入以下命令
    param set linux_cmd_line "console=ttySAC0 root=/dev/nfs nfsroot=192.168.1.200:/opt/FriendlyARM/mini2440/rootfs_qtopia_qt4 ip=192.168.1.230:192.168.1.200:192.168.1.200:255.255.255.0:sbc2440.arm9.net:eth0:off"
    其中192.168.1.200为宿主机(我用的是虚拟机,ubuntu系统)的IP,192.168.1.230为开发板的IP
    在运行命令
    boot
经过以上步骤,开发板通过宿主机共享的NFS成功启动。


不过有一个问题不明白,在宿主机共享的NFS里交叉编译点亮LED的程序,在宿主机上运行,开发板的LED并没有反应,通过控制台运行该程序开发板也没有反应,这个正常吗?如果正常,在宿主机上的交叉编译的程序都不能运行,那通过NFS启动开发板还有什么意义呢?

后来发现通过控制台运行其他程序开发板是有反应的,不清楚运行LED程序开发板为何没有反应。










發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章