ZNDS智能电视网 推荐当贝市场

TV应用下载 / 资源分享区

软件下载 | 游戏 | 讨论 | 社区App下载

综合交流 / 评测 / 活动区

交流区 | 测硬件 | 网站活动 | Z币中心

新手入门 / 进阶 / 社区互助

新手 | 你问我答 | 免费刷机救砖 | ROM固件

查看: 96941|回复: 25
[攻略教程]

fastboot uboot的使用

  [复制链接]
发表于 2021-7-24 15:15 | 显示全部楼层 |阅读模式
本帖最后由 z913457894 于 2021-7-24 15:14 编辑

其实早就准备发一篇fastboot/uboot模式的科普贴,之前的有一篇逆向进fastboot的帖子,https://www.znds.com/tv-1198276-1-1.html,一直有人再说进什么fastboot直接用Hitool不就ok了,fastboot下面也没什么可以用的指令之类的,看到这些,我觉得我真有必要针对这些问题讲一讲。
我们这里说的fastboot/uboot模式,准确的说只能叫uboot模式(在嵌入式领域都称为bootloader模式,你可以理解为平常电脑的bios),而fastboot是运行在uboot模式之上的一种协议,这种协议是可以通过USB或以太网与引导加载程序通信的机制,我们这里只针对这种模式来讲,不谈协议。
下面是我手上的两个盒子进入fastboot/uboot模式的终端输出,也就是你们俗称跑码。
第一个 天邑TY1208-Z,可以看到上面显示是Uboot
1.png

第二个是广电九联科技HDC2100k,上面显示为fastboot
2.png

以上不管是fastboot还是uboot,源代码都是由芯片厂商提供,和芯片厂商提供的刷机工具(比如海思的hitool)是配套的,后期盒子厂家会在fastboot/uboo代码基础上适配自己的其他基础硬件,网卡,wifi等,但和上层的刷机工具通信的协议是不会改变的。
看完这个你就会明白为什么我一直在花力气进这个模式的原因,离开了这个模式刷机工具啥都干不了。
本来这里是准备通过我的盒子HDC2100k修改fastboot环境变量,加入ctrl+c的bootdelaykey,hitool就可以正常备份刷写固件的案列,来证明fastboot模式对刷机工具hitool的重要性,加入证明让帖子变得变得难以让人看懂,之后会再写一篇帖子帖子------hdc2100k如何支持hitool工具。
这种模式各个厂家的指令大同小异,都是类似的,因为他们的代码都是仿照开源uboot代码写的,我这里以手上的HDC2100K介绍下fastboot/uboot下指令的用法,看懂了,其它的基本也就都会了。
我们现在就演示下fastboot下各个指令是如何使用。串口终端我推荐SecureCRT

我们首先输入指令help回车来看看你有哪些指令可以用,我只是简单的列举了几个常用指令。
3.png


环境变量相关
我们输入指令printenv回车查看一下环境变量,可以看到tftpip设置,设备的mac地址,启动信息等
4.png

我们还可以修改环境变量,以修改加载kenel等待时间为例,输入setenv bootdely 1 回车,然后在输入 saveenv回车
很好理解设置完,保存,如果不保存,就是重启无效。


传输相关
传输就是上载和下载,电脑到机顶盒内存,机顶盒内存到电脑,这里都是以机顶盒内存为中间桥梁,这里很重要,必须要理解,就拿我们现在要刷系统的某个分区,我们必须分两步走,一是系统分区文件从电脑传输到机顶盒内存,二是再从机顶盒内存到emmc或者其它存储芯片。
传输方式有很多,串口,网口,usb都可以。
串口传输   输入指令loady 0x1FFBFC0
后面1FFBFC0是内存地址,同样你可以通过指令getinfo ddrfree获取空闲地址。 如果用的是SecureCRT的话,直接选择 传输->发送Ymodem,选择你要发送的文件点击确定就行了。
如果是上载到电脑的,输入指令uploadx 0x1FFBFC0 , SecureCRT上直接选择 传输->接收Xmodem,保存文件就可以了。这里XmodemYmodem是两个不同协议,根据具体指令选择,loadx就是Xmodem,loady就是ymodem
5.png

网络传输  速度比较快,适合大文件传输,但我们需要在电脑上有一个tftp的服务器工具。
首先我们设置环境变量IP地址信息,指令
setenv serverip 192.168.0.119
setenv ipaddr 192.168.0.139
setenv gatewayip 192.168.0.250
ping 192.168.0.119
都很好理解,设置服务器ip,自己的ip,网关地址,ping下服务器,根据自己情况设置。

电脑打开tftp的服务器工具,下载的文件改名file.bin,放到程序同级目录,准备好之后输入指令
tftp 0x1FFBFC0 file.bin  ,等待传输完成就行

上传之需要在上面指令多加一个参数,上传字节数,比如我们需要上传0x400字节
tftp 0x1FFBFC0 file.bin 0x400  ,等待传输完成后,程序目录就会生成文件file.bin


usb传输   我不太想讲,要看具体盒子支持些什么指令,天邑Ty1208-z支持USB_burning指令,可以直接文件放到U盘(格式化成fast32)里面,然后直接文件写入emmc分区,这个盒子没这个指令,显得有点复杂,我简单把指令列出来,有兴趣自己尝试。
usb start  打开初始化usb
usb storage   列举出已经插入的usb设备
fatls     展开usb设备中文件列表
fatload  将文件加载到内存



内存操作相关
下载完数据,如何查看数据是不是正确的,显示内存数据,输入指令md.b 0x1FFBFC0 0x400
md.b 按单字节显示; md.w按双字节显示;md.l 按四字节显示
第二个参数和第三个参数分别是内存地址和显示字节数,显示字节数是以前面指令模式为单位的,md.l就会显示4倍的显示字节数。

修改内存nm.b   nm.w   nm.l

查看空闲内存地址getinfo ddrfree
这里面的地址范围可以用在上面所有和内存相关的地方



Emmc读取写入相关
emmc写入,输入指令mmcwrite 0 0x1FFBFC0 0x1000 2
Write 后第一个参数0是指的设备0,有的设备mmcwrite没有这个参数;
第二个0x1FFBFC0上面已经提过了内存地址;
第三个0x1000是扇区号,就是写入的扇区地址,一个扇区0x200512)字节,比如我们要写入偏移地址0x200000,我只需要偏移地址除以扇区大小0x200就可以得到扇区地址0x1000
第四个2就是写入两个扇区1024字节

emmc读取,输入指令mmcread 0 0x1FFBFC0 0x1000 2
参数跟前面mmc write一致。



总结
上面介绍的东西基本已经覆盖了百分之九十的常用指令,用这些最基本的指令,我们就可以完成固件读取,写入的操作,Hitool刷机软件的所有功能也都是建立在这些指令之上的,你要是会写软件,基本上也可以写一个hitool出来。作为一名程序开发者,从程序猿角度科普下,希望刷机的朋友们不只单单知道有包就可以刷,而真正去理解程序是怎么运作的。

评分

参与人数 3威望 +20 金币 +42 Z币 +19 收起 理由
1个左撇子 + 17 一位不愿意透露姓名的网友给你点了个赞.
小鱼干. + 10 + 9 开门,社区送温暖...
路人甲是野百合 + 10 + 25 + 10 开门,社区送温暖...

查看全部评分


上一篇:GDT-YH9000求固件
下一篇:求大神代刷广电U点盒子,可提供各种型号盒子及原厂updates...
发表于 2021-7-24 16:03 | 显示全部楼层
虽然我看不懂,但是感觉很厉害的样子
回复 支持 反对

使用道具 举报

发表于 2021-7-24 18:29 | 显示全部楼层
这是高手
回复 支持 反对

使用道具 举报

发表于 2021-7-24 18:29 | 显示全部楼层
小白前来学习
回复 支持 反对

使用道具 举报

发表于 2021-7-24 18:30 | 显示全部楼层
大师之作,需要慢慢消化,好久没有这样教学类的贴子了,支持一下!!!!!!
回复 支持 反对

使用道具 举报

发表于 2021-7-24 18:57 | 显示全部楼层

小白前来学习,,,,
回复 支持 反对

使用道具 举报

发表于 2021-7-24 20:34 来自ZNDS手机版 | 显示全部楼层
感谢大佬分享
回复 支持 反对

使用道具 举报

发表于 2021-7-25 20:24 | 显示全部楼层
虽然我看不懂,但是感觉很厉害的样子
回复 支持 反对

使用道具 举报

发表于 2021-7-26 11:28 来自ZNDS手机版 | 显示全部楼层
感谢分享


来自客户端来自Android客户端
回复 支持 反对

使用道具 举报

发表于 2021-7-26 11:55 | 显示全部楼层
这是高手
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐 上一条 /3 下一条

Archiver|新帖|标签|软件|Sitemap|ZNDS智能电视网 ( 浙ICP备14000780号-1 )

网络信息服务信用承诺书 | 增值电信业务经营许可证:浙B2-20150411 丨 浙公网安备 33010802006145号

浙网文(2016)6491-366号 | GMT+8, 2021-9-27 17:28 , Processed in 0.055292 second(s), 13 queries , MemCache On.

Powered by Discuz!

监督举报:report#znds.com (请将#替换为@)

© 2007-2021 ZNDS.Com

快速回复 返回顶部 返回列表