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

TV应用下载 / 资源分享区

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

综合交流 / 评测 / 活动区

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

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

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

查看: 285142|回复: 46
上一主题 下一主题
[原创]

创维E900v21E S905L2 emuelec 提取DTB 编辑DTS 以及手动ROOT的方法...

  [复制链接]
跳转到指定楼层
楼主
发表于 2021-7-6 20:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 zhafaq 于 2021-7-6 21:21 编辑

创维E900v21E S905L2 emuelec 提取DTB 编辑DTS 以及手动ROOT的方法(IPTV共存)

全程使用自带的原始固件

进入系统按设置键,密码0,确认

第一步,连接到wifi,与pc使用同一个wifi局域网

第二步,选择其他设置,光标移动到管理应用程序上,不停的按遥控器右按钮,打开usb调试,一定要确认

第三步,返回系统信息,查看网络信息,找到盒子ip 192.168.x.xxx

第四步,到pc上使用adb.exe做连接 adb connect 192.168.x.xxx 成功后输入adb shell 如果ok可以看到root@p201_iptv:/ #表示已经进入adb

的最高权限模式 此时只有adb有root权限并不是system有su的root权限

注意:如果无法看到root@p201_iptv:/ #而是xxxx@p201_iptv:/ $ 那么问题出在system/build.prop这个文件里面其中少了一条

ro.adb.secure=0 如果是1 那就拿不到adb的root权限 如果是这样 最好尝试用s905x的twrp不刷机启动U盘上的twrp-recovery.img来做文件的

修改和替换。

dtb 查看命令
cat /proc/device-tree/amlogic-dt-id
gxlx2_p291_1g

新版本的E900v21E如果要使用TTL那么
串口TTL缺少3个电阻 分别是100欧姆2个 10k欧1个 0402贴片电阻
方向:vcc-10k-100ohm-RX TX-10k-100ohm-vcc


查看分区:
root@p201_iptv:/proc # cat ntd
inand01:    400000     80000 "bootloader"
inand02:   4000000     80000 "reserved"
inand03:  30000000     80000 "cache"
inand04:    800000     80000 "env"
inand05:   2000000     80000 "logo"
inand06:   2000000     80000 "recovery"
inand07:    400000     80000 "rsv"
inand08:    800000     80000 "tee"
inand09:   2000000     80000 "crypt"
inand10:    400000     80000 "misc"
inand11:    400000     80000 "instaboot"
inand12:   2000000     80000 "boot"
inand13:   4000000     80000 "params"
inand14:    400000     80000 "skmac"
inand15:   4000000     80000 "skparam"
inand16:  30000000     80000 "skbackup"


查看block映射关系:
root@p201_iptv:/dev/block/platform/d0074000.emmc # ls -l
ls -l
lrwxrwxrwx root     root              2015-01-01 08:00 boot -> /dev/block/boot
lrwxrwxrwx root     root              2015-01-01 08:00 bootloader -> /dev/block/bootloader
drwxr-xr-x root     root              2015-01-01 08:00 by-num
lrwxrwxrwx root     root              2015-01-01 08:00 cache -> /dev/block/cache
lrwxrwxrwx root     root              2015-01-01 08:00 cobargs -> /dev/block/cobargs
lrwxrwxrwx root     root              2015-01-01 08:00 crypt -> /dev/block/crypt
lrwxrwxrwx root     root              2015-01-01 08:00 ctc -> /dev/block/ctc
lrwxrwxrwx root     root              2015-01-01 08:00 data -> /dev/block/data
lrwxrwxrwx root     root              2015-01-01 08:00 env -> /dev/block/env
lrwxrwxrwx root     root              2015-01-01 08:00 instaboot -> /dev/block/instaboot
lrwxrwxrwx root     root              2015-01-01 08:00 logo -> /dev/block/logo
lrwxrwxrwx root     root              2015-01-01 08:00 misc -> /dev/block/misc
lrwxrwxrwx root     root              2015-01-01 08:00 mmcblk0 -> /dev/block/mmcblk0
lrwxrwxrwx root     root              2015-01-01 08:00 mmcblk0boot0 -> /dev/block/mmcblk0boot0
lrwxrwxrwx root     root              2015-01-01 08:00 mmcblk0boot1 -> /dev/block/mmcblk0boot1
lrwxrwxrwx root     root              2015-01-01 08:00 mmcblk0rpmb -> /dev/block/mmcblk0rpmb
lrwxrwxrwx root     root              2015-01-01 08:00 params -> /dev/block/params
lrwxrwxrwx root     root              2015-01-01 08:00 recovery -> /dev/block/recovery
lrwxrwxrwx root     root              2015-01-01 08:00 reserved -> /dev/block/reserved
lrwxrwxrwx root     root              2015-01-01 08:00 rsv -> /dev/block/rsv
lrwxrwxrwx root     root              2015-01-01 08:00 skbackup -> /dev/block/skbackup
lrwxrwxrwx root     root              2015-01-01 08:00 skmac -> /dev/block/skmac
lrwxrwxrwx root     root              2015-01-01 08:00 skparam -> /dev/block/skparam
lrwxrwxrwx root     root              2015-01-01 08:00 system -> /dev/block/system
lrwxrwxrwx root     root              2015-01-01 08:00 tee -> /dev/block/tee




得到所有block名称:
root@p201_iptv:/dev/block/platform/d0074000.emmc # ls


boot
bootloader
by-num
cache
cobargs
crypt
ctc
data
env
instaboot
logo
misc
mmcblk0
mmcblk0boot0
mmcblk0boot1
mmcblk0rpmb
params
recovery
reserved
rsv
skbackup
skmac
skparam
system
tee


获得block的num:
root@p201_iptv:/dev/block/platform/d0074000.emmc/by-num # ls -l
ls -l
lrwxrwxrwx root     root              2015-01-01 08:00 p1 -> /dev/block/bootloader
lrwxrwxrwx root     root              2015-01-01 08:00 p10 -> /dev/block/misc
lrwxrwxrwx root     root              2015-01-01 08:00 p11 -> /dev/block/instaboot
lrwxrwxrwx root     root              2015-01-01 08:00 p12 -> /dev/block/boot
lrwxrwxrwx root     root              2015-01-01 08:00 p13 -> /dev/block/params
lrwxrwxrwx root     root              2015-01-01 08:00 p14 -> /dev/block/skmac
lrwxrwxrwx root     root              2015-01-01 08:00 p15 -> /dev/block/skparam
lrwxrwxrwx root     root              2015-01-01 08:00 p16 -> /dev/block/skbackup
lrwxrwxrwx root     root              2015-01-01 08:00 p17 -> /dev/block/system
lrwxrwxrwx root     root              2015-01-01 08:00 p18 -> /dev/block/cobargs
lrwxrwxrwx root     root              2015-01-01 08:00 p19 -> /dev/block/ctc
lrwxrwxrwx root     root              2015-01-01 08:00 p2 -> /dev/block/reserved
lrwxrwxrwx root     root              2015-01-01 08:00 p20 -> /dev/block/data
lrwxrwxrwx root     root              2015-01-01 08:00 p3 -> /dev/block/cache
lrwxrwxrwx root     root              2015-01-01 08:00 p4 -> /dev/block/env
lrwxrwxrwx root     root              2015-01-01 08:00 p5 -> /dev/block/logo
lrwxrwxrwx root     root              2015-01-01 08:00 p6 -> /dev/block/recovery
lrwxrwxrwx root     root              2015-01-01 08:00 p7 -> /dev/block/rsv
lrwxrwxrwx root     root              2015-01-01 08:00 p8 -> /dev/block/tee
lrwxrwxrwx root     root              2015-01-01 08:00 p9 -> /dev/block/crypt


开始,本机原始固件备份。


通过挂载skbackup分区 可以直接访问skbackup分区内容 里面已经有本机的updata.zip
mkdir /sdcard/skbackup
mount -t ext4 -o rw /dev/block/skbackup /mnt/sdcard/skbackup
挂载skbackup分区到sd卡的skbackup文件夹下面然后插上一个ntfs的移动硬盘可以进行如下复制备份
cp -r /mnt/sdcard/skbackup /storage/external_storage/sda1/skbackup
想要速度快,做个excel表就可以开始以下的dd备份了。


dd打包重要的启动分区用来提取dtb
dtb包含在boot分区和reserved分区
备份路径到本机


dd if=/dev/block/boot | gzip > /sdcard/boot.gz
dd if=/dev/block/bootloader | gzip > /sdcard/bootloader.gz
dd if=/dev/block/instaboot | gzip > /sdcard/instaboot.gz
dd if=/dev/block/recovery | gzip > /sdcard/recovery.gz
dd if=/dev/block/reserved | gzip > /sdcard/reserved.gz
dd if=/dev/block/skmac | gzip > /sdcard/skmac.gz
dd if=/dev/block/tee | gzip > /sdcard/tee.gz


由于本机容量不够
dd备份分区到外置的移动硬盘上的skbackup文件夹中


dd if=/dev/block/boot of=/storage/external_storage/sda1/skbackup/boot
dd if=/dev/block/bootloader of=/storage/external_storage/sda1/skbackup/bootloader
dd if=/dev/block/cache of=/storage/external_storage/sda1/skbackup/cache
dd if=/dev/block/cobargs of=/storage/external_storage/sda1/skbackup/cobargs
dd if=/dev/block/crypt of=/storage/external_storage/sda1/skbackup/crypt
dd if=/dev/block/ctc of=/storage/external_storage/sda1/skbackup/ctc
dd if=/dev/block/env of=/storage/external_storage/sda1/skbackup/env
dd if=/dev/block/instaboot of=/storage/external_storage/sda1/skbackup/instaboot
dd if=/dev/block/logo of=/storage/external_storage/sda1/skbackup/logo
dd if=/dev/block/misc of=/storage/external_storage/sda1/skbackup/misc
dd if=/dev/block/mmcblk0boot0 of=/storage/external_storage/sda1/skbackup/mmcblk0boot0
dd if=/dev/block/mmcblk0boot1 of=/storage/external_storage/sda1/skbackup/mmcblk0boot1
dd if=/dev/block/mmcblk0rpmb of=/storage/external_storage/sda1/skbackup/mmcblk0rpmb
dd if=/dev/block/params of=/storage/external_storage/sda1/skbackup/params
dd if=/dev/block/recovery of=/storage/external_storage/sda1/skbackup/recovery
dd if=/dev/block/reserved of=/storage/external_storage/sda1/skbackup/reserved
dd if=/dev/block/rsv of=/storage/external_storage/sda1/skbackup/rsv
dd if=/dev/block/skmac of=/storage/external_storage/sda1/skbackup/skmac
dd if=/dev/block/skparam of=/storage/external_storage/sda1/skbackup/skparam
dd if=/dev/block/tee of=/storage/external_storage/sda1/skbackup/tee
dd if=/dev/block/skbackup of=/storage/external_storage/sda1/skbackup/skbackup
dd if=/dev/block/system of=/storage/external_storage/sda1/skbackup/system
dd if=/dev/block/mmcblk0 of=/storage/external_storage/sda1/skbackup/mmcblk0
dd if=/dev/block/data of=/storage/external_storage/sda1/skbackup/data




获得以及编辑dtb文件适合本机emuelec

通过7z可以解压reserved.gz得到dt.img
或者通过skbackup分区内updata.zip解压得到dt.img
dt.img 在解压完全状态 可以用WinHex 对 S905L2 使用的的 gxlx2_p291_1g 进行单独提取
可以拿一个已有的gxl_p281_1g.dtb或者gxl_p212_2g_slowemmc.dtb 做对比
网上有个个人提取的gxlx_p261_1g_e900v21e.dtb可供WinHex对比学习
然后下载AMLogicTools_V6.0.0
用bin里面的dtc.exe 做dtb-dts的反编译
之后就可以用Notepad++做gxlx2_p291_1g的修改了,具体修改依旧可以参照:gxl_p281_1g.dtb或者gxl_p212_2g_slowemmc.dtb
最后用dtc 对 dts回编译到dtb就可以用了

DTC用法进入cmd到目标AMLogicTools_V6.0.0目录bin下面

DTB --》 DTS

dtc.exe -I dtb -O dts testx.dtb -o testx1.dts

DTS -》 DTB

dtc.exe -I dts -O dtb -o testx1.dtb testx1.dts


可以使用S905X的TWRP作为S905L2的recovery(并没有测试,没太多时间)
https://g---i---t---h---u---b.com/botfap/A95X-Linux-BuildEnv/tree/master/recovery
得到的recovery 改名twrp-recovery.img 然后复制到AMLogicTools_V6.0.0目录bin下面

打开cmd进入AMLogicTools_V6.0.0目录bin下面
建立文件夹twrp-recovery
通过img2simg.exe twrp-recovery.img twrp-recovery1.img转换img到可以解压状态
在通过unpackbootimg.exe twrp-recovery1.img twrp-recovery 把转码后的img解压到twrp-recovery文件内
最后可以通过7z打开twrp.img-ramdisk.gz 加压里面的文件,加压出来再用7z打开就能看到原始的twrp文件。
这里要用到的是supersu文件里面的su 99SuperSUDaemon install-recovery.sh复制出来
把su 单独复制一个出来 重命名为daemonsu
建立一个文件夹为root名字,让文件夹里面包含su daemonsu 99SuperSUDaemon install-recovery.sh四个文件
此时,还缺少一个Superuser.apk,这里可以向“ZTE破解工具箱测试版”root文件夹里面借一个过来。自行百度。到处都是可以下载的。


准备好移动硬盘(ntfs文件系统),放入root文件夹
root文件夹里面包含su daemonsu 99SuperSUDaemon install-recovery.sh Superuser.apk五个文件


以下是纯手动root命令在adb shell下面的操作配合一个拷贝了root文件夹的移动硬盘

拷贝 root文件

cp -rf /storage/external_storage/sda1/root /sdcard/

root手动过程逐条复制到adb shell命令并回车

mount -o remount,rw /system
mount -o remount,rw /dev/block/system /system
cp -rf /sdcard/root/daemonsu /system/xbin/daemonsu
chmod 0755 /system/xbin/daemonsu
cp -rf /sdcard/root/su /system/xbin/su
chmod 06755 /system/xbin/su
mkdir /system/etc/init.d
chmod 0755 /system/etc/init.d
cp -rf /sdcard/root/99SuperSUDaemon /system/etc/init.d/99SuperSUDaemon
chmod 0755 /system/etc/init.d/99SuperSUDaemon
cp -rf /sdcard/root/install-recovery.sh /system/etc/install-recovery.sh
chmod 0755 /system/etc/install-recovery.sh
/system/xbin/daemonsu --auto-daemon &

以上过程结束后
reboot

安装superSU

正常重启后不会卡画面此时再次激活usb调试模式
可以通过TvBox(旧)版本3.0.42.1 安装 superSU.apk
也可以adb shell 命令安装。
一旦安装了非认证的apk,此时原始设置里面的usb调试(adb shell再下一次启动的时候失效)
所以一定要在安装superSU.apk 的同时把 wifiadb.apk给安装了 最好附带一个 RE管理器 xxx.桌面.apk 下载市场.apk 之类的方便一点。
wifiadb.apk在TvBox里面可以下载到。


error: device offline 的 解决 方法

安装wifiadb.apk 可以通过TVbox TV助手下载区获得 解决adb连接error: device offline问题
关于error: device offline 是由于效验了安装文件不是原始文件造成的 如果想保留原始的iptv功能只能按照上面的方法拿到root才能解决

adb连接问题 中兴adb error: device offline 创维adb error: device offline 华为adb error: device offline都可以如此解决。



E900v21E的adb手动开启命令(提取自boot。boot.img和twrp-recovery.img的解包方法是一样的本来就是一个性质的东西,方法见上面)
setprop sys.start.adb 1

建立两个文件99adbd和install-recovery-2.sh

复制setprop sys.start.adb 1这句话到两个文件中可以实现
开机自动启动adb手动过程逐条复制到adb shell命令并回车

但是测试后会开机卡!!!是卡到重启不是卡死不能进系统!估计是循环冲突了。具体问题还没有分析

手动adb命令的添加
cp -rf /sdcard/root/99adbd /system/etc/init.d/99adbd
chmod 0755 /system/etc/init.d/99adbd
cp -rf /sdcard/root/install-recovery.sh /system/etc/install-recovery-2.sh
chmod 0755 /system/etc/install-recovery-2.sh

遇到卡死或者卡画面不要慌
开机后马上按遥控器左键,不停的按。然后选择镜像还原即可,返回初始状态。

软件总结:
AMLogicTools_V6.0.0
Notepad++
7-zip
WinHex

E900v21E S905L2 root 手动文件 打包 下载(专治懒人,辛苦了半天,不想被人盗用,所以不做一键root,手动root也是乐趣多多,学习也是
一种乐趣,要做一键的自己做也不难,找个现成的自己复制粘贴就行了)
E900v21E S905L2 dtb  下载(有能力的看到上文已经可以自己改了,等我改现成的,还得等等等等)
https://wwe.lanzoux.com/ijrKNr33qaj
密码:1hxw













上一篇:哪位大神帮忙修改下MAC地址,主要是checksum校验码不会计算
下一篇:联通IPTV创维E910能否刷机?换了电信的宽带,盒子没用...
推荐
发表于 2021-7-13 13:34 来自ZNDS手机版 | 只看该作者
大神,能把你的291的dtb文件分享下么?
回复 支持 2 反对 0

使用道具 举报

推荐
发表于 2023-2-13 08:26 | 只看该作者
大佬,牛牛牛牛牛
回复 支持 1 反对 0

使用道具 举报

推荐
发表于 2021-10-3 16:42 | 只看该作者
这样不行吧,安卓dtb和ee,ce,armbian都不一样吧,ee和ce内核一样,可以通用,其他的怕是不行吧
回复 支持 0 反对 1

使用道具 举报

推荐
发表于 2021-9-14 15:57 | 只看该作者
blue爱搞机 发表于 2021-8-12 09:53
大佬啊可以帮忙改一下dtb嘛,对比分析那一节没看懂呀

dtb 怎么改啊?想改啥啊?你那个可以直接用的,我附件里给你弄好dts文件了。

outgxlx-p261-2g.rar

17.68 KB, 下载次数: 56, 下载积分: 金币 -1

售价: 1 金币  [记录]

dtb-dts

回复 支持 0 反对 1

使用道具 举报

推荐
发表于 2021-8-12 09:53 | 只看该作者
大佬啊可以帮忙改一下dtb嘛,对比分析那一节没看懂呀

outgxlx-p261-2g.zip

9.75 KB, 下载次数: 33, 下载积分: 金币 -1

回复 支持 1 反对 0

使用道具 举报

推荐
发表于 2021-7-13 19:26 来自ZNDS手机版 | 只看该作者
谢谢分享!学习了
回复 支持 1 反对 0

使用道具 举报

沙发
发表于 2021-7-6 21:57 | 只看该作者
不明觉厉 这个好厉害的样子
回复 支持 反对

使用道具 举报

板凳
 楼主| 发表于 2021-7-6 22:23 | 只看该作者
买的固件其实对于盒子来说伤害很大,不同区域的固件boot.img recovery.img dt.img 都是不一样的。最**果就是盒子会有可能代码冲突造成各种卡顿,从log就能看出来。用自带原始地区的固件刷完后root-备份-精简不需要的app 可以使得盒子的性能最大化发挥,接下来会收集整理发布兼容所有盒子能用的安卓怀旧游戏模拟器。90%可以达到emuelec效果。但是不用很麻烦,也不用root。只要会用鼠标键盘,会复制粘贴就行了。
回复 支持 反对

使用道具 举报

5#
发表于 2021-7-13 14:04 来自ZNDS手机版 | 只看该作者
做适合自己机子的dtb文件都用到哪几个软件啊?
回复 支持 反对

使用道具 举报

7#
发表于 2021-7-13 19:36 来自ZNDS手机版 | 只看该作者
要是能做个视频最好了,教教我们怎么制作dtb
回复 支持 反对

使用道具 举报

8#
发表于 2021-8-3 11:26 | 只看该作者
这个技术贴不知道后面用不用的着
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-3-29 21:31 , Processed in 0.088861 second(s), 17 queries , Redis On.

Powered by Discuz!

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

© 2007-2024 ZNDS.Com

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