罗波波 发表于 2024-10-8 16:38

◆串口大法就是好-酷开电视没得跑 ◆(二)系统备份

●品牌:裤开
●安卓版本:6.0
●上市年份:2018
●本心得也适用裤开的爸爸SkyWorth
●系统备份的重要性:万一搞机成砖,可以用来救砖。
一、uboot方式
uboot里的操作是非常危险的,在不能确定某个命令的确切作用前,最好收回你手痒的小手,其命令回车后是没有yes或no的提示让你有时间后悔的,若是想实操研究uboot的各种命令,建议还是买一台便宜的盒子用来练手,成砖了也不心疼。
相信很多人跟我一样,第一次用PuTTY(界面很像是windows的cmd窗口),想当然的就以为复制就和cmd一样的,实际不然。
(本人的栽坑经历:进入uboot后,输入help,看看都有什么命令,想复制出来到txt文件,待日后慢慢研究,结果左键选择了所有的help文本,右键点了一下,结果把这些文本直接在命令窗口粘贴并执行了,当时看呆了,傻了1、2秒钟才反应过来,立即断电,可惜已经来不及了。重新通电已变砖,uboot已无法进入了。还好是便宜的盒子)
首先建议先设置一下PuTTY:

这样右键弹出菜单,再粘贴,有个缓冲思考时间。
言归正传:
查看分区情况:mmc part

length列的单位为block,这里的block为512字节
base列指的是该分区的起始位置,单位block
zise列是1024进制后的结果
查看U盘,分别执行命令:usb start 0,usb start 1,usb start 2,
当出现找到usb的提示时,记住上面命令的数字,代表usb port号码:

备份各分区:emmcbin
就是上面的数字,为0,作用是仅备份该分区的有效数据,这样可以使得一些分区的备份文件大小减少。就是备份出来的文件名(扩展名可不要),就是目标分区的偏移量(就是base)/或者分区名, 就是备份的大小,单位是字节。
例如,备份misc分区,其大小为1024*512=524288字节:
emmcbin 1 0 misc.img misc 524288
当然可以写成16进制
emmcbin 1 0 misc.img misc 0x80000
后期,若要恢复分区,例如刷入修改了的system分区:
usb start    
usb_partial_upgrade_to_emmc system#就是你u盘上修改后的system分区文件
。。。。。。。。。。。
查看隐藏分区,mmcbininfo:

第一个就是隐藏分区,实际就是存放分区表的,可以把它备份出来:
emmcbin 1 0 ptable.bin 0 32768
恢复该分区,usb_partial_upgrade_to_emmc XXXX#XXXX应该可以是offset,但我没试,我用的另一个命令来恢复分区表:
bin2emmc
恢复后,需重启一下设备才会生效。
这个命令应该也可以平替usb_partial_upgrade_to_emmc,一些低版本的uboot没有usb_partial_upgrade_to_emmc命令,这个bin2emmc就可以派上用场了。
二、系统shell方式
这种方式大家已经比较熟悉.
首先查看系统分区情况:
ls -l /dev/block/platform/mstar_mci.0/by-name

备份system:dd if=/dev/block/mmcblk0p11 of=/mnt/usb/XXXX/system.img
或者:dd if=/dev/block/platform/mstar_mci.0/by-name/system of=/mnt/usb/XXXX/system.img
恢复:dd if=/usb/mnt/XXXX/system.img of=/dev/block/mmcblk0p11
dd命令备份的文件时完整的分区文件大小,这点就不如uboot聪明了。
在系统shell下,查看各分区的精确大小:
cat /proc/partitions

这里的大小单位是block,但与uboot里不同,一个block为1024字节。
查看某分区的大小:cat /sys/block/mmcblk0/mmcblk0p3/size

这里的单位是block,但要注意是block大小又变为了512字节。
查看某分区的起始:cat /sys/block/mmcblk0/mmcblk0p3/start
**** Hidden Message *****
◆下期预告(三)系统分析◆

随心而为 发表于 2024-10-8 19:31

感谢大佬分享

罗波波 发表于 2024-10-9 09:58

注意:uboot方式备份或恢复时,如果用的是offset参数,这个参数应该是字节的偏移量,而不是直接用mmc par显示的base起始位置,因为base显示的单位是block(=512bytes)

陈冠新 发表于 2024-10-10 14:42

谢谢分享。

罗波波 发表于 2024-10-11 17:07

本人没有设置隐藏,最后3行咋就变成「回复隐藏」了。隐藏内容也没啥重要东西。

king662us 发表于 2024-10-11 18:40

感谢大佬分享

cftx2021 发表于 2024-10-14 21:41

学习学习

xtwuyou 发表于 2024-10-18 08:51

谢谢分享

我的合格 发表于 2024-10-18 17:42

66666666666

hcp1994411 发表于 2024-10-23 13:32

这算是被晨星玩明白了
页: [1] 2 3
查看完整版本: ◆串口大法就是好-酷开电视没得跑 ◆(二)系统备份