TFTP error: ‘Permission denied‘ (0)

项目场景:

环境:ubuntu 5.4.150 开发板:s3c2440

在u-boot中,通过tftp传输uImage文件失败。


问题描述

cpp 复制代码
SMDK2410 # tftp 0x30008000 uImage
dm9000 i/o: 0x20000000, id: 0x90000a46 
DM9000: running in 16 bit mode
MAC: 00:0c:29:4d:e4:f4
could not establish link
Using dm9000 device
TFTP from server 192.168.1.3; our IP address is 192.168.1.100
Filename 'uImage'.
Load address: 0x30008000
Loading: *
TFTP error: 'Permission denied' (0)
Starting again

dm9000 i/o: 0x20000000, id: 0x90000a46 
DM9000: running in 16 bit mode
MAC: 00:0c:29:4d:e4:f4
could not establish link

原因分析:

报错内容为:tftp 权限不足,无法建立网络连接

推测是由于uImage的文件权限或者是tftpboot目录不允许tftp进行读写操作。uImage是我从资料中复制的,而不是系统生成的,uImage的权限可能并不是系统默认的0666.而tftpboot目录没有这个问题。因此,应修改uImage的文件权限。


解决方案:

使用ll命令查看uImage的文件权限

可以看到uImage的文件权限为仅文件拥有者具有读写权限,文件拥有者为linux。

使用ll命令查看tftpboot的目录权限

可以看到tftpboot的目录权限为用户,组用户和其它用户具有读写权限。没有问题

使用chmod命令修改uImage的文件权限

可以看到uImage的文件权限为用户,组用户和其它用户具有读写权限。

重新使用tftp传输uImage文件

传输成功

相关推荐
幻想编织者20 分钟前
Ubuntu实时核编译安装与NVIDIA驱动安装教程(ubuntu 22.04,20.04)
linux·服务器·ubuntu·nvidia
利刃大大1 小时前
【Linux入门】2w字详解yum、vim、gcc/g++、gdb、makefile以及进度条小程序
linux·c语言·vim·makefile·gdb·gcc
怪小庄吖1 小时前
翻译:How do I reset my FPGA?
经验分享·嵌入式硬件·fpga开发·硬件架构·硬件工程·信息与通信·信号处理
飞行的俊哥7 小时前
Linux 内核学习 3b - 和copilot 讨论pci设备的物理地址在内核空间和用户空间映射到虚拟地址的区别
linux·驱动开发·copilot
雯宝8 小时前
STM32 GPIO工作模式
stm32·单片机·嵌入式硬件
hunter2062069 小时前
ubuntu向一个pc主机通过web发送数据,pc端通过工具直接查看收到的数据
linux·前端·ubuntu
不会飞的小龙人9 小时前
Docker Compose创建镜像服务
linux·运维·docker·容器·镜像
不会飞的小龙人9 小时前
Docker基础安装与使用
linux·运维·docker·容器
辰哥单片机设计9 小时前
STM32项目分享:智能厨房安全检测系统
stm32·单片机·嵌入式硬件
lshzdq10 小时前
【嵌入式开发】stm32 st-link 烧录
嵌入式硬件