电脑与Linux开发板搭建NFS文件系统——网线直连
前言
本人所使用的环境为Win10笔记本+VMware15+Ubuntu18.04+I.MX6ULL开发板
一、网络配置
1、将开发板与电脑之间使用网线连接,开发板上电后在电脑的
网络和共享中心可以看到新增网络连接。
2、点击查看详细信息,记住网卡描述、IP地址、网关、子网掩码信息,后面步骤会用到
3、打开
VMware-->编辑-->虚拟网络编辑器-->更改设置
4、先点击
还原默认设置,然后将VMnet0配置为桥接模式并选择桥接到步骤2中查看的网卡
5、设置Ubuntu网络信息与步骤2中查看的网络为同一网段:打开
Ubuntu-->设置-->网络-->IPV4-->手动,填入网络信息,点击应用后将网络关闭再打开即可生效
6、设置开发板网络信息与步骤2中查看的网络为同一网段。开发板上电进入Uboot模式,依次执行以下命令设置网络相关信息
//设置服务器的IP地址(Ubuntu) setenv serverip 192.168.2.145 //设置网关 setenv gatewayip 192.168.2.1 //设置开发板的IP地址 setenv ipaddr 192.168.2.250 //设置子网掩码 setenv netmask 255.255.255.0 //设置网口MAC地址(如果在同一网段有多个开发板要保证每个开发板的ethaddr不同) setenv ethaddr 08:07:03:A0:03:22 //保存环境变量 saveenv //重启 reset //重启后进入Uboot使用以下命令查询网络信息 printenv serverip ipaddr gatewayip netmask ethaddr
7、互ping测试,测试开发板、Windows、Ubuntu三者之间网络能否ping通
- Windows与开发板、Ubuntu
- 开发板与Windows、Ubuntu
- Ubuntu与Windows、开发板
二、NFS服务搭建
1、Ubuntu安装NFS服务
//1-安装nfs服务 sudo apt-get install nfs-kernel-server //2-创建NFS服务器共享目录 mkdir nfs //3-更改文件夹权限 chmod 777 nfs //4-更改配置文件 sudo vi /etc/exports 文件末尾添加: /home/zz/work/nfs *(rw,nohide,insecure,no_subtree_check,async,no_root_squash) //5-重启NFS服务 sudo /etc/init.d/nfs-kernel-server restart //6-查看NFS服务挂载目录 showmount -e
2、测试nfs服务
1-将zImage放在nfs目录下 2-启动开发板进入uboot 3-uboot中使用`? nfs`查看nfs使用方法`nfs [loadAddress] [[hostIPaddr:]bootfilename]` 4-测试nfs(将nfs服务器目录中在Image下载到开发板80800000地址): nfs 80800000 192.168.2.145:/home/zz/work/nfs/zImage
3、开发板与虚拟机nfs服务版本不同导致下载、挂载失败解决方法(提示"Loading: *** ERROR: File lookup fail"、"VFS: Unable to mount root fs via NFS, trying floppy."等)
问题原因:Ubuntu 18.04的nfs默认为协议V3和协议V4,开发板uboot默认启动的是协议V2的形式,从而导致uboot不能在nfs服务器中找到文件。
解决方法:让Ubuntu中的nfs兼容协议V2,修改
/etc/default/nfs-kernel-server文件。
1)打开文件:
sudo vim /etc/default/nfs-kernel-server(注意一定要sudo或者root权限)
2)修改如图:
3)保存退出:
ESC-->
:wq-->
Enter
4)重启NFS服务器:
sudo service nfs-kernel-server restart
至此问题解决,可以重新执行nfs测试验证nfs是否正常。
4、开发板挂载nfs文件系统
1)Ubuntu的nfs共享服务目录下创建
rootfs文件夹
2)将文件系统
rootfs.tar.bz2拷贝到
rootfs文件夹中并解压
tar -xjvf rootfs.tar.bz2
3)设置开发板
uboot自启动参数
bootcmd和
bootagrs
/* 1-设置bootcmd zImage为内核镜像,通过tftp下载到首地址为0x80800000的内存空间 topeet_emmc_4_3.dtb为设备树 bootz根据内核镜像地址和设备树地址加载启动 */ setenv bootcmd 'tftp 80800000 zImage; tftp 83800000 topeet_emmc_4_3.dtb; bootz 80800000 - 83800000’ /* 2-设置bootargs nfsroot后的参数为Ubuntu的nfs文件夹路径;格式为:nfsroot=NFS服务器IP:文件系统的绝对路径. ip后的参数为开发板网络信息:ip=开发板IP:服务器IP:网关,子网掩码::eth0:off. */ setenv bootargs 'console=ttymxc0,115200 root=/dev/nfs rw nfsroot=192.168.2.145:/home/zz/work/nfs/rootfs ip=192.168.2.250:192.168.2.145:192.168.2.1:255.255.255.0::eth0:off’ /* 3-保存环境变量 */ saveenv
4)输入
boot命令启动开发板
至此,成功挂载nfs文件系统启动开发板。
三、TFTP服务搭建(补充)
在Ubuntu的
home/zz/work/
目录下创建tftp服务文件夹:mkdir tftp
修改文件夹权限:
chmod 777 tftp
安装服务:
sudo apt-get install tftp-hpa tftpd-hpa
修改配置文件:
sudo vim /etc/default/tftpd-hpa
启动服务:
sudo service tftpd-hpa restart
将 Linux 内核镜像
zImage
、设备数文件topeet_emmc_4_3.dtb
拷贝到 tftp服务文件夹下测试:启动开发板在uboot模式下输入
tftp 0x80000000 zImage
至此,tftp服务搭建完成。
- x4412开发板&ibox卡片电脑项目实战10-使用buildroot搭建linux文件系统
- x4412开发板&ibox卡片电脑项目实战10-使用buildroot搭建linux文件系统
- 重新安装一个linux系统后如何快速搭建可用于开发板nfs挂载根文件系统的过程
- linux开发板挂载NFS网络文件系统
- 开发板与主机NFS网络文件系统搭建
- Linux高性能集群搭建(2)---NFS共享文件系统安装配置
- 嵌入式Linux开发板上NFS文件系统的使用
- 在Linux开发板上命令修改以太网MAC、挂载nfs文件系统命名、自动获取IP命令
- Linux环境下NFS文件系统的简单搭建过程
- Linux 网络文件系统(NFS)简介及环境搭建
- linux下NFS网络文件系统的搭建
- nfs实现开发板与虚拟机linux系统间文件共享
- linux下网络文件系统NFS服务的搭建
- linux开发环境搭建(3)-nfs挂载根文件系统
- VMware中Linux开发板的NFS文件系统的挂载
- LINUX移植——根文件系统制作(nfs服务器搭建)
- linux--嵌入式网络文件系统(NFS)搭建原理
- 嵌入式Linux开发板上NFS文件系统的使用
- OK6410开发板Linux-3.3.5驱动移植之DM900网卡驱动移植+NFS文件系统挂载
- 使用网络烧写开发板及nfs网络文件系统搭建