正点原子LINUX imx6ull开发板的nfs传输配置(传输慢,失败等问题)

首先要保证局域网的搭建并能开发板ping虚拟机

开发板直连电脑的搭建网络环境(以正点原子阿尔法imx6ull开发板为讲解)-CSDN博客

然后配置:

4.2 Ubuntu NFS SSH 服务开启
4.2.1 NFS 服务开启
后面进行 Linux 驱动开发的时候需要 NFS 启动,因此要先安装并开启 Ubuntu 中的 NFS 服
务,使用如下命令安装 NFS 服务:
sudo apt-get install nfs-kernel-server rpcbind
等待安装完成,安装完成以后在用户根目录下创建一个名为" linux "的文件夹,以后所有
的东西都放到这个" linux "文件夹里面,在" linux "文件夹里面新建一个名为" nfs "的文件夹,
如图 4.2.1 所示:
图 4.2.1 创建 linux 工作目录
图 4.2.1 中创建的 nfs 文件夹供 nfs 服务器使用,以后我们可以在开发板上通过网络文件系
统来访问 nfs 文件夹,要先配置 nfs ,使用如下命令打开 nfs 配置文件 /etc/exports :
sudo vi /etc/exports
并保证内容为:

你的共享文件地址 *(rw,sync,no_subtree_check,no_root_squash)
eg:
/home/lzy/linux/nfs *(rw,sync,no_subtree_check,no_root_squash)
也可以指定某用才能访问户

复制代码
# 共享目录        允许访问的客户端(选项)
/home/lzy/linux/nfs 192.168.10.0/24(rw,sync,no_subtree_check,no_root_squash)

图 4.2.2 修改文件 /etc/exports
重启 NFS 服务,使用命令如下:
sudo /etc/init.d/nfs-kernel-server restart
4.2.2 SSH 服务开启
开启 Ubuntu 的 SSH 服务以后我们就可以在 Windwos 下使用终端软件登陆到 Ubuntu ,比如
使用 SecureCRT , Ubuntu 下使用如下命令开启 SSH 服务:
sudo apt-get install openssh-server
上述命令安装 ssh 服务, ssh 的配置文件为 /etc/ssh/sshd_config ,使用默认配置即可。

报错信息:

=> nfs 80800000 192.168.10.100:/home/lzy/linux/imx6ull/zImage

Using FEC1 device

File transfer via NFS from server 192.168.10.100; our IP address is 192.168.10.101

Filename '/home/lzy/linux/imx6ull/zImage'.

Load address: 0x80800000

Loading: T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T

Retry count exceeded; starting again

=>

Error reading data on serial port:

Access is denied.

报错信息:

=> nfs 80800000 192.168.10.100:/home/lzy/linux/imx6ull/zImage

Using FEC1 device

File transfer via NFS from server 192.168.10.100; our IP address is 192.168.10.101

Filename '/home/lzy/linux/imx6ull/zImage'.

Load address: 0x80800000

Loading: *** ERROR: Cannot mount

报错信息:

=> nfs 80800000 192.168.10.100:/home/linux/nfs/zImage

Using FEC1 device

File transfer via NFS from server 192.168.10.100; our IP address is 192.168.10.101

Filename '/home/linux/nfs/zImage'.

Load address: 0x80800000

Loading: *** ERROR: File lookup fail

成功长这样:

=> nfs 80800000 192.168.10.100:/home/lzy/linux/nfs/zImage

Using FEC1 device

File transfer via NFS from server 192.168.10.100; our IP address is 192.168.10.101

Filename '/home/lzy/linux/nfs/zImage'.

Load address: 0x80800000

Loading: #################################################################

######################

#################################################################

#################################################################

#################################################################

##########################

done

ERROR: File lookup fail"错误,这表示NFS客户端能够连接到服务器,但无法找到指定的文件。

ERROR: Cannot mount"。这通常表示NFS客户端无法连接到NFS服务器或访问指定的共享路径。

这两问题都一样

你首先要先查看你nfs的虚拟机内配置的共享文件地址,只有这个文件夹的文件才能让nfs传输到板子上,配置的地址存在这/etc/exports

所以直接:

sudo nano /etc/exports

打开编辑

地址在这

Ctrl+O 保存

Enter 确定名字

Ctrl+X 退出

你可以改文件夹地址到你要传输的文件也就是到zImage的地址,也可以改动zImage文件到你设置的nfs共享文件夹,反正这两个就要一样

输入:

查看NFS服务的详细状态信息:

sudo systemctl status nfs-server.service

这样就是对的

如果还出错,把问题丢给ai继续问看看还有什么问题

报错:Error reading data on serial port: Access is denied.

NFS加载zImage时出现了超时问题,同时串口访问也存在权限问题。让我帮您分析并提供解决方案。

解决方案

1. 检查网络连接

首先确认开发板与NFS服务器之间的网络连接是否正常:

复制代码
# 在U-Boot中尝试ping NFS服务器
=> ping 192.168.10.100

如果ping不通,请检查:

  • 网络线缆连接

  • 开发板和服务器是否在同一子网

  • 服务器防火墙设置

2. 验证NFS服务器配置

在NFS服务器上检查配置:

复制代码
# 检查NFS共享配置
sudo cat /etc/exports

# 确保有类似这样的行:
/home/lzy/linux/imx6ull 192.168.10.0/24(rw,sync,no_subtree_check)

# 重新导出NFS共享
sudo exportfs -ra

# 检查NFS服务状态
sudo systemctl status nfs-server

3. 检查文件权限和路径

确认zImage文件存在且权限正确:

复制代码
# 检查文件是否存在
ls -la /home/lzy/linux/imx6ull/zImage

# 确保文件有读取权限
chmod +r /home/lzy/linux/imx6ull/zImage

4. 尝试使用TFTP替代NFS

如果NFS问题持续存在,可以考虑使用TFTP协议:

复制代码
# 在U-Boot中使用TFTP
=> setenv serverip 192.168.10.100
=> setenv ipaddr 192.168.10.101
=> tftp 80800000 zImage

5. 解决串口访问权限问题

对于串口访问被拒绝的问题:

复制代码
# 检查当前用户是否在dialout组中
groups

# 如果没有,添加用户到dialout组
sudo usermod -a -G dialout $USER

# 或者更改串口设备权限
sudo chmod 666 /dev/ttyUSB0  # 替换为您的实际串口设备

6. 尝试指定NFS版本

在U-Boot命令中指定NFS版本:

复制代码
=> nfs 80800000 192.168.10.100:/home/lzy/linux/imx6ull/zImage nfsvers=3

7. 完整检查流程

如果以上步骤都不能解决问题,请按以下流程检查:

  1. 网络层面

    • 确认服务器和开发板IP地址配置正确

    • 检查路由器/交换机设置

    • 确认没有IP冲突

  2. NFS服务器层面

    • 确认NFS服务正常运行

    • 检查/etc/exports配置语法

    • 查看NFS日志:sudo tail -f /var/log/messages

  3. 客户端层面

    • 确认U-Boot支持NFS

    • 尝试使用其他网络服务(如TFTP)测试网络连通性

  4. 文件层面

    • 确认文件没有损坏

    • 尝试传输一个小文件测试NFS功能

相关推荐
天天向上10241 小时前
成功阻止chrome浏览器自动填充密码
服务器·前端·chrome
可爱又迷人的反派角色“yang”1 小时前
ansible的概念及基本操作(一)
运维·ansible
shaohui9731 小时前
ARMv7 linux中断路由以及处理
linux·gic·cpsr·armv7
三小尛1 小时前
linux的开发工具vim
linux·运维·vim
陈陈爱java1 小时前
Conda 常用命令行
linux·windows·conda
twdnote1 小时前
dokcer 环境中集成LibreOffice
linux
ChristXlx2 小时前
Linux安装redis(虚拟机适用)
linux·运维·redis
源文雨2 小时前
PVE实现USB硬盘盒在备份前自动上电/结束后自动断电脚本
linux·运维·服务器·备份·perl·pve·usb硬盘盒
ascarl20102 小时前
准确--CentOS 7 配置用户资源限制(nofile / nproc)
linux·运维·centos
云和数据.ChenGuang2 小时前
运维工程师技术教程之ELK日志监控
运维·服务器·elk·运维技术·数据库运维工程师