U-Boot 中使用 nfs 命令加载文件报错指南

简介: U-Boot 中使用 nfs 命令加载文件报错指南

在嵌入式 Linux 开发中,我们经常使用 nfs 命令加载服务端的共享文件或者挂载文件系统。关于服务端 NFS 服务的搭建可以参考基于 NFS 的文件共享实现。


U-Boot 也支持了 nfs 命令,笔者在 U-Boot 命令模式下,学习使用 nfs 命令从服务端(虚拟机 Ubuntu 18.04)下载 Linux 内核镜像文件到开发板 RAM 的过程中遇到了一些问题,经过一番波折终于都解决了,故此记录一下。

问题一

问题描述

  • 开发板 ping 服务端 IP 通过,但是在使用 nfs 命令下载 Linux 内核镜像文件时出现了文件查找失败的错误:
  • Loading: *** ERROR: File lookup fail

错误原因

  • NFS 版本不兼容导致的共享文件找不到
  • U-Boot 中 NFS 为 V2 版本
  • 服务端 NFS 为 V3、V4 版本


解决方案

  • 修改服务端 /etc/default/nfs-kernel-server 文件:
sudo vim /etc/default/nfs-kernel-server

  • 重启 NFS 服务:
sudo service nfs-kernel-server restart
  • 查看一下服务端 NFS 版本:
sudo cat /proc/fs/nfsd/versions
  • 如果已经有 +2 则说明 V2 版本 NFS 服务已经开启,如果为 -2 则说明系统内核虽然已经支持了 V2 版本的 NFS,但还没有开启;
  • 开启 V2 版本的 NFS,用 vim 编辑器打开 /etc/nfs.conf 文件,如果没有该文件则会自动创建一个:
sudo vim /etc/nfs.conf
  • 配置 udp 和 vers2 为 y:

  • 再次重启 NFS 服务:
sudo service nfs-kernel-server restart
  • 再次查看 NFS 版本,V2 版本开启了:

  • 测试下载,出现问题二

问题二

问题描述

  • 使用 nfs 命令下载文件过程中出现传输中断,打印 T T T…


解决方案

  • 编辑服务端 /etc/hosts 文件:
sudo vim /etc/hosts


  • 添加开发板 IP 和服务端 NFS 共享文件目录:

  • 再次重启 NFS 服务:
sudo service nfs-kernel-server restart


  • 再次测试下载,问题解决:



更多内容

  • CSDN博客:@Hello阿尔法
  • 哔哩哔哩:@Hello阿尔法
  • 知乎:@Hello阿尔法



相关文章
|
28天前
|
网络协议 网络安全
sudo mount -t nfs server_ip:/path/to/shared_directory /mnt/local_directory命令的作用是什么?
sudo mount -t nfs server_ip:/path/to/shared_directory /mnt/local_directory命令的作用是什么?
32 1
|
4月前
|
存储 Ubuntu Linux
NFS服务部署全攻略:从零到一,轻松驾驭网络文件系统,让你的文件共享像飞一样畅快无阻!
【8月更文挑战第5天】NFS(网络文件系统)能让网络中的电脑无缝共享文件与目录。基于客户端-服务器模式,用户可像访问本地文件般透明操作远程文件。部署前需准备至少两台Linux机器:一台服务器,其余作客户端;确保已装NFS相关软件包且网络通畅。服务器端安装NFS服务与rpcbind,客户端安装nfs-utils。
135 4
|
4月前
|
存储 Kubernetes 网络安全
[k8s]使用nfs挂载pod的应用日志文件
[k8s]使用nfs挂载pod的应用日志文件
180 1
|
4月前
|
Ubuntu Linux 网络安全
在Linux中,如何配置Samba或NFS文件共享?
在Linux中,如何配置Samba或NFS文件共享?
|
5月前
|
存储 云计算
云计算存储问题之NFS与其他文件共享协议共同点如何解决
云计算存储问题之NFS与其他文件共享协议共同点如何解决
|
7月前
|
存储 网络协议 Linux
NFS(Network File System 网络文件服务)
NFS(Network File System 网络文件服务)
|
7月前
|
存储 Linux 块存储
DRBD+Heratbeat+NFS高可用文件共享存储
DRBD+Heratbeat+NFS高可用文件共享存储
|
7月前
|
网络协议 Linux
Centos7 nfs常用命令详解
`/etc/exports`是NFS服务的配置文件,定义了共享给客户端的文件系统和访问规则。共享目录、客户端IP或域名、以及访问权限和用户映射选项是其主要内容。客户端指定方式包括IP地址、子网、域名或通配符。选项包括读写权限(ro/rw)、用户映射(如root_squash/no_root_squash/all_squash)和其他设置(sync/async/secure/insecure等)。`exportfs -r`用于重新应用配置。配置示例:`/opt/test`共享给192.168.1.0/24,权限为rw,同步写入(sync)。注意,不建议开启no_root_squash以确保安全。
150 0
|
7月前
|
网络协议 Linux
基于 NFS 的文件共享实现
基于 NFS 的文件共享实现
|
7月前
|
Linux
Linux安装NFS挂载NFS卸载客户端服务端都有
Linux安装NFS挂载NFS卸载客户端服务端都有
173 0