【原创】-- tftp安装配置及使用

时间:2023-03-09 07:17:53
【原创】-- tftp安装配置及使用

环境:Ubuntu 14.04  OK6410

环境搭建:

(1)

$ sudo apt-get install tftp tftpd openbsd-inetd

或者安装tftp的增强版本tftp-hpa: $ sudo apt-get install tftp-hpa tftpd-hpa

(2)

建立tftpboot目录,用于放置需要下载的文件

$ sudo mkdir -pv  /tftpboot/

$ sudo chmod 777 /tftpboot/

$ sudo chmod 777 /tftpboot/*         (将此目录下的所有权限都改为777,否则会出现“tftp: server error(2) Access violation”)

(3)

sudo gedit /etc/inetd.conf  修改成如下样子

tftp  dgram    udp    wait    nobody    /usr/sbin/tcpd

/usr/sbin/in.tftpd   /tftpboot

(4)

建立配置文件,建立/etc/xinetd.d/tftp文件(若开始时没有此文件,则新建)

$ sudo cat /etc/xinetd.d/tftp

$sudo chmod 777 /etc/xinetd.d/tftp

写入如下内容:

service tftp

{

disable         =no

socket_type     =dgram

protocol        =udp

wait            =yes

user            =root

server          =/usr/sbin/in.tftpd

server_args     =-s /tftpboot -c

source          = 11

cps             = 100 2

}

其中server_args设置的/tftpboot目录是tftp服务器的目录,设置其访问权限为777.

(5)

sudo gedit /etc/default/tftpd-hpa  修改成如下样子

RUN_DAEMON="no"

OPTIONS="-s /tftpboot -c -p -U tftpd"

(6)

sudo /etc/init.d/openbsd-inetd reload

sudo /etc/init.d/xinetd restart

sudo in.tftpd -l /tftpboot

开始使用:

(1)

使用前首先关闭ubuntu的防火墙

$ sudo ufw disable

(2)

启动开发板,在uboot的命令行设置ipaddr 和serverip

ipaddr 是 开发板的ip地址

serverip 是 PC机的IP地址

两者需要设置到同一网段

操作如下:

在uboot命令行中输入

printenv    (查看当前状态下的环境变量)

setenv ipaddr 192.168.1.100

setenv serverip 192.168.1.200

saveenv   (保存环境变量,非常重要)

(3)

测试网络是否连接上:

uboot命令行中:ping 192.168.1.200    (应该显示,192.168.1.200 is alive)

ubuntu命令行中:ping 192.168.1.100  (显示TTL等)

(4)

将要烧写的文件放入 /tftpboot,现以内核为例,即将编译好的内核文件zImage放入 /tftpboot

uboot命令行中输入

tftp 50008000 zImage  (其中,50008000 是OK6410的内存地址)

下载完成

(5)执行下载到内存中的代码

bootm 50008000

启动内核