Ubuntu TFTP 万能工程模板(全开发板通用)
目录前言1. 最终完整配置2. 逐行深度解析为什么必须这么写TFTP_USERNAMEtftpTFTP_DIRECTORY/home/china/tftpbootTFTP_ADDRESS0.0.0.0:69TFTP_OPTIONS-l -c -s核心三参数3. 从零完整搭建步骤1安装服务2创建目录 授权关键3修改配置文件4全套启停命令service 版本5. 补充systemctl 标准命令可选6. 放行防火墙端口7. 验证服务是否正常8. 开发板 U‑Boot 配套配置9. 开发/生产环境参数区别前言网上 90% 的 TFTP 教程要么参数残缺、要么只下载不上传、要么命令混乱。本文给出的是嵌入式行业通用、所有开发板通吃、可永久复用的 TFTP 最终配置。适配Ubuntu18/20/22 全系、所有 U‑Boot 开发板瑞芯微、全志、i.MX、STM32、FPGA1. 最终完整配置路径/etc/default/tftpd-hpaTFTP_USERNAMEtftp TFTP_DIRECTORY/home/china/tftpboot TFTP_ADDRESS0.0.0.0:69 TFTP_OPTIONS-l -c -s2. 逐行深度解析为什么必须这么写TFTP_USERNAMEtftp使用系统低权限专用用户运行服务禁止 root 运行防止漏洞提权、保障系统安全。TFTP_DIRECTORY/home/china/tftpboot自定义家目录路径相比系统默认/srv/tftp更好管理、方便备份、不用频繁 sudo。TFTP_ADDRESS0.0.0.0:69监听所有网卡、标准 69 端口。69 是 TFTP 协议官方固定端口所有 U‑Boot 默认就是 69不能改。TFTP_OPTIONS-l -c -s核心三参数-l独立进程运行支持 service 启停不依赖 xinetd-c允许上传文件开发板回传日志、镜像必备-s锁定根目录防止恶意越权读取系统文件安全必开3. 从零完整搭建步骤1安装服务sudo apt update sudo apt install tftpd-hpa2创建目录 授权关键mkdir -p /home/china/tftpboot sudo chown tftp:tftp /home/china/tftpboot sudo chmod 775 /home/china/tftpboot3修改配置文件sudo vim /etc/default/tftpd-hpa替换为上面的最终模板。4全套启停命令service 版本这是嵌入式开发最常用、最稳的一套命令# 启动 sudo service tftpd-hpa start # 重启改配置必用 sudo service tftpd-hpa restart # 停止 sudo service tftpd-hpa stop # 查看状态 sudo service tftpd-hpa status5. 补充systemctl 标准命令可选sudo systemctl daemon-reload sudo systemctl start tftpd-hpa sudo systemctl restart tftpd-hpa sudo systemctl stop tftpd-hpa sudo systemctl status tftpd-hpa重点说明service 命令不需要敲 daemon-reloadsystemctl 修改配置后必须 daemon-reload6. 放行防火墙端口sudo ufw allow 69/udp7. 验证服务是否正常ss -ulnp | grep 69看到 69 端口监听即为成功。8. 开发板 U‑Boot 配套配置setenv ipaddr 192.168.1.100 setenv serverip 192.168.1.50 saveenv配置完即可正常 tftp 下载、上传文件。9. 开发/生产环境参数区别开发调试-l -c -s支持上下传量产发布-l -s去掉 -c禁止上传防止篡改固件