正点原子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功能

相关推荐
笑口常开xpr10 小时前
惊!printf 不往屏幕输?都是 fd 在搞鬼!爆肝拆解 Linux 文件描述符 + 重定向底层,学会直接在终端横着走
linux·文件·重定向
一RTOS一10 小时前
东土正创AI交通服务器再获北京市批量应用订单
运维·服务器·人工智能
群联云防护小杜10 小时前
服务器异常负载排查手册 · 隐蔽进程篇
运维·服务器·前端·数据库·笔记·sql·tcp/ip
aspirestro三水哥11 小时前
服务器研发的历史变迁:从通用到定制化
运维·服务器
挺6的还11 小时前
22.Linux进程信号(三)
linux
☆璇11 小时前
【Linux】Linux权限
linux·运维·服务器
二进制coder11 小时前
Linux内存管理章节三:绘制Linux的内存地图:内核与用户空间布局详解
linux·运维·网络
2501_9200470311 小时前
Linux-xargs-seq-tr-uniq-sort
linux·运维·服务器
FLS16811 小时前
Linux Centos7搭建LDAP服务(解决设置密码生成密文添加到配置文件配置后输入密码验证报错)
运维·服务器·centos