• NFS 网络文件系统挂载在A8板子上


     我承认自己是菜鸟,没什么网络知识就来搞挂载nfs网络文件系统,花费了5天的时间才把nfs网络文件系统成功挂载在A8板子上,实现了A8板子和虚拟机的文件共享。分享一下个人经验:

    以下是基于nfs已经完成安装来说

    板子接线问题:我是把板子和电脑都接到同一个路由器上的,保证在同一个网段,我的网关是192.168.0.1,故我的电脑、虚拟机、板子的网关也是它,我的电脑ip地址是192.168.0.111、虚拟机ip192.168.0.121,板子ip192.168.0.120,发现上面就是192.168.0.*。哈哈,他们就在同一个网段了。

    命令的解释

    ifconfig  (在虚拟机上实际是查看网络信息比如ip地址,网关。在window下可以用ipconfig查看)

     如何启动 NFS 文件系统

    步骤一、PC 虚拟机端的设置

    ①  设置虚拟机 IP 地址

    [root@localhost rootfs]#  ifconfig eth0 192.168.0.121

    这个说得通俗点就是修改虚拟机的ip地址

    ②  启动 NFS 服务器

    [root@localhost rootfs]#  /etc/init.d/nfs restart

    ③  设置 NFS 共享目录

    [root@localhost rootfs]#  vim /etc/exports

    /*  将下面内容写入/etc/exports 文件  */

    /rootfs   *(rw,sync,no_root_squash)

    注意:rootfs是你所共享的nfs文件系统的根目录相当于root,文件夹里面有什么你懂的,里面有什么binsbinusr等等,不是你的镜像文件。别理解错,我就是被这个问题拖了好多天的,网峰的该文件在:源代码/移植部分/移植后代码/根文件系统/

     

    就是这个文件:

     

    rw:是读/写权限,只读权限为ro

    Sync:数据同步写入内存或硬盘,也可以使用async,此时数据会暂存内存,不写入硬盘。

    no_root_squash:NFS服务器共享目录的属性,如果用户是root,那么对于这个共享目录就有root的权限。

    步骤二、选择【1】下载 u-boot 到 NAND FLASH

    步骤三、选择【2】下载 kernel 到 NAND FLASH

    Ps:如果你已经把yaffs2文件系统下载进去了,如果下面设置好了,在里面也没有影响的。

    完成上面二个烧写后,按 进入 u-boot 命令行。输入printenv:可以查看你当前的环境变量

    步骤四、进入 u-boot 环境变量设置 IP  

    ①  设置开发板 IP

    [Webee_210]# set ipaddr 192.168.0.120

    ②  设置 PC 端 IP(也是在 u-boot 命令行这里设置)

    [Webee_210]# set serverip   192.168.0.121   //设置虚拟机ip作为服务器

    [Webee_210]# set gatewayip  192.168.0.1    //设置A8的网关

    ③  设置 NFS 启动参数

    [Webee_210]#  setenv  bootargs  noinitrd  root=/dev/nfs 

    nfsroot=192.168.0.121:/webee,tcp 

    ip=192.168.0.120:192.168.0.121:192.168.0.1:255.255.255.0::eth0:off  init=linuxrc 

    console=ttySAC0,115200

    解释一下各个参数什么意思

    root=/dev/nfs,  //表示用挂载的nfs文件系统

    nfsroot=192.168.0.121:/webee,tcp   //表示虚拟机IP:虚拟机要共享的目录

    ip=192.168.0.120:192.168.0.121:192.168.0.1:255.255.255.0::eth0:off    //表示板子IP:虚拟机IP(服务器):网关IP:掩码::eth0off

    ④  将刚设置的参数写入 NAND FLASH

    [Webee_210]# saveenv

    此时可以用printenv查看参数

    可以看到,上面很多环境变量是我们自己设置的 。

    到这个步骤你可以用电脑、虚拟机、板子相互ping会发现下面情况,这是正常的:

     电脑      ping  板子   不通
    虚拟机      ping  板子   不通
    板子       ping  电脑    通
    板子       ping  虚拟机   通
    虚拟机      ping  电脑    通
    电脑      ping  虚拟机   通

    贴一张图片

    ⑤  将 Linux 内核从 NAND FLASH 读入内存,然后启动内核。

    [Webee_210]# nand read 0x20007fc0 0x100000 0x500000

    ⑥  NFS 启动内核

    [Webee_210]# bootm 0x20007fc0

     启动完后

    上面可以看到VFS:mount root (nfs filesystem)ondevice 0:9.表示nfs文件系统已成功挂载。

    到这个步骤你可以用电脑、虚拟机、板子相互ping会发现下面情况,这是正常的:

     电脑      ping  板子   通
    虚拟机      ping  板子   通
    板子       ping  电脑    通
    板子       ping  虚拟机   通
    虚拟机      ping  电脑    通
    电脑      ping  虚拟机   通

    贴下图片

    板子ping 电脑、网关、虚拟机

    虚拟机 ping 板子

    电脑ping板子

    哈哈,是不是成功啦

    试一下在板子上新建一个123.c文件

    看一下虚拟机上有没有

    有了就成功了,到此结束。

  • 相关阅读:
    hdu4578线段树维护平方和,立方和(加,乘,赋值)或者珂朵莉树
    珂朵莉树(ODT老司机树)
    Codeforces Round #524 (Div. 2)D
    HDU1402 FFT高精度乘法模板题
    中国剩余定理poj1006
    POJ
    Install and Config MySQL 8 on Ubuntu
    Protobuf Examples
    Learning Thrift
    Flask Quickstart
  • 原文地址:https://www.cnblogs.com/hezhangyear/p/4156332.html
Copyright © 2020-2023  润新知