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

TV应用下载 / 资源分享区

软件下载 | 游戏 | 讨论 | 电视计算器

综合交流 / 评测 / 活动区

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

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

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

查看: 584956|回复: 291
[分享]

魔百盒----盘盒小记(切换IPTV桌面/开启ADBD//备份修改boot分区)

  [复制链接]
发表于 2019-4-26 20:12 | 显示全部楼层 |阅读模式
本帖最后由 wx69wx 于 2019-4-26 20:36 编辑

      家里机顶盒又换成了移动的魔百盒cm101s-2,不能安装第三方应用,不爽之,所以就有了如下的折腾之旅。首先要感谢坛子各大佬帖子的指引才有此文。
     1、安装当贝桌面
      根据论坛帖子搜索,盒子没有打开ADB的隐藏开关,只能通过TTL线调试,正好手头有根USB转RS232的线,想着能否通用,所以拆开按引脚定义接了下盒子,结果发现PUTTY 跑码是乱码,试了多种码率都不行,上网一查才知道USB/RS232/TTL电平逻辑是不一样的,中间需要转换芯片,所以最后还是买了根USB TO TTL线,PUTTY跑马正常了。然后安装上当贝桌面等应用。
      2、切换IPTV桌面与当贝桌面
        进IPTV是无法返回当贝的,参照之前的做法 https://www.znds.com/forum.php?mod=viewthread&tid=975562
        找到一个启动会执行的脚本etc/init.bigfish.sh(init.rc----init.bigfish.rc----init.bigfish.sh)
         添加如下代码
  • while [ 1 ]
  • do
  •         rm_code=`getevent -c 1 /dev/input/event0`
  •         if [ "$rm_code" = "0001 02f2 00000000" ] ; then
  •            print $rm_code
  •            am start -n com.dangbei.tvlauncher/com.dangbei.tvlauncher.IndexActivity
  •        start   adbd
  •        fi
  • done
          这里说下如何找到自己的切屏热键码,在TTL调试环境下输入 getevent  然后遥控器按一下自己想设置的切屏键(注意是没有用或很少用的,比如我选择的是“应用”这个按键,然后就可以看见事件和按键码,如我的 /dev/input/event0 和
0001 02f2 00000000,然后可以用getevent -c 1 /dev/input/event0测试,看看返回的是否对。

          做完上面的事情后发现要调试盒子,每次都要拆机接TTL线太麻烦,所以灵机一动,直接在上面代码里添加start adbd不就解决了,然后就可以用笔记本 adb connect  XXXX(盒子IP):5114 调试了(注:我的盒子是已在init.rc里定义了端口号5114,如下

on boot
setprop service.adb.tcp.port 5114

stop adbd

如init.rc里没定义,也可在上面的按键代码start adbd前增加setprop service.adb.tcp.port YYYY(自定义端口)
          至此,我们完成了切屏和启动ADB的热键功能。
         
        3、制作分区表和备份boot分区
           上面总觉得没玩过瘾,如果能直接更改init.rc最好,以前修改过发现不行,上网搜索只能烧录(部分分区是烧录的,直接修改无效,比如fastboot/boot(kernel)等,而system/data重新挂载为读写,是可以直接修改的
,这时刚好看到大佬的帖子https://www.znds.com/forum.php?mod=viewthread&tid=1139749&page=

于是下载了HITOOL研究(我下了最新版5.0.27,稍后共享),首先我们没有分区表文件,使用帖子的办法居然失败,原因是我的TTL跑马里根本没有各分区信息。只能自己琢磨了,终于找到办法如下:
root@Hi3798MV100:/ # cat /proc/partitions           可以等到各分区大小(第3列数据)
major minor  #blocks  name

179        0    7570432 mmcblk0                总的大小
179        1       1024 mmcblk0p1              如:第一个分区大小1M
179        2       1024 mmcblk0p2
179        3      10240 mmcblk0p3
179        4       2048 mmcblk0p4
179        5       8192 mmcblk0p5
179        6       8192 mmcblk0p6
179        7      20480 mmcblk0p7
259        0      20480 mmcblk0p8
259        1      35840 mmcblk0p9
。。。。

   然后显示 /dev/block/platform/hi_mci.1/by-name目录下内容,可以得到各分区的名称。
root@Hi3798MV100:/dev/block/platform/hi_mci.1/by-name # ls -al
lrwxrwxrwx root     root              1970-01-01 08:00 baseparam -> /dev/block/mmcblk0p5
lrwxrwxrwx root     root              1970-01-01 08:00 bootargs -> /dev/block/mmcblk0p2
lrwxrwxrwx root     root              1970-01-01 08:00 cache -> /dev/block/mmcblk0p20
lrwxrwxrwx root     root              1970-01-01 08:00 deviceinfo -> /dev/block/mmcblk0p4
lrwxrwxrwx root     root              1970-01-01 08:00 fastboot -> /dev/block/mmcblk0p1
lrwxrwxrwx root     root              1970-01-01 08:00 fastplay -> /dev/block/mmcblk0p9
lrwxrwxrwx root     root              1970-01-01 08:00 fastplaybak -> /dev/block/mmcblk0p10
lrwxrwxrwx root     root              1970-01-01 08:00 hibdrv -> /dev/block/mmcblk0p15
lrwxrwxrwx root     root              1970-01-01 08:00 kernel -> /dev/block/mmcblk0p12
lrwxrwxrwx root     root              1970-01-01 08:00 logo -> /dev/block/mmcblk0p7
lrwxrwxrwx root     root              1970-01-01 08:00 logobak -> /dev/block/mmcblk0p8
lrwxrwxrwx root     root              1970-01-01 08:00 misc -> /dev/block/mmcblk0p13
。。。。。

后来在研究HITOOL备份和烧录时又找到了第二种方法:
在TTL连接启动过程中,putty里跑马时按CTRL+C,启动会中断在fastboot模式下,输入help有多个命令使用,其中printenv就可以看到分区信息,如下:
fastboot# printenv
bootdelay=0
verify=n
baudrate=115200
ipaddr=192.168.1.10
serverip=192.168.1.1
netmask=255.255.255.0
bootfile="uImage"
phy_intf=mii,rgmii
use_mdio=0,1
phy_addr=2,1
gmac_debug=0
bootcmd=mmc read 0 0x1FFBFC0 0x4B000 0x5000; bootm 0x1FFBFC0
bootargs=console=ttyAMA0,115200 lpj=974848 quiet blkdevparts=mmcblk0:1M(fastboot),1M(bootargs),10M(recovery),2M(deviceinfo),8M(baseparam),8M(pqparam),20M(logo),20M(logobak),35M(fastplay),35M(fastplaybak),10M(ystinfo),40M(kernel),20M(misc),8M(userapi),8M(hibdrv),8M(qbflag),300M(qbdata),800M(system),2048M(userdata),500M(cache),50M(private),-(sdcard)
      我们的boot分区根据经验就是kernel,先备份下,备份方法有很多,比如
    cat   /dev/block/platform/hi_mci.1/by-name/kernel  > boot.img
    dd if=/dev/block/mmcblk0p12 of=/mnt/sdcard/boot.img   
     hitool的上载备份
     在使用HITOOL上载和烧录功能时,我被制裁了,使用网口方式怎么都不成功,老是显示TTTTT (网络未连接), 使用串口方式可以,但那个慢啊,毕竟时115200bps(换算出来也就10K/S左右),后来终于解决了,折腾过程就不说了,提醒各位同学如下:
a、一定要使用网线连接,不要用WiFi  (否则双方都ping不通)
b、一定要关闭笔记本的windows防火墙(因为备份烧录过程时由机顶盒连接PC,所以检查PC能否ping通机顶盒没用,需要机顶盒ping通PC)
重要的事情要说三遍。

            4、修改boot分区
           boot映像并不是一个完整的文件系统,是一种android自定义的文件格式,该格式包括了2K的文件头,后面紧跟着是用gzip压缩过的内核,再后面是一个ramdisk内存盘等等
            之前因为玩过手机,感觉机顶盒和手机差不多,所以该祭出大杀器bootimg工具了(稍后共享),前面备份好kernel分区(boot.img), 将他放在bootimg工具目录下,使用命令bootimg --unpack-bootimg 解包后可以得到initd文件夹,现在我们可以自由修改init.rc 了,比如etc下新建user.sh, 添加上面的切屏按键代码,然后在init.rc末尾添加
            
  • service usersh /system/etc/user..sh
  •     class main
  •     user root
  •     group root

         修改好后,在使用命令bootimg   --repack-bootimg打包成新镜像文件(注:文件大小会变小很多,对比原景象文件,是原景象要凑齐分区大小,末尾都是0,所以不影响使用),直接用hitool 烧录即可。
          注:同学如有兴趣,也可以进入fastboot模式,研究使用手动tftp命令烧录

文中提到的HITOOL-STB- 5.0.27和bootimg工具百度网盘链接如下:
链接:https://pan.baidu.com/s/16BPGqnIJQ3_CRz9YFyMQRg
提取码:hpx5

   

评分

参与人数 4威望 +9 金币 +23 Z币 +1 收起 理由
wx_QRw0DG93 + 1 + 5 强大的ZNDS智能电视网!
桥大叔 + 6 开门,社区送温暖...
撇捺 + 4 + 8 ZNDS论坛有你更精彩,一起愉快的搞机吧!.
eswgdeh + 4 + 4 + 1 ZNDS论坛有你更精彩,一起愉快的搞机吧!.

查看全部评分


上一篇:魔百盒cm101s无法待机
下一篇:小爱触屏音箱安装软件 求助大神
发表于 2019-4-27 17:20 | 显示全部楼层
回复 支持 1 反对 0

使用道具 举报

发表于 2019-4-27 10:22 | 显示全部楼层
高手在当贝啊!这次真的长见识了
回复 支持 反对

使用道具 举报

发表于 2019-4-27 10:35 | 显示全部楼层
谢谢分享楼主
回复 支持 反对

使用道具 举报

发表于 2019-4-27 10:51 | 显示全部楼层
先把机器刷成砖,再把砖头刷成机器,我都佩服自己在ZNDS学到的刷机技术!
回复 支持 反对

使用道具 举报

发表于 2019-4-27 11:48 来自ZNDS手机版 | 显示全部楼层
有料,收藏!
回复 支持 反对

使用道具 举报

发表于 2019-4-28 13:19 | 显示全部楼层
高手在当贝啊!学习了
回复 支持 反对

使用道具 举报

发表于 2019-4-28 13:27 | 显示全部楼层
高手在当贝啊!学习了
回复 支持 反对

使用道具 举报

发表于 2019-4-28 16:02 | 显示全部楼层
cat   /dev/block/platform/hi_mci.1/by-name/kernel  > boot.img
回复 支持 反对

使用道具 举报

发表于 2019-4-28 16:19 来自ZNDS手机版 | 显示全部楼层
厉害了
回复 支持 反对

使用道具 举报

头像被屏蔽
发表于 2019-4-28 16:27 | 显示全部楼层
先把机器刷成砖,再把砖头刷成机器,我都佩服自己在ZNDS学到的刷机技术!
回复 支持 反对

使用道具 举报

发表于 2019-4-28 16:27 | 显示全部楼层
这个有点厉害了
回复 支持 反对

使用道具 举报

发表于 2019-4-28 16:28 | 显示全部楼层
专业级别的老师感谢分享
回复 支持 反对

使用道具 举报

发表于 2019-4-28 19:00 | 显示全部楼层
高手在当贝啊!学习了
回复 支持 反对

使用道具 举报

发表于 2019-4-28 22:46 来自ZNDS手机版 | 显示全部楼层
(切换IPTV桌面/开启ADBD//备份修改boot分区)
回复 支持 反对

使用道具 举报

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

本版积分规则

Archiver|新帖|标签|软件|Sitemap|ZNDS智能电视网 ( 苏ICP备2023012627号 )

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

GMT+8, 2024-3-28 17:50 , Processed in 0.074252 second(s), 14 queries , Redis On.

Powered by Discuz!

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

© 2007-2024 ZNDS.Com

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