很常用的搭建方法,你也可以通过Google搜索相关信息。
这里我们提供一个参考。
设置TFTP
安装TFTP相关软件包:
1 | $ sudo apt-get install openbsd-inetd tftpd tftp |
- 配置
通过root权限编辑文件/etc/inetd.conf
来使能TFTP服务,文件内容如下:
1 | # tftp dgram udp wait root /usr/sbin/tcpd /usr/sbin/in.tftpd |
取消注释下面这一行,并添加 -s /srv/tftp
到行尾:
1 | # tftp dgram udp wait root /usr/sbin/tcpd /usr/sbin/in.tftpd -s /srv/tftp |
创建/srv/tftp
目录,并修改权限:
1 | $ sudo mkdir /srv/tftp |
重启TFTP服务:
1 | $ sudo /etc/init.d/xinetd restart |
安装TFTP相关软件包:
1 | $ sudo apt-get install tftp-hpa tftpd-hpa |
- 配置
使用root权限修改tftp配置文件,修改的行如下:
1 | TFTP_DIRECTORY="/usr/lib/tftpboot" |
修改为:
1 | TFTP_DIRECTORY="/srv/tftp" |
创建/srv/tftp
目录,并修改权限:
1 | $ sudo mkdir /srv/tftp |
重启TFTP服务:
1 | $ sudo service tftpd-hpa restart |
设置VIM目标板
为了设置TFTP你需要做如下事情:
- 连接网线到VIM,并确保和你的PC在同一个局域网
- 连接串口线,参考这里设置串口
- 上电,确保U-Boot正常运行
按 Enter
or Space
键进入U-Boot命令行模式:
1 | U-Boot 2015.01 (May 18 2019 - 19:31:53) |
设置目标板IP地址以及TFTP服务器地址:
1 | kvim3# setenv ipaddr 192.168.1.249 |
保存环境变量:
1 | kvim3# saveenv |
执行 saveenv
将会把环境变量保存到eMMC,所以在执行上述步骤后IP地址会一直存在,除非你执行env default -a
来恢复默认环境变量。
提示确认你的环境变量设置是正确的。
1
2
3
4 kvim3#print ipaddr
ipaddr=192.168.1.249
kvim3#print serverip
serverip=192.168.1.117
测试
注意VIM1/VIM2/VIM3/VIM3L使用u-boot.bin, VIM4使用u-boot.bin.signed.
确保已经拷贝测试文件(如u-boot.bin)到TFTP服务器根目录(/srv/tftp
):
1 | $ ls /srv/tftp/u-boot.bin |
下载文件到地址 0x1080000
:
1 | kvim3# tftp 1080000 u-boot.bin |
如果一切正常,你将会看到上述打印信息。
调试
- 如果你看到如下打印信息,那么你可能需要检查你的网线连接:
1 | kvim3# tftp 1080000 u-boot.bin |
- 如果看到如下打印信息,那么你可能是TFTP服务器地址设置错误或者文件名错误
1 | kvim3#tftp 1080000 u-boot.bin |
在这种情况下,我把服务器IP设置为错误的IP 192.168.1.177
,然而正确的应该是192.168.1.117
。