JZ2440采用NFS服务挂载根文件系统

一、手动挂载

1.首先配置服务器

(1)、编辑配置文件,修改exports文件

sudo vi /etc/exports

在这里插入图片描述

/work/nfs_root/first_fs  *(rw,nohide,insecure,no_subtree_check,async,no_root_squas    h)

(2)、重启NFS服务

sudo /etc/init.d/nfs-kernel-server restart

(3)、本机测试

 sudo mount -t nfs 192.168.1.100:/work/nfs_root/first_fs /mnt

如果没有任何提示,就表明已经成功了,下面开始配置开发板

2、配置开发板

整个过程如图:
在这里插入图片描述
(1)、首先保证开发板和服务器再同一网段中,能够ping,再设置开发板的IP,和服务器在同一网段
如图(开发板的IP可以随意设置,但要保证和服务器在同一网段)

ifconfig eth0 192.168.1.11

(2)、测试能否ping通,我的服务器的IP为192.168.1.100

ping 192.168.1.100

(3)、设置挂载点

mkdir /mnt
mount -t nfs -o nolock 192.168.1.100:/work/nfs_root/first_fs /mnt

手动挂载就完成了,可以进行以下测试:
在这里插入图片描述
在服务器中创建一个test.txt文件,到开发板中查看是否有该文件,内容是否一样
在这里插入图片描述
如果一样,表明已经成功了

二、自动挂载

上面那种形式是直接从flash启动,再用命令挂接NFS
接下来自动挂载就是直接从NFS启动
(其中NFS的说明文档在内核源码的Documentation目录下面的nfsroot.txt文件,有能力的话可以参考)

1、设置开发板的bootargs

在这里插入图片描述
输入设置命令

# set bootargs nointrd root=/dev/nfs nfsroot=192.168.1.100:/work/nfs_root/first_fs ip=192.168.1.11:192.168.1.100:192.168.1.1:255.255.255.0::eth0:off init=/linuxrc console=ttySAC0
# save

在这里插入图片描述
关于具体的格式,请参照linux内核源码的Documentation目录下面的nfsroot.txt文件
然后在开发板上的dev目录下创建nfs目录
在这里插入图片描述
在这里插入图片描述
重启开发板

2、测试

服务器中在根文件目录下创建hello.c文件
在这里插入图片描述

  1 #include <stdio.h>
  2
  3 int main()
  4 {
  5         printf("hello world!\n");
  6         return 0;
  7 }
  8

用交叉工具编译

arm-linux-gcc -o hello hello.c

在这里插入图片描述
在这里可以正常运行,完成

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值