0
点赞
收藏
分享

微信扫一扫

【Linux】NFS网络文件系统

niboac 2022-01-12 阅读 64

原因

因为我们之前制作的根文件系统,每次都要烧写才能将他放到开发板上面,很麻烦。因此就诞生了网络文件系统NFS。网络文件系统就是说,文件系统是放在服务器上的,当Linux内核启动的时候,就去服务器上找到指定的路径当作是根文件系统进行启动。这样就可以避免反复烧写的问题。

NFS挂载方式一:开发板启动以后手动挂载

1、接上网线
2、配置开发板的IP地址

ifconfig eth0 up
ifconfig eth0 192.168.1.5
ping 192.168.1.3

3、先从Flash启动根文件系统,再用命令挂接NFS,挂接NFS需要以下几个条件

  • 服务器允许那个目录可以被别人挂接,也就是说服务器需要开启NFS服务

4、因此就需要在服务器上开启NFS服务,假设服务器上的根文件系统目录是xxxx/first_fs

vi /etc/exports
在文件末尾新增这个文件的路径
xxxx/first_fs *(rw,sync,no_root_squash)
然后,重启NFS服务
sudo /etc/init.d/nfs-kernel-server restart
最后,可以在PC机上尝试是否能够挂接这个目录
sudo mount -t nfs 192.168.1.3:/xxxx/first_fs /mnt
上面的语句表示,将这个网络文件系统xxxx/first_fs,挂载到/mnt目录下

5、然后我们在开发板上进行挂载

先创建/mnt目录
mkdir /mnt
然后将xxxx/first_fs挂载到/mnt目录下
mount -t nfs 192.168.1.3:/xxxx/first_fs /mnt
然后
ls /mnt
就发现/mnt里面的内容就是服务器上的first_fs文件夹的内容

NFS挂载方式二:开发板启动内核以后直接挂载NFS

1、需要修改命令行参数

重启开发板,进入u-boot
打印参数
print
想要挂载NFS,需要做两个步骤
1、服务器的IP地址和NFS的目录
2、设置开发板自己的IP地址
因此就需要在u-boot中设置这两个参数
set bootargs noinitrd root=/dev/nfs nfsroot=192.168.1.3:xxxx/first_fs 
ip=192.168.1.5:192.168.1.3:192.168.1.1:255.255.255.0:eth0:off init=/linuxrc console=ttySAC0
save
boot
举报

相关推荐

0 条评论