|
本帖最后由 zhafaq 于 2021-7-6 21:21 編輯
創(chuàng)維E900v21E S905L2 emuelec 提取DTB 編輯DTS 以及手動(dòng)ROOT的方法(IPTV共存)
全程使用自帶的原始固件。
進(jìn)入系統(tǒng)按設(shè)置鍵,密碼0,確認(rèn)
第一步,連接到wifi,與pc使用同一個(gè)wifi局域網(wǎng)
第二步,選擇其他設(shè)置,光標(biāo)移動(dòng)到管理應(yīng)用程序上,不停的按遙控器右按鈕,打開(kāi)usb調(diào)試,一定要確認(rèn)
第三步,返回系統(tǒng)信息,查看網(wǎng)絡(luò)信息,找到盒子ip 192.168.x.xxx
第四步,到pc上使用adb.exe做連接 adb connect 192.168.x.xxx 成功后輸入adb shell 如果ok可以看到root@p201_iptv:/ #表示已經(jīng)進(jìn)入adb
的最高權(quán)限模式 此時(shí)只有adb有root權(quán)限并不是system有su的root權(quán)限
注意:如果無(wú)法看到root@p201_iptv:/ #而是xxxx@p201_iptv:/ $ 那么問(wèn)題出在system/build.prop這個(gè)文件里面其中少了一條
ro.adb.secure=0 如果是1 那就拿不到adb的root權(quán)限 如果是這樣 最好嘗試用s905x的twrp不刷機(jī)啟動(dòng)U盤(pán)上的twrp-recovery.img來(lái)做文件的
修改和替換。
dtb 查看命令
cat /proc/device-tree/amlogic-dt-id
gxlx2_p291_1g
新版本的E900v21E如果要使用TTL那么
串口TTL缺少3個(gè)電阻 分別是100歐姆2個(gè) 10k歐1個(gè) 0402貼片電阻
方向:vcc-10k-100ohm-RX TX-10k-100ohm-vcc
查看分區(qū):
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映射關(guān)系:
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
開(kāi)始,本機(jī)原始固件備份。
通過(guò)掛載skbackup分區(qū) 可以直接訪問(wèn)skbackup分區(qū)內(nèi)容 里面已經(jīng)有本機(jī)的updata.zip
mkdir /sdcard/skbackup
mount -t ext4 -o rw /dev/block/skbackup /mnt/sdcard/skbackup
掛載skbackup分區(qū)到sd卡的skbackup文件夾下面然后插上一個(gè)ntfs的移動(dòng)硬盤(pán)可以進(jìn)行如下復(fù)制備份
cp -r /mnt/sdcard/skbackup /storage/external_storage/sda1/skbackup
想要速度快,做個(gè)excel表就可以開(kāi)始以下的dd備份了。
dd打包重要的啟動(dòng)分區(qū)用來(lái)提取dtb
dtb包含在boot分區(qū)和reserved分區(qū)
備份路徑到本機(jī)
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
由于本機(jī)容量不夠
dd備份分區(qū)到外置的移動(dòng)硬盤(pán)上的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文件適合本機(jī)emuelec
通過(guò)7z可以解壓reserved.gz得到dt.img
或者通過(guò)skbackup分區(qū)內(nèi)updata.zip解壓得到dt.img
dt.img 在解壓完全狀態(tài) 可以用WinHex 對(duì) S905L2 使用的的 gxlx2_p291_1g 進(jìn)行單獨(dú)提取
可以拿一個(gè)已有的gxl_p281_1g.dtb或者gxl_p212_2g_slowemmc.dtb 做對(duì)比
網(wǎng)上有個(gè)個(gè)人提取的gxlx_p261_1g_e900v21e.dtb可供WinHex對(duì)比學(xué)習(xí)
然后下載AMLogicTools_V6.0.0
用bin里面的dtc.exe 做dtb-dts的反編譯
之后就可以用Notepad++做gxlx2_p291_1g的修改了,具體修改依舊可以參照:gxl_p281_1g.dtb或者gxl_p212_2g_slowemmc.dtb
最后用dtc 對(duì) dts回編譯到dtb就可以用了
DTC用法進(jìn)入cmd到目標(biāo)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(并沒(méi)有測(cè)試,沒(méi)太多時(shí)間)
https://g---i---t---h---u---b.com/botfap/A95X-Linux-BuildEnv/tree/master/recovery得到的recovery 改名twrp-recovery.img 然后復(fù)制到AMLogicTools_V6.0.0目錄bin下面
打開(kāi)cmd進(jìn)入AMLogicTools_V6.0.0目錄bin下面
建立文件夾twrp-recovery
通過(guò)img2simg.exe twrp-recovery.img twrp-recovery1.img轉(zhuǎn)換img到可以解壓狀態(tài)
在通過(guò)unpackbootimg.exe twrp-recovery1.img twrp-recovery 把轉(zhuǎn)碼后的img解壓到twrp-recovery文件內(nèi)
最后可以通過(guò)7z打開(kāi)twrp.img-ramdisk.gz 加壓里面的文件,加壓出來(lái)再用7z打開(kāi)就能看到原始的twrp文件。
這里要用到的是supersu文件里面的su 99SuperSUDaemon install-recovery.sh復(fù)制出來(lái)
把su 單獨(dú)復(fù)制一個(gè)出來(lái) 重命名為daemonsu
建立一個(gè)文件夾為root名字,讓文件夾里面包含su daemonsu 99SuperSUDaemon install-recovery.sh四個(gè)文件
此時(shí),還缺少一個(gè)Superuser.apk,這里可以向“ZTE破解工具箱測(cè)試版”root文件夾里面借一個(gè)過(guò)來(lái)。自行百度。到處都是可以下載的。
準(zhǔn)備好移動(dòng)硬盤(pán)(ntfs文件系統(tǒng)),放入root文件夾
root文件夾里面包含su daemonsu 99SuperSUDaemon install-recovery.sh Superuser.apk五個(gè)文件
以下是純手動(dòng)root命令在adb shell下面的操作配合一個(gè)拷貝了root文件夾的移動(dòng)硬盤(pán)
拷貝 root文件
cp -rf /storage/external_storage/sda1/root /sdcard/
root手動(dòng)過(guò)程逐條復(fù)制到adb shell命令并回車(chē)
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 &
以上過(guò)程結(jié)束后
reboot
安裝superSU
正常重啟后不會(huì)卡畫(huà)面此時(shí)再次激活usb調(diào)試模式
可以通過(guò)TvBox(舊)版本3.0.42.1 安裝 superSU.apk
也可以adb shell 命令安裝。
一旦安裝了非認(rèn)證的apk,此時(shí)原始設(shè)置里面的usb調(diào)試(adb shell再下一次啟動(dòng)的時(shí)候失效)
所以一定要在安裝superSU.apk 的同時(shí)把 wifiadb.apk給安裝了 最好附帶一個(gè) RE管理器 xxx.桌面.apk 下載市場(chǎng).apk 之類的方便一點(diǎn)。
wifiadb.apk在TvBox里面可以下載到。
error: device offline 的 解決 方法
安裝wifiadb.apk 可以通過(guò)TVbox TV助手下載區(qū)獲得 解決adb連接error: device offline問(wèn)題
關(guān)于error: device offline 是由于效驗(yàn)了安裝文件不是原始文件造成的 如果想保留原始的iptv功能只能按照上面的方法拿到root才能解決
adb連接問(wèn)題 中興adb error: device offline 創(chuàng)維adb error: device offline 華為adb error: device offline都可以如此解決。
E900v21E的adb手動(dòng)開(kāi)啟命令(提取自boot。boot.img和twrp-recovery.img的解包方法是一樣的本來(lái)就是一個(gè)性質(zhì)的東西,方法見(jiàn)上面)
setprop sys.start.adb 1
建立兩個(gè)文件99adbd和install-recovery-2.sh
復(fù)制setprop sys.start.adb 1這句話到兩個(gè)文件中可以實(shí)現(xiàn)
開(kāi)機(jī)自動(dòng)啟動(dòng)adb手動(dòng)過(guò)程逐條復(fù)制到adb shell命令并回車(chē)
但是測(cè)試后會(huì)開(kāi)機(jī)卡?。。∈强ǖ街貑⒉皇强ㄋ啦荒苓M(jìn)系統(tǒng)!估計(jì)是循環(huán)沖突了。具體問(wèn)題還沒(méi)有分析
手動(dòng)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
遇到卡死或者卡畫(huà)面不要慌
開(kāi)機(jī)后馬上按遙控器左鍵,不停的按。然后選擇鏡像還原即可,返回初始狀態(tài)。
軟件總結(jié):
AMLogicTools_V6.0.0
Notepad++
7-zip
WinHex
E900v21E S905L2 root 手動(dòng)文件 打包 下載(專治懶人,辛苦了半天,不想被人盜用,所以不做一鍵root,手動(dòng)root也是樂(lè)趣多多,學(xué)習(xí)也是
一種樂(lè)趣,要做一鍵的自己做也不難,找個(gè)現(xiàn)成的自己復(fù)制粘貼就行了)
E900v21E S905L2 dtb 下載(有能力的看到上文已經(jīng)可以自己改了,等我改現(xiàn)成的,還得等等等等)
https://wwe.lanzoux.com/ijrKNr33qaj
密碼:1hxw
|
上一篇: 哪位大神幫忙修改下MAC地址,主要是checksum校驗(yàn)碼不會(huì)計(jì)算下一篇: 聯(lián)通IPTV創(chuàng)維E910能否刷機(jī)?換了電信的寬帶,盒子沒(méi)用...
|