本帖最后由 智能小柠檬 于 2023-10-24 17:04 编辑
我这是一台山东有线的E900V21C盒子,背后信息显示是创维的。第一次刷机不会刷,卡刷选错了包,废掉了,无法重启。每次启动的时候,电视黑屏,实际上是在疯狂重启。TTL串口接入,可见内存报错,有如下跑码信息:
- BL2 Built : 15:03:51, Oct 26 2018.
- gxl gaf9186d-dirty - liqiang.hou@droid07-sz
- Board ID = 1, adc=79
- set vcck to 1070 mv
- set vddee to 1070 mv
- CPU clk: 1200MHz
- DDR3
- DDR scramble enabled
- DDR3 chl: Rank0+1 [url=home.php?mod=space&uid=103582]@[/url] 792MHz - FAIL
- DDR3 chl: Rank0 @ 792MHz - FAIL
- DDR3 chl: Rank0 16bit @ 792MHz - FAIL
- DDR init failed...
- Reset...
- GXLX2:BL1:3cfee7:42a5ae;FEAT:ADFC318C:0;POC:3;RCY:0;EMMC:0;READ:0;0.0;CHK:0;
- TE: 62372
- BL2 Built : 15:03:51, Oct 26 2018.
- gxl gaf9186d-dirty - liqiang.hou@droid07-sz
- Board ID = 1, adc=79
- set vcck to 1070 mv
- set vddee to 1070 mv
- CPU clk: 1200MHz
- DDR3
- DDR scramble enabled
- DDR3 chl: Rank0+1 @ 792MHz - FAIL
- DDR3 chl: Rank0 @ 792MHz - FAIL
- DDR3 chl: Rank0 16bit @ 792MHz - FAIL
- DDR init failed...
- Reset...
- GXLX2:BL1:3cfee7:42a5ae;FEAT:ADFC318C:0;POC:3;RCY:0;EMMC:0;READ:0;0.0;CHK:0;
- TE: 62345
- BL2 Built : 15:03:51, Oct 26 2018.
- gxl gaf9186d-dirty - liqiang.hou@droid07-sz
- Board ID = 1, adc=79
- set vcck to 1070 mv
- set vddee to 1070 mv
- CPU clk: 1200MHz
- DDR3
- DDR scramble enabled
- DDR3 chl: Rank0+1 @ 792MHz - FAIL
- DDR3 chl: Rank0 @ 792MHz - FAIL
- DDR3 chl: Rank0 16bit @ 792MHz - FAIL
- DDR init failed...
- Reset...
- GXLX2:BL1:3cfee7:42a5ae;FEAT:ADFC318C:0;POC:3;RCY:0;EMMC:0;READ:0;0.0;CHK:0;
- TE: 62390
复制代码
内存都败了,还启动个毛啊!不知道是哪里的问题。据说要线刷,可以救砖。可是一直没有成功,刷机的时候总是报告USB的某些错误。但在最后一次不抱希望的线刷中,居然成功刷入了!包为“144-湖北移动E900V21C_S905L3B_emmc_线刷包-内有主板图及短接点-语音OK【黑马固件】(亲测).zip”。
我的机器是山东有线的,所以本以为不匹配;刷机的时候也依然报错,报的是“low_power”,但计数器仍然在跑;后台ttl跑码打印出一连串的“12345”,大约一分钟打出一行;直到10分钟后,刷基软件报错,重启之后居然刷好了!不过打开系统信息,居然见到这个盒子变成了“CM211-1-CH”!我下载的包也是E900V21C啊!TNND!先这样吧,我后来有尝试线刷过别的包,刷不进去,报错,里面还是这个CM211-1-CH系统。刷包的时候,不要勾选两个擦除选项。
启动的时候连入跑码,可以看到跑码到这里停止了,本以为是卡住了,但实际上是正常的。
- BL2 Built : 13:36:55, Jun 22 2020.
- gxl g85d6ad1 - longyong.chen@droid02-sz
- Board ID = 1, adc=79
- set vcck to 1070 mv
- set vddee to 1070 mv
- CARD_3 high, old board
- CPU clk: 1200MHz
- DDR3 chl: Rank0+1 @ 792MHz - FAIL
- DDR3 chl: Rank0 @ 792MHz - FAIL
- DDR3 chl: Rank0 16bit @ 792MHz - FAIL
- DDR4 chl: Rank0+1 @ 864MHz - FAIL
- DDR4 chl: Rank0 @ 864MHz
- bist_test rank: 0 1f 00 3f 3b 1d 59 1b 00 37 3f 20 5f 1b 00 37 45 28 62 19 00 33 41 23 60 609 - PASS
- Rank0: 1024MB(auto)-2T-18
- AddrBus test pass!
- -s
- Load fip header from eMMC, src: 0x0000c200, des: 0x01400000, size: 0x00004000
- New fip structure!
- Load bl30 from eMMC, src: 0x00010200, des: 0x013c0000, size: 0x00007600
- Load bl301 from eMMC, src: 0x00018200, des: 0x01380000, size: 0x00002400
- Load bl31 from eMMC, src: 0x0001c200, des: 0x10100000, size: 0x00019600
- Load bl33 from eMMC, src: 0x00038200, des: 0x01000000, size: 0x0007b000
- NOTICE: BL3-1: v1.0(debug):361f8a7
- NOTICE: BL3-1: Built : 16:43:26, Dec 19 2018
- NOTICE: BL31: GXL normal boot!
- NOTICE: BL31: BL33 decompress pass
- [Image: gxl_v1.1.3103-9234004 2018-12-27 10:43:23 yao.zhang@droid07]
- efuse init ops = c5
- efuse init hdcp = c, cf9=7
- x2_hp_e = 0
- bl30: check_permit, count is 1
- bl30: check_permit: ok!
- chipid: 0 0 3 c c 0 6a b3 48 a0 0 c5 not ES chip
- [0.976007 Inits done]
- INFO: BL3-1: Initializing runtime services
- WARNING: No OPTEE provided by BL2 boot loader
- ERROR: Error initializing runtime service opteed_fast
- INFO: BL3-1: Preparing for EL3 exit to normal world
- INFO: BL3-1: Next image address = 0x1000000
- INFO: BL3-1: Next image spsr = 0x3c9
- DRAM:
- MMC: In: Out: Err: ## defenv_reserve
- done
- wipe_data=successful
- wipe_cache=successful
- upgrade_step=2
- [BL31]: tee size: 0
- rebootmode=normal
- OK
- OK
- OK
- [ 0.000000@0] Initializing cgroup subsys cpu
- [ 0.000000@0] Initializing cgroup subsys cpuacct
- [ 0.000000@0] Linux version 3.14.29 (jenkins@ubuntu) (gcc version 4.9.2 20140 904 (prerelease) (crosstool-NG linaro-1.13.1-4.9-2014.09 - Linaro GCC 4.9-2014.0 9) ) #1 SMP PREEMPT Wed Mar 31 18:36:24 CST 2021
- [ 0.000000@0] CPU: ARMv71 Processor [410fd034] revision 4
- [ 0.000000@0] no prop version_code
- [ 0.000000@0] bootconsole [earlycon0] enabled
- get_dvfs_info 0001
- INFO: HDCP22 key read fail!
- INFO: p1d 0
- INFO: pd1 0
- Login: [BL31]: tee size: 0
- [BL31]: tee size: 0
- [BL31]: tee size: 0
- [BL31]: tee size: 0
- WARNING: Unimplemented Sip Call: 0x82000036
- start detecting wifi&Bt......
- wifi detected: uwe5621
复制代码
本以为是卡在这里了,但是居然这是正常的!敲击几下回车,会进入登录:
- start detecting wifi&Bt......
- wifi detected: uwe5621
- Login:
- Login:
- Login:
- Login:
- Login:
复制代码
登录为root试试,居然能登录进去!密码网上查,可以搜到!不愿搜可以看下面:
输入用户名root,密码chcmccch,居然进入了Root用户!
刷了上述这个包之后,系统是没有root的,也找不到一个root包可以刷,于是手动root吧,因为已经能从ttl拿到root权限了!
下面有些信息是从网上搜的,具体哪里不太清楚了,先向原作者致意表示感谢!
首先用 cat /proc/mounts 命令查看结果如下: - root@p201_iptv:/system/bin # cat /proc/mounts
- rootfs / rootfs ro 0 0 -------------Read Only!
- tmpfs /dev tmpfs rw,nosuid,relatime,mode=755 0 0
- devpts /dev/pts devpts rw,relatime,mode=600 0 0
- proc /proc proc rw,relatime 0 0
- sysfs /sys sysfs rw,relatime 0 0
- debugfs /sys/kernel/debug debugfs rw,relatime 0 0
- configfs /sys/kernel/config configfs rw,relatime 0 0
- none /acct cgroup rw,relatime,cpuacct 0 0
- none /sys/fs/cgroup tmpfs rw,relatime,mode=750,gid=1000 0 0
- tmpfs /mnt/asec tmpfs rw,relatime,mode=755,gid=1000 0 0
- tmpfs /mnt/obb tmpfs rw,relatime,mode=755,gid=1000 0 0
- none /dev/cpuctl cgroup rw,relatime,cpu 0 0
- tmpfs /tmp tmpfs rw,relatime 0 0
- tmpfs /tmp/playInfoLog tmpfs rw,relatime 0 0
- tmpfs /tmp/capture tmpfs rw,relatime 0 0
- tmpfs /storage/external_storage tmpfs rw,relatime,mode=775,uid=1000,gid=1023 0 0
- /dev/block/system /system ext4 ro,nosuid,nodev,noatime,nodiratime,noauto_da_alloc,data=ordered 0 0 ----------------Read Only!
- /dev/block/cache /cache ext4 rw,nosuid,nodev,noatime,nodiratime,nodelalloc,noauto_da_alloc,data=ordered 0 0
- /dev/block/data /data ext4 rw,nosuid,nodev,noatime,nodiratime,discard,nodelalloc,noauto_da_alloc,data=ordered 0 0
- /dev/block/params /params ext4 rw,nosuid,nodev,noatime,nodiratime,nodelalloc,noauto_da_alloc,data=ordered 0 0
- /dev/fuse /mnt/shell/emulated fuse rw,nosuid,nodev,relatime,user_id=1023,group_id=1023,default_permissions,allow_other 0 0
- /dev/block/zram0 /swap_zram0 ext2 rw,relatime,errors=continue 0 0
- adb /dev/usb-ffs/adb functionfs rw,relatime 0 0
- /dev/block/vold/8:1 /storage/external_storage/sda1 vfat rw,dirsync,nosuid,nodev,noexec,relatime,gid=1015,fmask=0002,dmask=0002,allow_utime=0020,codepage=437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0
- root@p201_iptv:/system/bin #
复制代码 里面有两处是我标了Read Only的地方。
在上图中,可以看到,“/”根目录和“/system”目录,都被挂载成”ro“只读模式,其他的文件系统都挂载成”rw“读写模式,这就导致了在这两个目录下无法创建和复制文件。同时在上图中也可以看到根目录对应的设备文件为“rootfs”,"/system"目录对应的设备文件为“/dev/block/system”,把这两个设备文件重新挂载成“rw”可读写模式即可,执行以下命令:
- 1.
- /*把根目录挂载成可读写模式*/
- mount -o rw,remount rootfs /
- 2.
- /*把"/system"目录挂载成可读写模式*/
- mount -o rw,remount -t ext4 /dev/block/system /system
复制代码
然后从这里(“简单的方式给机顶盒添加root权限/电视盒子ROOT-简单的方式给机顶盒添加root权限/电视盒子ROOT 很多人总喜欢要加个root权限,好像不加就总吃不饱睡不欢一样 提权虽然是方便了,但带来的风险也几何级增加,不建议一般用户开启,... (xgiu.com)”)下载到了su文件,然后将其放进了/system/bin,又往/system/xbin里面拷贝了一份,再往/system/xbin里拷贝一份,这次命名为daemonsu。这三个文件都加了06755的权限。
此时执行“/system/xbin/daemonsu --auto-daemon &”盒子就root了,但重启之后root消失,因为没有地方执行这一句。
费了更大的周折要把这一句塞到哪个脚本里面去,结果btplay.sh不起作用;install_recovery.sh不存在,即便创建了写进去也无效。。。
最后,在root的状态下,用supersu.apk解决了root问题。运行supersu.apk时会报告要更新su文件,选择常规方式即可完成root;如果选用另一种方式,盒子重启会进入紧急恢复模式,不知道后续应该如何操作,看起来心惊胆战,因此重新选择常规模式,然后就root了。
至此这个盒子就刷完了也root完了。
暂时记录到这里吧,结局应该是很解压的了。如果有想要深入了解过程中某些细节的,我们私下再交流吧!
|