总之,就是fastboot损坏。fastboot位于eMMC的第一个分区,使用ttl烧入即可。没有ttl环境可以通过以下方法解决:
1、u盘启动(在u盘中放fastboot.bin 大小312kb 。j16/j15等各种强刷包中找,部分包update.zip中的fastboot-qfp.img改名过来也可,注意大小)
2、在系统中打开“远程维护”
3、adb操作: " adb dd if=/mnt/sda/sda1/fastboot.img of=/dev/block/mmcblk0p1 " 刷入u盘的fastboot.img ,这个文件在update.zip中可以找到 ,大小一定是1M,文件名fastboot.img 或 fastboot.bin 。
另外:众多的人被强刷包所累,其实强刷包一刷就搞掉你的fb分区,让你欲哭无泪。技术上解决之道其实非常简单,分区结构可以从update.zip 中boot.img / fastboot.img /bootargs.img 等文件中找到(使用winhex打开这件文件就可以找这些内容,所以那个xml分区文件谁都可以做出来。分区的真实结构也可以从adb或telnet/ssh中用 cat /proc/partitions 获取。) 如果盒子可以开机并有root权限,使用hitool远不如dd命令来得方便,直观简单有效,想动哪个区就动哪个区。
我在多数img文件中找到分区信息(用winhex打开相关的img文件):
coherent_pool=2M console=ttyAMA0,115200 blkdevparts=mmcblk0:1M(fastboot),4M(bootargs),16M(recovery),1M(deviceinfo),4M(baseparam),4M(pqparam),4M(logo),16M(fastplay),8M(misc),24M(factory),12M(kernel),8M(iptv_data),340M(backup),340M(cache),520M(system),-(userdata)
我在sh中看到的分区情况:
u0_a33@Hi3798MV100:/ $ cat /proc/partitions
major minor #blocks name
179 0 7634944 mmcblk0 -----8G emmc
179 1 1024 mmcblk0p1 ---fastboot
179 2 4096 mmcblk0p2 ---bootargs
179 3 16384 mmcblk0p3 ---recovery
179 4 1024 mmcblk0p4 -----deviceinfo
179 5 4096 mmcblk0p5 ---baseparam
179 6 4096 mmcblk0p6 -----pqparam
179 7 4096 mmcblk0p7 ---logo
259 0 16384 mmcblk0p8 ---fastplay
259 1 8192 mmcblk0p9 ---misc
259 2 24576 mmcblk0p10 -----factory
259 3 12288 mmcblk0p11 ----kernel
259 4 8192 mmcblk0p12 -----iptv_data
259 5 348160 mmcblk0p13 ----backup
259 6 348160 mmcblk0p14 -----cache
259 7 532480 mmcblk0p15 ----system
259 8 6301696 mmcblk0p16 ----用户区
179 16 4096 mmcblk0boot1
179 8 4096 mmcblk0boot0
179 24 3870720 mmcblk1
179 25 3869696 mmcblk1p1
有点linux基础的人一看就知道怎么玩了。使用dd命令可以清数据、备份、或刷写指定分区。
dd if=/dev/zero of=/dev/block/mmcblk0p14 就是清除cache分区
dd if=/mnt/sdcard/logo.img of=/dev/block/mmcblk0p7 就是刷入自定义的开机画面
dd if=/dev/block/mmcblk0p15 of=/mnt/sda/sda1/system.img 就是备分system到U盘的system.img
|