天天看点

uboot通过tftp下载镜像文件

有时候我们可以通过uboot的tftp服务下载内核镜像并运行,从而完成对内核驱动的调试;本文将介绍这种方式的环境搭建:

一、在宿主机端配置tftp服务

1、安装

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

注:在此说明,tftp-hpa和tftpd-hpa为tftp的客户端和服务端的软件包,而这两个软件包在之前的ubuntu版本中是tftp tftpd(本文使用的环境为ubuntu16.04)

2、建立目录

$ mkdir /tftpboot # 这是建立tftp传输目录。
$ sudo chmod 0777 /tftpboot
$ sudo touch test.txt # test.txt文件最好输入内容以便区分
           

3、配置(没有配置文件,则新建)

# vi /etc/default/tftpd-hpa
  
  
   TFTP_USERNAME="tftp"
  
  
   TFTP_DIRECTORY="/tftpboot" # 这里是你的tftpd-hpa的服务目录,这个想建立在哪里都行
  
  
   TFTP_ADDRESS="0.0.0.0:69"
  
  
   TFTP_OPTIONS="-l -c -s" # 这里是选项,-c是可以上传文件的参数,-s是指定tftpd-hpa服务目录,上面已经指定

  
           

4、重启服务

$ sudo service tftpd-hpa restart # 启动服务,这里要注意,采用的独立服务形式。
           

5、测试

# cd /home
# tftp localhost  #localhost 表示本机
tftp>get test.txt  //test.txt 是之前在 /tftpboot 目录下新建的文件
tftp>put test1.txt //test1.txt 是在 /home 目录下新建的文件
tftp>q
退出后,在/home目录下会有一个test.txt文件,在/tftpboot 目录下有test1.txt,表示tftp服务器安装成功!
           

二、修改uboot环境变量

主要需要修改为三个环境变量,分别为ipaddr、serverip、gatemask;当前目标机ip,宿主机ip,网关,在此我的修改如下:

uboot通过tftp下载镜像文件

三、使用tftp命令下载

uboot通过tftp下载镜像文件

在此的前提是在/tftpboot目录下已经有zImage文件

继续阅读