uboot通过tftp下载zimage

前言
在uboot中,tftp 命令的作用和 nfs 命令一样,都是用于通过网络下载东西到 DRAM 中,只是 tftp 命令使用的 TFTP 协议, Ubuntu 主机作为 TFTP 服务器。

1、下载tftp

sudo apt-get install tftp-hpa tftpd-hpa
sudo apt-get install xinetd

2、创建tftp共享目录

mkdir /home/ceremony/linux/tftpboot
chmod 777 /home/ceremony/linux/tftpboot

3、配置tftp

打开/etc/xinetd.d/tftp,如果没有/etc/xinetd.d 目录的话自行创建, 然后在里面输入如下内容:

server tftp
	 {
		socket_type = dgram
 		protocol = udp
 		wait = yes
 		user = root
 		server = /usr/sbin/in.tftpd
 		server_args = -s /home/ceremony/linux/tftpboot/
 		disable = no
 		per_source = 11
 		cps = 100 2
	 	flags = IPv4
  }

4、启动 tftp 服务

sudo service tftpd-hpa start

5、再配置tftp

打开/etc/default/tftpd-hpa,将其修改为如下内容:

TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/home/ceremony/linux/tftpboot"
TFTP_ADDRESS=":69"
TFTP_OPTIONS="-l -c -s"

TFTP_DIRECTORY 就是我们上面创建的 tftp 文件夹目录

6、重启tftp

sudo service tftpd-hpa restart

到此,tftp搭建完成

7、测试

将tftp中的zimage下载到开发板:

这里要注意,要讲文件权限设置为777,否者可能会出现一些问题。

命令格式:

tftpboot [loadAddress] [[hostIPaddr:]bootfilename]

看 起 来 和 nfs 命 令 格式 一 样 的 , loadAddress 是 文 件 在 DRAM 中 的存 放 地 址 ,[[hostIPaddr:]bootfilename]是要从 Ubuntu 中下载的文件。但是和 nfs 命令的区别在于, tftp 命令不需要输入文件在 Ubuntu 中的完整路径,只需要输入文件名即可。比如我们现在将 tftpboot 文件夹里面的 zImage 文件下载到开发板 DRAM 的 0X80800000 地址处,命令如下:

tftp 80800000 zImage

在这里插入图片描述
可以看到,已经下载成功了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

思禾

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值