当前位置: 首页 > news >正文

ubuntu系统下安装tftp服务器(实现uboot或者kernel单独更新增加了端口号冲突导致异常)

背景:
使用“Purple Pi R1烧录流程”的tftpd32软件的方法每次都会将uboot、kernel、rootfs都依次升级了,但是有时候我们不需要全部升级,只需要升级三者之一,这个时候就需要有办法单独升级了。


“Purple Pi R1烧录流程.pdf”的“更新uboot和kernel”章节中关于使用tftp指令升级uboot和kernel的方法,需要在ubuntu下安装tftp服务器,但是教程中没有说明。下面对在ubuntu下安装tftp服务器的方法做一下简要说明:

前提:ubuntu系统能够“桥接”上网(ping www.baidu.com 有数据回传)

第 1 步:安装 tftp
安装 tftp 所需的软件。首先需要安装 tftp-hpa,tftpd-hpa,前者是客户端,后者是服务程序, 在终端下输入 sudo apt-get install tftp-hpa tftpd-hpa,安装 tftp-hpa 和 tftpd-hpa。然后还需要安装 xinetd,在终端下输入 sudo apt-get install xinetd,安装好 xinetd。

第 2 步:配置/etc/xinetd.conf
配置相关服务文件。进入根目录下的 etc 文件夹(cd /etc/),首先看目录中有没有一个
xinetd.conf 文件,如果没有则新建一个,有的话查看内容,看是否与下面的一致,若不一致则
修改,内容如下:
# Simple configuration file for xinetd
#
# Some defaults, and include /etc/xinetd.d/
defaults
{
# Please note that you need a log_type line to be able to use log_on_success
# and log_on_failure. The default is the following :
# log_type = SYSLOG daemon info
}
includedir /etc/xinetd.d

第 3 步:配置/etc/default/tftpd-hpa
配置 tftp 服务器
命令:
sudo vim /etc/default/tftpd-hpa
将内容修改成
# /etc/default/tftpd-hpa
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/tftpboot"
#这是你 tftp 服务器的工作目录,自行修改,注意,在新建工作目录时,最好修改其权限为 777,
命令 sudo chmod 777 /tftpboot
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="-l -c -s"

第 4 步:配置/etc/xinetd.d/tftp
然后进入 xinetd.d 文件夹(cd xinetd.d),查看是否有一个 tftp 文件,如果没有就新建一个,如果有的话就查看内容是否与下面的一致,不一致则修改,内容如下:
service tftp
{
socket_type = dgram
wait = yes
disable = no
user = root
protocol = udp
server = /usr/sbin/in.tftpd
server_args = -s /tftpboot
#log_on_success += PID HOST DURATION
#log_on_failure += HOST
per_source = 11
cps =100 2
flags =IPv4
}
其中 server_args 一行是配置服务器的文件存放的位置,就是进行 tftp 传输的时候,都是从
该文件夹中搜索文件的

第 5 步:修改权限
修改所需文件夹的权限。需要修改的文件夹也就是上一步提到的那个服务器文件存放的文件夹,以我的配置文件为例,创建一个文件夹(sudo mkdir /tftpboot),然后把它可以设置成访问权限最宽松的(sudo chmod 777 /tftpboot),也可以设置成合适的权限。

第 6 步:重启服务
重新启动服务。sudo service tftpd-hpa restart,这也是我经常疏忽的一步,当配置好 tftp 的配置文件后,需要重新启动一下 xinetd,在终端中输入 sudo /etc/init.d/xinetd reload,重新加载一下进程,再输入 sudo /etc/init.d/xinetd restart,重启服务。记住,每次修改完配置文件后,都需
要重新启动一下服务。
执行次序:
sudo service tftpd-hpa restart
sudo /etc/init.d/xinetd reload
sudo /etc/init.d/xinetd restart

注意(新增):如果在“sudo service tftpd-hpa restart”报错,提示需要某一段指令查看具体信息,最终将问题定位在“端口号上”需要将“TFTP_ADDRESS="0.0.0.0:69"”中的端号69改成其他的。

测试的时候,get xxx与tftpboot文件夹中创建的文件夹要保持一致。


tftp升级uboot的相关步骤

1、首先运行“source ./Release_to_customer.sh -f nand -p ssd202 -m 256”生成新的images文件夹
2、cd ./images 进入images\
3、cp uboot_s.bin /tftpboot (注意:/tftpboot是tftp服务器的文件夹)
4、重启开发板,按回车后,进入uboot的命令行模式“SigmaStar # ”
5、设置好环境变量ipaddr、serverip,让开发板的ip地址和ubuntu主机在用一个网段。
6、依次运行指令:
tftp 0x21000000 uboot_s.bin
nand erase.part UBOOT0
nand write.e 0x21000000 UBOOT0 ${filesize}
nand erase.part UBOOT1
nand write.e 0x21000000 UBOOT1 ${filesize}
7、reset重启uboot,然后按回车打断查看是否完成uboot更新 (可以查看uboot版本号的日期时间就可判断是否已经使用新版的uboot了)


kernel的升级方法应该和uboot类似,运行的指令可以查看images/“[[kernel.es”里面的内容,但是我还没测试。

# <- this is for comment / total file size must be less than 4KB
tftp 0x21000000 kernel
nand erase.part KERNEL
nand write.e 0x21000000 KERNEL ${filesize}
nand erase.part RECOVERY
nand write.e 0x21000000 RECOVERY ${filesize}
% <- this is end of file symbol

http://www.jsqmd.com/news/850415/

相关文章:

  • 柔和舒适,清凉不减:2026年值得推荐的无风感新风空调——海尔Seeker - 资讯焦点
  • Vue3-Mindmap深度解析:基于Vue 3的高性能思维导图组件架构设计与实现原理
  • ThinkPad双风扇控制终极指南:TPFanCtrl2完全配置教程
  • 如何选择靠谱的红色教育馆策划设计公司,盛世笔特值得选吗 - myqiye
  • 2026全城区上门西安市黄金铂金白银,诚信店铺靠谱TPO1 实力排行榜即地址联系方式 - 亦辰小黄鸭
  • 2026全城区上门丽水市黄金铂金白银,诚信店铺靠谱TPO1 实力排行榜即地址联系方式 - 亦辰小黄鸭
  • 别再只盯着Monaco了!2023年构建Web代码编辑器,CodeMirror 6可能是更好的选择
  • 2026肇庆市黄金白银铂金回收 全区域正规变现 诚信门店TOP5实力排行榜地址及联系方式 - 前途无量YY
  • 2026全城区上门西宁市黄金铂金白银,诚信店铺靠谱TPO1 实力排行榜即地址联系方式 - 亦辰小黄鸭
  • AND 婚礼多少钱?各预算区间服务详情 - myqiye
  • 2026全城区上门连云港市黄金铂金白银,诚信店铺靠谱TPO1 实力排行榜即地址联系方式 - 亦辰小黄鸭
  • 亲测有效的山西广电证申请经验分享
  • 2026潍坊市黄金白银铂金回收 全区域正规变现 诚信门店TOP5实力排行榜地址及联系方式 - 前途无量YY
  • 2026全城区上门辽源市黄金铂金白银,诚信店铺靠谱TPO1 实力排行榜即地址联系方式 - 亦辰小黄鸭
  • 如何从视频中智能提取PPT内容:3步完成自动化内容转换
  • 2026年成都散酒铺品牌怎么找?TOP7权威排行榜给你答案 - 品牌推荐官方
  • 服务号版本:weixin-java-mp=4.8.3.B,spring-boot=3.3.1,httpclient5=5.5.2
  • 机器人语义安全成本函数设计与动态规划实现
  • 终极键盘连击修复方案:KeyboardChatterBlocker 全面使用指南
  • 2026渭南市黄金白银铂金回收 全区域正规变现 诚信门店TOP5实力排行榜地址及联系方式 - 前途无量YY
  • 力扣算法面试150题——个人笔记——复习用
  • 告别盲测!用CANoe回放功能搭建你的车载网络自动化测试环境
  • ViGEmBus虚拟游戏控制器驱动:从零开始掌握Windows手柄模拟技术
  • Ubuntu环境搭建:secure CTR可以root用户登入
  • ARM与C51二进制取反操作差异解析
  • 2026全城区上门聊城市黄金铂金白银,诚信店铺靠谱TPO1 实力排行榜即地址联系方式 - 亦辰小黄鸭
  • 【实用程序】基于 Java 的简易HTTP 反向代理
  • 2026温州市黄金白银铂金回收 全区域正规变现 诚信门店TOP5实力排行榜地址及联系方式 - 前途无量YY
  • 2026全城区上门临沧市黄金铂金白银,诚信店铺靠谱TPO1 实力排行榜即地址联系方式 - 亦辰小黄鸭
  • MOEAD实战避坑:切比雪夫分解法在Python/PlatEMO中参数调优的3个常见误区