利用u-boot的tftp加载kernel——解决Transfer timed out
ubuntu18.04上配置tftp服务器解决Transfer timed out
以下内容转载自ubuntu14上配置tftp服务器解决Transfer timed out,稍有改动,亲测正确有效。
#########################以下为网上教程,出现Transfer timed out问题################################
安装xinetd:
ky@ubuntu:~$ sudo apt-get install xinetd
安装tftp和tftpd:
ky@ubuntu:~$ sudo apt-get install tftp tftpd
或者安装tftp的增强版本tftp-hpa:
ky@ubuntu:~$ sudo apt-get install tftp-hpa tftpd-hpa
建立配置文件。建立/etc/xinetd.d/tftp文件,写入如下内容:
service tftp
{undefined
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /var/tftpboot/
disable = no
per_source = 11
cps = 100 2
flags = IPv4
}
其中server_args设置的/var/tftpboot目录是tftp服务器的目录,设置其访问权限为777:
ky@ubuntu:~$ sudo mkdir -pv /var/tftpboot/
ky@ubuntu:~$ sudo chmod 777 /var/tftpboot/
启动或者重启xinetd服务:
ky@ubuntu:~$ sudo /etc/init.d/xinetd start或者restart
############################按照网上教程一直出错Transfer timed out#################################
自己后来多方查找,发现真确的安装方式如下,前提是使用apt-get remove将之前安装的软件删除掉
-
$ sudo apt-get autoremove
-
$ sudo apt-get install tftp-hpa xinetd
-
$ sudo apt-get install tftp-hpa tftpd-hpa
-
用vi或者gedit配置/etc/default/tftpd-hpa 内容如下
#/etc/default/tftpd-hpa
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/CBT-SuperIOT/tftpboot/" //修改成自己要使用的tftpboot目录
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="--secure -c" //-c 表示可以创建文件 -c create
其中,TFTP_DIRECTORY=“/CBT-SuperIOT/tftpboot/” 要修改成自己要使用的tftpboot目录。
注意," 和 - 是英文符号,如果写成中文符号就会启动tftp服务失败。
3.创建tftp目录
sudo mkdir /CBT-SuperIOT/tftpboot/
sudo chmod 777 /CBT-SuperIOT/tftpboot/
4.重新启动服务
service tftpd-hpa restart
5.测试tftp
首先,在tftpboot目录中新建文件uImage。然后,进入~目录测试tftp。
$ cd /CBT-SuperIOT/tftpboot/
$ sudo gedit uImage
$ cd ~
$ tftp localhost
tftp> get uImage
tftp> q
可以在~目录下发现多了uImage文件。配置完成。