AM335x的NFS启动失败:Error code 2: Only absolute filenames allowed

一、开始以为是TFTP服务器连接异常,按如下步骤重新配置TFTP服务器:

参考链接:安装TFTP服务器后,下载文件提示:Error code 2: Only absolute filenames allowed错误_lvbook的博客-CSDN博客

1、安装相关软件包:tftpd(服务端),tftp(客户端),xinetd, openbsd-inetd
sudo apt-get install tftpd tftp xinetd openbsd-inetd
    有时需要单个单个的下载安装每个软件,另外xinetd与openbsd-inetd两个中只能装一个。
2、建立配置文件
在/etc/xinetd.d/下建立一个配置文件tftp

sudo vi tftp

在文件中输入以下内容:
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /tftpboot
disable = no
per_source = 11
cps = 100 2
flags = IPv4
}
保存退出

3、建立tftp服务文件目录(上传文件与下载文件的位置),并且更改其权限
sudo mkdir /tftpboot
sudo chmod 777 /tftpboot -R

4、重新启动服务
sudo /etc/init.d/xinetd restart

至此tftp服务已经安装完成了,下面可以对其进行一下测试。(假设在当前目录下有一个测试文件test.txt)
$tftp 127.0.0.1                     
tftp> put test.txt
Sent 1018 bytes in 0.0 seconds

tftp> get test.txt
Received 1018 bytes in 0.1 seconds
tftp> quit

严格按照以上步骤配置tftp服务,一般都可以成功。如果出现:

           Error code 2: Only absolute filenames allowed      说明需要一个绝对路经

    在通过tftp下载程序到开发板的时候我们就必须指定它绝对路经,在书写tftp命令时要注意它的书写格式;

    在终端输入    tftp 30800000 /tftpboot/uImage 便可将程序下载进去,其中/tftpboot/uImage是你将从主机linux下要下载的内核 
 

二、后来无意中发现,tftp服务器的文件夹所有权异常。文件拥有者变成none,而不是root。

通过 chown root tftpboot 命令,修改文件拥有者。问题解决。因为最开始这个TFTP加载是能用的。可能在一次意外掉电后,文件权限被更改,导致AM335无法通过NFS加载内核。

另外,通过uboot的环境变量,把加载DTS,zImage文件改成绝对路径,也能解决问题。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值