最近有不少人問我家里的小米電視root需要做哪些準(zhǔn)備工作?哪些是作為一個新手最需要準(zhǔn)備的,今天就給大家做一個2024小米電視刷機(jī)詳細(xì)教程。
一、小米電視root需要做哪些準(zhǔn)備工作?2024小米電視刷機(jī)詳細(xì)教程
注意:這不是 root 電視的完整教程,,但是包含了進(jìn)入電視系統(tǒng)底層的各種準(zhǔn)備工作. 能夠進(jìn)入電視系統(tǒng)底層之后, 任何有 magisk 使用經(jīng)驗(yàn)的人都可以輕松實(shí)現(xiàn) root.
測試設(shè)備: 小米電視 A43 pro (L43MA-AP) (2023 年上市)
警告 (免責(zé)聲明): 操作有風(fēng)險(xiǎn), 包括但不限于數(shù)據(jù)丟失, 設(shè)備損壞, 失去保修等,所以大家需要謹(jǐn)慎刷機(jī)。
1.來源
本文使用的各種方法并非原創(chuàng), 而是主要來自于以下幾篇文章:
(ZNDS 智能電視網(wǎng)) 教程&攻略 2022新款小米電視(安卓6以上)硬核root教程(需要USB轉(zhuǎn)TTL) http://ktgpgw.cn/tv-1228229-1-1.html
(ZNDS 智能電視網(wǎng)) 教程&攻略 小米電視硬核root教程(需要USB轉(zhuǎn)TTL硬件工具) http://ktgpgw.cn/tv-1203308-1-1.html
2.啟用adb并安裝apk
本章所需硬件設(shè)備: 小米電視, 小米電視的遙控器, PC (臺式機(jī)或筆記本), 本地局域網(wǎng)絡(luò) (有線以太網(wǎng)或無線 WIFI)。
2.1 正常開機(jī), 先看一下系統(tǒng)信息
小米電視root需要做哪些準(zhǔn)備工作.png (94.8 KB, 下載次數(shù): 13)
下載附件
保存到相冊
2024-7-8 13:02 上傳
進(jìn)入電視設(shè)置
小米電視root需要做哪些準(zhǔn)備工作2.png (89.38 KB, 下載次數(shù): 9)
下載附件
保存到相冊
2024-7-8 13:03 上傳
關(guān)于: MIUI TV 版本: MiTV OS 2.8.2129 (穩(wěn)定版)
小米電視root需要做哪些準(zhǔn)備工作3.png (35.05 KB, 下載次數(shù): 12)
下載附件
保存到相冊
2024-7-8 13:03 上傳
設(shè)備信息: 屏幕參數(shù) 3840x2160 43英寸, 存儲 內(nèi)存 2GB 閃存 32GB, 無線連接 2.4GHz/5GHz 藍(lán)牙, 操作系統(tǒng) Android.
小米電視root需要做哪些準(zhǔn)備工作4.png (95.46 KB, 下載次數(shù): 12)
下載附件
保存到相冊
2024-7-8 13:03 上傳
存儲空間: 共 30536MB, 系統(tǒng) 4446MB.
2.2 在設(shè)置中的【關(guān)于】頁面找到產(chǎn)品型號 (MiTV):
小米電視root需要做哪些準(zhǔn)備工作5.png (94.53 KB, 下載次數(shù): 10)
下載附件
保存到相冊
2024-7-8 13:08 上傳
選中 產(chǎn)品型號 然后連續(xù)多次點(diǎn)擊遙控器上的 確認(rèn) 按鍵, 即可進(jìn)入 開發(fā)者模式.
2.3 在設(shè)置中的 帳號與安全 頁面, 將 ADB調(diào)試 選項(xiàng)打開:
小米電視root需要做哪些準(zhǔn)備工作6.png (88.86 KB, 下載次數(shù): 12)
下載附件
保存到相冊
2024-7-8 13:08 上傳
ADB 調(diào)試這個開關(guān)只有在上一步開啟開發(fā)者模式后才會出現(xiàn). 并且每次重啟之后, 這個選項(xiàng)都會自動關(guān)閉
2.4 通過有線以太網(wǎng)或無線 wifi 將設(shè)備聯(lián)網(wǎng), 然后看一下設(shè)備的 IP 地址 (下圖已打馬):
小米電視root需要做哪些準(zhǔn)備工作7.png (84.23 KB, 下載次數(shù): 10)
下載附件
保存到相冊
2024-7-8 13:09 上傳
比如此處設(shè)備的 IP 地址是 192.168.33.121 注意, 只需要將設(shè)備連接至本地局域網(wǎng), 能夠通過 DHCP 獲取 IP 地址即可, 無需連接互聯(lián)網(wǎng) (Internet).
2.5 在 PC (臺式機(jī)或筆記本) 上安裝 adb工具, 然后執(zhí)行命令: - > adb connect 192.168.33.121
- connected to 192.168.33.121:5555
- > adb devices
- List of devices attached
- 192.168.33.121:5555 device
復(fù)制代碼
需要在電視上使用遙控器同意 adb 調(diào)試. 此時就成功通過 adb 連接到了電視!
2.6 在 PC 上使用 adb 安裝 apk, 比如 - adb install aida64-v198.apk
復(fù)制代碼 重復(fù)使用這個命令, 就可以安裝多個應(yīng)用
如果安裝命令執(zhí)行成功后, 沒有顯示出應(yīng)用圖標(biāo), 可以重啟電視
3.開機(jī)進(jìn)入recovery
本章所需硬件設(shè)備: 小米電視, 小米電視的遙控器
3.1 關(guān)機(jī), 拔掉電源.
注意, 一定要拔掉電源, 僅僅關(guān)機(jī)是不夠的.
3.2 (適用于 藍(lán)牙遙控器)
同時按住遙控器上的 確認(rèn) 和 返回 按鍵, 如圖 (黃圈標(biāo)記):
小米電視root需要做哪些準(zhǔn)備工作8.png (174.67 KB, 下載次數(shù): 9)
下載附件
保存到相冊
2024-7-8 13:09 上傳
按住遙控器按鍵不松手, 插電開機(jī)。進(jìn)入recovery界面如圖:
小米電視root需要做哪些準(zhǔn)備工作9.png (238.28 KB, 下載次數(shù): 10)
下載附件
保存到相冊
2024-7-8 13:10 上傳
4.制作HDMI轉(zhuǎn) UART (TTL 5V) 調(diào)試線
本章所需硬件設(shè)備: HDMI 插頭 (或 HDMI 線), USB 轉(zhuǎn) UART 模塊 (推薦 CP2102), 杜邦線, 萬用表 (可選), 剪刀、螺絲刀等小工具.
在淘寶等購買 HDMI 插頭 (推薦 HDMI 免焊接插頭, 方便接線), 以及 USB 轉(zhuǎn) UART 模塊 (推薦 CP2102 型號), 照片如圖:
小米電視root需要做哪些準(zhǔn)備工作10.png (223.62 KB, 下載次數(shù): 14)
下載附件
保存到相冊
2024-7-8 13:10 上傳
按照下表接線:
HDMI 引腳 | CP2102 模塊 | 備注 | 14 | +5V | 電源 | 15 | TXD | UART 發(fā)送 | 16 | RXD | UART 接收 | 20 | GND | 接地 |
注意: 5V電源線必須連接, 如果不接則 UART 不會有輸出. 接線后照片:
小米電視root需要做哪些準(zhǔn)備工作11.png (169.52 KB, 下載次數(shù): 16)
下載附件
保存到相冊
2024-7-8 13:11 上傳
如果有萬用表, 可以在接線之后測量一下是否連通。
5.開機(jī)進(jìn)入uboot
本章所需硬件設(shè)備: 小米電視, 章節(jié) (3) 制作的調(diào)試線, PC (臺式機(jī)或筆記本)
注意: 這臺設(shè)備的 UART 波特率為 921600 ! (之前使用 115200 一直是亂碼)
5.1 將調(diào)試線的 USB 轉(zhuǎn) UART 模塊插到 PC, 并打開 UART.
使用哪種操作系統(tǒng), 以及串口 軟件都可以. 以下栗子只是多種可能之一
操作命令舉例 (操作系統(tǒng) ArchLinux)
- > lsusb
- Bus 001 Device 006: ID 10c4:ea60 Silicon Labs CP210x UART Bridge
- > ls -l /dev/tty*
- crw-rw---- 1 root uucp 188, 0 12月26日 15:40 /dev/ttyUSB0
復(fù)制代碼此處 CP2102 USB 轉(zhuǎn) UART 模塊出現(xiàn)為設(shè)備文件 /dev/ttyUSB0
- > stty -F /dev/ttyUSB0 ispeed 921600 ospeed 921600
- > stty -F /dev/ttyUSB0 speed
- 921600
復(fù)制代碼
- > cu -l /dev/ttyUSB0
- Connected.
復(fù)制代碼
如果沒有 cu 命令, 可以安裝 uucp:
5.2 將調(diào)試線的 HDMI 插頭插到電視的 HDMI 1 插座, 如圖:
正常開機(jī)狀態(tài)下, 重啟電視. 然后應(yīng)該能看到 UART 輸出的啟動日志
- AOCPU unknown cmd=20
- [VRTC] xMboxSetRTC val=0x64373481
- T5:BL:b49668;ID:4D32583237340F0000250D01;FEAT:B0F875B4:280000;POC:F;RCY:0;EMMC:0;READ:0;0.0;0.0;CHK:0;
- aml log : uart_clk_enhance() need fine tune
- efuse adjust vddee vol,get efuse index value:0002
- use efuse adjust vddee voltage, set vol 0.84v
- bl2_stage_init 0x01
- L0:00001803
- L1:00000702
- L2:00008060
- L3:00000000
- SIP:0006c6a
- TE: 117954
- BL2 Aarch32 Built : 15:50:08, Mar 17 2023. t5 g2df8b51 - zhiguang.zhang@droid08-bj
- aml log : T5 efuse_get_sar_adc_ref() need fine tune
- Board ID = 1
- Set cpu clk to 24M
- Set clk81 to 24M
- CPU clk: 1800 MHz
- Set clk81 to 166.6M
- aml log : bl2_platform_setup() need fine tune
- eMMC boot [url=home.php?mod=space&uid=103582]@[/url] 0
- sw-hs 00000000
- s
- sw8 s
- storage init finish
- DDR debug 1 p_acs_set=fffc30f0,come here plat/t5/ddr/ddr.c ,207
- aml log : not USB BOOT...
- DDR_DRIVER_VERSION: AML_A_PHY_V_1_2; Built : 15:50:08, Mar 17 2023. t5 g2df8b51 - zhiguang.zhang@droid08-bj
- 00000000
- emmc switch 1 ok
- ddr saved addr:00016000
- Load ddr parameter from eMMC, src: 0x02c00000, des: 0xfffc4fbc, size: 0x00001000, part: 0
- 00000000
- emmc switch 0 ok
- fastboot data verify
- verify result: 0
- enable_fast_boot
- dram_type==DDR4
- config==Rank01_32bit_ch0
- DDR : DDR4 Rank01_32bit_ch0
- Set ddr clk to 1176 MHz
- DDR debug 1 dram_vref_reg_value=00000016 plat/t5/ddr/ddr_lib.c ,4844
- CS0 size: 1024MB
- CS1 size: 1024MB
- Total size: 2048MB @ 1176MHz
- DDR : 2048MB @1176MHz
- cs0 DataBus test pass
- cs1 DataBus test pass
- cs0 AddrBus test pass
- cs1 AddrBus test pass
- bdlr_step_size ps=397
- rpmb not init until <register.h> have been fixed
- Load FIP HDR from eMMC, src: 0x00014200, des: 0x00200000, size: 0x00004000, part: 0
- Load BL3X from eMMC, src: 0x00018200, des: 0x00204000, size: 0x00138000, part: 0
- boot BL31
- NOTICE: BL31: v1.3(release):e2d6c4e91
- NOTICE: BL31: Built : 15:39:27, May 20 2021
- BL31:tsensor calibration rev, buf1[1], buf1[0]: 0x2, 0x80, 0xc
- BL31:tsensor calibration: 0x8600000c
- tsensor reg: 0x20d4
- mhu init done-v2
- NOTICE: BL31: T5 secure boot!
- NOTICE: BL31: BL33 decompress pass
- Starting IANFO: BL3-2: ATOS-V2.4.4-145-gf6c6ed9e2 #1 Wed Dec 16 12:45:54 2020 +0800 arm
- INFO: BL3-2: Chip: T5 Rev: B (34:B - 10:11)
- INFO: BL3-2: crypto engine DMA
- INFO: BL3-2: secure time TEE
- INFO: BL3-2: CONFIG_DEVICE_SECURE 0xb200000e
- OCPU FreeRTOS
- AOCPU image version='(no 6774b479c2e09162650601c4c33d8a1f194dd5f1 15:55:52 2023-04-04'
- [AOCPU]: mailbox init start
- reg idx=0 cmd=6 handler=100051da
- reg idx=1 cmd=7 handler=100051c4
- [AOCPU]: mailbox -v1 init end
- reg idx=2 cmd=9 handler=100057ca
- Starting timer ...
- reg idx=3 cmd=b4 handler=10002a4e
- reg idx=4 cmd=b6 handler=10002992
- reg idx=5 cmd=11 handler=100017b0
- reg idx=6 cmd=12 handler=100017e8
- reg idx=7 cmd=4 handler=100019b6
- reg idx=8 cmd=30 handler=100019a2
- reg idx=9 cmd=31 handler=100019b2
- Starting task scheduler ...
- protect cbus registers
- U-Boot 2015.01-g9fb9269-mulan_a-22 (Apr 04 2023 - 15:55:49), Build: jenkins-uboot_Mulan_A-22
- DRAM: 2 GiB
- Relocation Offset is: 76e45000
- mmu cfg end: 0x80000000
- mmu cfg end: 0x80000000
- spi_post_bind(spicc): req_seq = 0
- register usb cfg[0][1] = 0000000077f4dae8
- gpio: pin GPIOD_2 (gpio 2) value is 0
- gpio: pin GPIOD_3 (gpio 3) value is 1
- gpio: pin GPIOB_12 (gpio 48) value is 0
- gpio: pin GPIOB_13 (gpio 49) value is 0
- MMC: aml_priv->desc_buf = 0x0000000073e35cd0
- aml_priv->desc_buf = 0x0000000073e38010
- SDIO Port B: 0, SDIO Port C: 1
- co-phase 0x3, tx-dly 0, clock 400000
- co-phase 0x3, tx-dly 0, clock 400000
- co-phase 0x3, tx-dly 0, clock 400000
- emmc/sd response timeout, cmd8, cmd->cmdarg=0x1aa, status=0x1ff2800
- emmc/sd response timeout, cmd55, cmd->cmdarg=0x0, status=0x1ff2800
- co-phase 0x3, tx-dly 0, clock 400000
- co-phase 0x3, tx-dly 0, clock 40000000
- init_part() 297: PART_TYPE_AML
- [mmc_init] mmc init success
- aml log : R2048 check pass!
- Amlogic Multi-DTB tool
- Multi DTB detected.
- Multi DTB tool version: v2.
- Support 2 DTBS.
- ddr size = 80000000
- Found DTB for "t5_mulan_01_2g"
- start dts,buffer=0000000073e3a860,dt_addr=0000000073e3b060
- get_partition_from_dts() 80: ret 0
- parts: 19
- 00: logo 0000000000800000 1
- 01: recovery 0000000001800000 1
- 02: misc 0000000000800000 1
- 03: dtbo 0000000000800000 1
- 04: cri_data 0000000000800000 11
- 05: param 0000000001000000 2
- 06: boot 0000000001000000 1
- set has_boot_slot = 0
- 07: rsv 0000000001000000 1
- 08: metadata 0000000001000000 1
- 09: vbmeta 0000000000200000 1
- 10: tee 0000000002000000 1
- 11:secure_recovery 0000000002000000 1
- 12:factorydata 0000000000a00000 11
- 13: vendor 0000000020000000 1
- 14: odm 0000000008000000 1
- 15: system 0000000060000000 1
- 16: product 0000000002000000 1
- 17: cache 0000000020000000 2
- 18: data ffffffffffffffff 4
- init_part() 297: PART_TYPE_AML
- eMMC/TSD partition table have been checked OK!
- crc32_s:0x1577dad == storage crc_pattern:0x1577dad!!!
- crc32_s:0xee152b83 == storage crc_pattern:0xee152b83!!!
- crc32_s:0x79f50f07 == storage crc_pattern:0x79f50f07!!!
- mmc env offset: 0x27400000
- aml log : internal sys error!
- reboot_mode=normal
- gpio: pin GPIOD_7 (gpio 7) value is 1
- [store]To run cmd[emmc dtb_read 0x1000000 0x40000]
- _verify_dtb_checksum()-3476: calc 21656022, store 21656022
- _verify_dtb_checksum()-3476: calc 21656022, store 21656022
- dtb_read()-3691: total valid 2
- update_old_dtb()-3672: do nothing
- aml log : R2048 check pass!
- Amlogic Multi-DTB tool
- Multi DTB detected.
- Multi DTB tool version: v2.
- Support 2 DTBS.
- ddr size = 80000000
- Found DTB for "t5_mulan_01_2g"
- amlkey_init() enter!
- calc 62758a9f50c, store 62758a9f50c
- calc 62758a9f50c, store 62758a9f50c
- do nothing
- [EFUSE_MSG]keynum is 4
- co-phase 0x3, tx-dly 0, clock 40000000
- co-phase 0x3, tx-dly 0, clock 40000000
- co-phase 0x3, tx-dly 0, clock 400000
- emmc/sd response timeout, cmd8, cmd->cmdarg=0x1aa, status=0x1ff2800
- emmc/sd response timeout, cmd55, cmd->cmdarg=0x0, status=0x1ff2800
- co-phase 0x3, tx-dly 0, clock 400000
- co-phase 0x3, tx-dly 0, clock 40000000
- init_part() 297: PART_TYPE_AML
- [mmc_init] mmc init success
- switch to partitions #0, OK
- mmc1(part 0) is current device
- current model_name: dzvc_01_20
- mmc env offset: 0x27400000
- Writing to MMC(1)... done
- D/ model: handle_lcd_phy, phy_lane_ctrl[0] is (0x37)
- D/ model: handle_lcd_phy, phy_lane_ctrl[1] is (0x37)
- D/ model: handle_lcd_phy, phy_lane_ctrl[2] is (0x37)
- D/ model: handle_lcd_phy, phy_lane_ctrl[3] is (0x37)
- D/ model: handle_lcd_phy, phy_lane_ctrl[4] is (0x37)
- D/ model: handle_lcd_phy, phy_lane_ctrl[5] is (0x37)
- D/ model: handle_lcd_phy, phy_lane_ctrl[6] is (0x37)
- D/ model: handle_lcd_phy, phy_lane_ctrl[7] is (0x37)
- D/ model: handle_lcd_phy, phy_lane_ctrl[8] is (0x37)
- D/ model: handle_lcd_phy, phy_lane_ctrl[9] is (0x37)
- D/ model: handle_lcd_phy, phy_lane_ctrl[10] is (0x37)
- D/ model: handle_lcd_phy, phy_lane_ctrl[11] is (0x37)
- [KM]Error:f[keymanage_dts_get_key_device]L99:lcd_optical key name is not exist
- [KM]Error:f[_get_km_ops_by_name]L247:key lcd_optical not know device 5
- [KM]Error:f[key_unify_query_exist]L367:key[lcd_optical] not cfg in dts
- E/ UnifyKey: checkUnifyKey, lcd_optical query exist error.
- E/ ini_io: check_hex_data_have_header_valid, rd data len error (0x0, 0xffffffff)
- D/ model: handle_panel_ini, check lcd_optical param data diff (0xffffffff), save new param.
- [KM]Error:f[keymanage_dts_get_key_device]L99:lcd_optical key name is not exist
- [KM]Error:f[_get_km_ops_by_name]L247:key lcd_optical not know device 5
- [KM]Error:f[key_unify_write]L278:key[lcd_optical] no cfg in dts
- vpu: clk_level in dts: 7
- vpu: vpu_power_on_new
- vpu: set clk: 666667000Hz, readback: 666666667Hz(0x100)
- vpu: vpu_module_init_config
- vpp: vpp_init
- vpp: vpp osd1 matrix rgb2yuv..............
- vpp: vpp osd2 matrix rgb2yuv..............
- hdr_func 4, hdr_process_select 0x1
- hdr_func 1, hdr_process_select 0x1
- lcd: lcd_debug_print flag: 0
- lcd: detect mode: tv, key_valid: 1
- lcd: load lcd_config from unifykey
- lcd_phy_probe
- lcd: unifykey version: 0x0002
- lcd: unifykey version: 0x0002
- lcd: tcon: rsv_mem addr:0x2bc00000, size:0xc00000
- lcd: lcd_tcon_bin_path_update: init_load: 0
- lcd: tcon: load init data len: 6356, ver: 20221009
- lcd: lcd_tcon_bin_load
- E/ model: handle_tcon_data_load, tcon_data[4] file name "/param/tcon_demura.bin" not exist.
- lcd extern: load config from unifykey
- lcd extern: add driver ext_default(0)
- lcd: lcd_extern_config_update_dynamic_size size:0x2b
- lcd: lcd_extern_config_update_dynamic_size size:0x0
- lcd: lcd_extern_config_update_dynamic_size size:0x0
- lcd extern: aml_lcd_extern_probe: index(0->0) ok
- lcd: load backlight_config from unifykey
- lcd: bl: unifykey version: 0x0001
- lcd: bl: pinctrl_version: 2
- lcd: bl: name: bl_pwm, method: 2
- lcd: bl: bl_level: 127
- lcd: bl: aml_bl_power_ctrl: 0
- aml log : internal sys error!
- s_version: U-Boot 2015.01-g9fb9269-mulan_a-22
- do_factorydata_read:258 Can't find out dcdc from factorydata.
- factorydata - Access the factorydata from Xiaomi Partition
- Usage:
- factorydata argv:
- dump
- read keyname
- write keyname value
- erase keyname
- Hit Enter or space or Ctrl+C key to stop autoboot -- : 0
- soc_family_id==0x00000034
- table_max=0000000c,p_ddr_base_add=77f4b9c0,chip_id=00000034
- table_index=00000000,p_ddr_base_add=77f4b9c0,(p_ddr_base->chip_id==00000028
- no find match chip id=0x00000034, ,G12A will use default value
- table_index=00000001,p_ddr_base_add=77f4ba10,(p_ddr_base->chip_id==00000029
- no find match chip id=0x00000034, ,G12B will use default value
- table_index=00000002,p_ddr_base_add=77f4ba60,(p_ddr_base->chip_id==0000002e
- no find match chip id=0x00000034, ,TL1 will use default value
- table_index=00000003,p_ddr_base_add=77f4bab0,(p_ddr_base->chip_id==0000002b
- no find match chip id=0x00000034, ,SM1 will use default value
- table_index=00000004,p_ddr_base_add=77f4bb00,(p_ddr_base->chip_id==0000002f
- no find match chip id=0x00000034, ,TM2 will use default value
- table_index=00000005,p_ddr_base_add=77f4bb50,(p_ddr_base->chip_id==0000002c
- no find match chip id=0x00000034, ,A1 will use default value
- table_index=00000006,p_ddr_base_add=77f4bba0,(p_ddr_base->chip_id==00000030
- no find match chip id=0x00000034, ,C1 will use default value
- table_index=00000007,p_ddr_base_add=77f4bbf0,(p_ddr_base->chip_id==00000033
- no find match chip id=0x00000034, ,C2 will use default value
- table_index=00000008,p_ddr_base_add=77f4bc40,(p_ddr_base->chip_id==00000032
- no find match chip id=0x00000034, ,SC2 will use default value
- table_index=00000009,p_ddr_base_add=77f4bc90,(p_ddr_base->chip_id==00000034
- find match chip id=0x00000034 ,T5
- uboot auto fast boot check flash data is ok return
- Command: bcb uboot-command
- Start read misc partition datas!
- BCB hasn't any datas,exit!
- pll tsensor avg: 0x20da, u_efuse: 0xc
- temp1: 45
- device cool done
- [OSD]load fb addr from dts:/meson-fb
- [OSD]load fb addr from dts:/fb
- [OSD]set initrd_high: 0x2b400000
- [OSD]fb_addr for logo: 0x2b400000
- [OSD]load fb addr from dts:/meson-fb
- [OSD]load fb addr from dts:/fb
- [OSD]fb_addr for logo: 0x2b400000
- [OSD]VPP_OFIFO_SIZE:0xfff01fff
- [CANVAS]canvas init
- [CANVAS]addr=0x2b400000 width=3840, height=2160
- [OSD]osd_hw.free_dst_data: 0,3839,0,2159
- [OSD]osd1_update_disp_freescale_enable
- vpp: vpp_matrix_update: 0
- vpp: g12a/b post2(bit12) matrix: YUV limit -> RGB ..............
- lcd: enable: ST4251D02_1, p2p, 3840x2160@60. 0Hz
- lcd: tv driver init(ver 20221101): p2p
- lcd: reset tcon
- lcd: lcd_pll_wait_lock: pll_lock=1, wait_loop=1
- lcd: set pll spread spectrum: 15, 30000ppm
- lcd: set pll spread spectrum: freq=0, mode=0
- vpp: vpp_init_lcd_gamma_table
- [info]spicc_probe: amlogic,meson-g12a-spicc @00000000ffd13000
- [info]spicc_cs_gpio_init: cs_gpio[0]=22
- [info]spicc_cs_gpio_init: total (1) slaves
- SF: Detected XM25QH80B with page size 256 Bytes, erase size 4 KiB, total 1 MiB
- spi read test ok spi_read_test
- lcd: error: spi read test ok
- lcd: lcd_tcon_core_reg_set
- lcd: error: lcd_tcon_data_set: data index -1 is invalid
- lcd extern: lcd_extern_power_ctrl: ext_default(0): 1
- lcd: bl: set level: 127, last level: 0
- lcd: bl: aml_bl_power_ctrl: 1
- lcd: clear mute
- Start read misc partition datas!
- info->attemp_times = 0
- info->active_slot = 0
- info->slot_info[0].bootable = 1
- info->slot_info[0].online = 1
- info->slot_info[1].bootable = 0
- info->slot_info[1].online = 0
- info->attemp_times = 0
- attemp_times = 0
- active slot = 0
- [imgread]szTimeStamp[2023041122493711]
- [imgread]secureKernelImgSz=0x866000
- aml log : R~2048 check pass!
- aml log : R2048 check pass!
- aml log : R2048 check pass!
- avb2: 0
- ee_gate_off ...
- avb2: 0
- ## Booting Android Image at 0x01080000 ...
- Kernel command line: androidboot.dtbo_idx=0 buildvariant=user
- [store]Is good fdt check header, no need decrypt!
- active_slot is normal
- load dtb from 0x1000000 ......
- Amlogic Multi-DTB tool
- Single DTB detected
- find 1 dtbos
- dtbos to be applied: 0
- Apply dtbo 0
- Loading Kernel Image(COMP_NONE) ... OK
- kernel loaded at 0x01080000, end = 0x018b9000
- libfdt fdt_getprop(): FDT_ERR_NOTFOUND
- Loading Device Tree to 0000000009fe7000, end 0000000009fff559 ... OK
- fdt_fixup_memory_banks, reg:0000000000000000
- Starting kernel ...
- uboot time: 3036492 us
- vmin:72 b2 6 0!
- [VRTC]: xMboxGetRTC val=0x64373481
- [cec_get_portinfo]: info=0x0
- AOCPU unknown cmd=b5
復(fù)制代碼
如果看到類似上面的輸出, 說明調(diào)試線及各種設(shè)置一切正常!
5.3 再次重啟, 同時快速連續(xù)多次按回車鍵, 直到進(jìn)入 uboot 命令行
- s_version: U-Boot 2015.01-g9fb9269-mulan_a-22
- do_factorydata_read:258 Can't find out dcdc from factorydata.
- factorydata - Access the factorydata from Xiaomi Partition
- Usage:
- factorydata argv:
- dump
- read keyname
- write keyname value
- erase keyname
- Hit Enter or space or Ctrl+C key to stop autoboot -- : 0
- mulan#
- mulan#
- mulan#
- mulan#
復(fù)制代碼 好了, 這就進(jìn)入 uboot 命令行了 ! 我們先來查看一些信息
執(zhí)行 printenv 命令:
uboot 命令行幫助信息
分區(qū)信息
- mulan#mmcinfo
- Device: SDIO Port C
- Manufacturer ID: 9b
- OEM: 100
- Name: Y2P03
- Tran Speed: 52000000
- Rd Block Len: 512
- MMC version 5.1
- High Capacity: Yes
- Capacity: (0x747c00000 Bytes) 29.1 GiB
- mmc clock: 40000000
- Bus Width: 8-bit
- mulan#mmc part
- Partition Map for MMC device 1 -- Partition Type: AML
- Part Start Sect x Size Type name
- 00 0 8192 512 U-Boot bootloader
- 01 73728 131072 512 U-Boot reserved
- 02 221184 1048576 512 U-Boot cache
- 03 1286144 16384 512 U-Boot env
- 04 1318912 16384 512 U-Boot logo
- 05 1351680 49152 512 U-Boot recovery
- 06 1417216 16384 512 U-Boot misc
- 07 1449984 16384 512 U-Boot dtbo
- 08 1482752 16384 512 U-Boot cri_data
- 09 1515520 32768 512 U-Boot param
- 10 1564672 32768 512 U-Boot boot
- 11 1613824 32768 512 U-Boot rsv
- 12 1662976 32768 512 U-Boot metadata
- 13 1712128 4096 512 U-Boot vbmeta
- 14 1732608 65536 512 U-Boot tee
- 15 1814528 65536 512 U-Boot secure_recovery
- 16 1896448 20480 512 U-Boot factorydata
- 17 1933312 1048576 512 U-Boot vendor
- 18 2998272 262144 512 U-Boot odm
- 19 3276800 3145728 512 U-Boot system
- 20 6438912 65536 512 U-Boot product
- 21 6520832 54550528 512 U-Boot data
- ** Partition 22 not found on device 1 **
- mulan#
復(fù)制代碼
重啟設(shè)備:
- mulan#reset
- resetting ...
復(fù)制代碼
6. 進(jìn)入 recovery 命令行
本章所需硬件設(shè)備: 小米電視, 小米電視的遙控器, 章節(jié) (3) 制作的調(diào)試線, PC (臺式機(jī)或筆記本)
6.1 按照章節(jié) (5) 的方法進(jìn)入 uboot 命令行
工廠數(shù)據(jù)
- mulan#factorydata
- factorydata - Access the factorydata from Xiaomi Partition
- Usage:
- factorydata argv:
- dump
- read keyname
- write keyname value
- erase keyname
- mulan#factorydata dump
- do_factorydata_dump : Got factory_power_mode[18] is [9]secondary
- do_factorydata_dump : Got console_enable[14] is [1]0
- do_factorydata_dump : Got pcba_mn[7] is [21]DZVCBCP3A12XXNXF00793
- do_factorydata_dump : Got pcba_sn[7] is [21]DZVCBCP3A12XXNXF00793
- do_factorydata_dump : Got assm_sn[7] is [17]48276106100061401
- do_factorydata_dump : Got mac[3] is [17]78:53:33:10:dd:a5
- do_factorydata_dump : Got did_key[7] is [39]00CB00073C3B|754663978|k5sBrXtwBJ6BLv5O
- do_factorydata_dump : Got assm_mn[7] is [21]DZVCARF3B18TXNXX02321
- do_factorydata_dump : Got bt_rc_mac[9] is [18]F4:22:7A:63:AE:6D;
- do_factorydata_dump : Got log_level[9] is [1]0
- do_factorydata_dump : Got mitv_screen_on[14] is [4]true
- do_factorydata_dump : Got miot_beacon_pdu[15] is [38]0201060FFF8F030A10070F00ACE90FE18040E0
- mulan#
復(fù)制代碼
6.2 啟用 console:
- mulan#factorydata write console_enable 1
復(fù)制代碼
6.3 按照章節(jié) (3) 的方法進(jìn)入 recovery
- Starting kernel ...
- uboot time: 10638025 us
- vmin:72 b2 6 0!
- [VRTC]: xMboxGetRTC val=0x0
- [cec_get_portinfo]: info=0x0
- AOCPU unknown cmd=b5
- #
復(fù)制代碼 好了, 我們進(jìn)入 recovery 命令行了 ! 看一下基本信息
- # type busybox
- busybox is /sbin/busybox
- # busybox id
- uid=0(root) gid=0(root) context=u:r:shell:s0
- # busybox getenforce
- Permissive
- # busybox uname -a
- Linux localhost 4.9.113 #1 SMP PREEMPT Tue Apr 11 22:37:53 CST 2023 armv7l GNU/Linux
- #
復(fù)制代碼好, 我們是 root, 并且 SELinux 處于關(guān)閉狀態(tài), 可以為所欲為了!
根目錄: - # busybox ls -al /
- total 2080
- __bionic_open_tzdata: couldn't find any tzdata when looking for localtime!
- __bionic_open_tzdata: couldn't find any tzdata when looking for GMT!
- __bionic_open_tzdata: couldn't find any tzdata when looking for posixrules!
- drwxr-xr-x 27 root root 0 Jan 1 00:00 .
- drwxr-xr-x 27 root root 0 Jan 1 00:00 ..
- dr-xr-xr-x 4 root root 0 Jan 1 00:00 acct
- lrwxrwxrwx 1 root root 11 Jan 1 1970 bin -> /system/bin
- drwxr-xr-x 2 root root 0 Jan 1 1970 boot
- lrwxrwxrwx 1 root root 50 Jan 1 1970 bugreports -> /data/user_de/0/com.android.shell/files/bugreports
- drwxrwx--- 6 system cache 4096 Jan 1 00:03 cache
- lrwxrwxrwx 1 root root 13 Jan 1 1970 charger -> /sbin/charger
- drwxr-xr-x 4 root root 0 Jan 1 1970 config
- lrwxrwxrwx 1 root root 17 Jan 1 1970 d -> /sys/kernel/debug
- drwxr-xr-x 2 root root 0 Jan 1 1970 data
- lrwxrwxrwx 1 root root 12 Jan 1 1970 default.prop -> prop.default
- drwxr-xr-x 12 root root 5320 Jan 1 00:00 dev
- drwxr-xr-x 2 root root 0 Jan 1 1970 etc
- -rwxr-x--- 1 root root 1500384 Jan 1 1970 init
- -rwxr-x--- 1 root root 2842 Jan 1 1970 init.rc
- -rwxr-x--- 1 root root 14915 Jan 1 1970 init.recovery.amlogic.rc
- drwxr-xr-x 2 root root 0 Jan 1 1970 metadata
- drwxr-xr-x 3 root system 60 Jan 1 00:00 mnt
- drwxr-xr-x 2 root root 0 Jan 1 1970 odm
- drwxr-xr-x 2 root root 0 Jan 1 1970 oem
- drwxr-xr-x 3 root root 0 Jan 1 1970 persist
- -rw-r--r-- 1 root root 24584 Jan 1 1970 plat_file_contexts
- -rw-r--r-- 1 root root 28976 Jan 1 1970 plat_property_contexts
- dr-xr-xr-x 137 root root 0 Jan 1 1970 proc
- drwxr-xr-x 2 root root 0 Jan 1 1970 product
- -rw-r--r-- 1 root root 6676 Jan 1 1970 prop.default
- drwxr-xr-x 3 root root 0 Jan 1 1970 res
- drwx------ 2 root root 0 Apr 11 2023 root
- drwxr-x--- 2 root root 0 Jan 1 1970 sbin
- drwxr-xr-x 2 root root 0 Jan 1 1970 sdcard
- -rw-r--r-- 1 root root 472377 Jan 1 1970 sepolicy
- drwxr-xr-x 2 root root 0 Jan 1 00:00 sideload
- drwxr-x--x 2 root root 0 Jan 1 1970 storage
- dr-xr-xr-x 12 root root 0 Jan 1 00:00 sys
- lrwxr-xr-x 1 root root 19 Jan 1 1970 system -> /system_root/system
- drwxr-xr-x 2 root root 0 Jan 1 1970 system_root
- drwxrwxr-x 2 root shell 80 Jan 1 00:00 tmp
- drwx------ 3 root root 8192 Jan 1 1970 udisk
- -rw-r--r-- 1 root root 5272 Jan 1 1970 ueventd.rc
- drwxr-xr-x 5 root root 0 Jan 1 1970 vendor
- -rw-r--r-- 1 root root 28202 Jan 1 1970 vendor_file_contexts
- -rw-r--r-- 1 root root 4146 Jan 1 1970 vendor_property_contexts
- #
復(fù)制代碼
7.在 uboot 下備份各個系統(tǒng)分區(qū)
本章所需硬件設(shè)備: 小米電視, 章節(jié) (3) 制作的調(diào)試線, PC (臺式機(jī)或筆記本), U 盤 (1 個, 格式化為 FAT32 文件系統(tǒng), 容量 8GB 以上)
8.在 recovery下備份各個系統(tǒng)分區(qū)
本章所需硬件設(shè)備: 小米電視, 小米電視的遙控器, 章節(jié) (3) 制作的調(diào)試線, PC (臺式機(jī)或筆記本), U 盤 (1 個, 格式化為 FAT32 文件系統(tǒng), 容量 8GB 以上).
8.1 插入 U 盤 (FAT32 格式), 然后進(jìn)入 recovery
看一下分區(qū)
- # busybox ls -al /dev/block
- total 0
- __bionic_open_tzdata: couldn't find any tzdata when looking for localtime!
- __bionic_open_tzdata: couldn't find any tzdata when looking for GMT!
- __bionic_open_tzdata: couldn't find any tzdata when looking for posixrules!
- drwxr-xr-x 3 root root 820 Jan 1 00:00 .
- drwxr-xr-x 12 root root 5320 Jan 1 00:00 ..
- brw------- 1 root root 179, 11 Jan 1 00:00 boot
- brw------- 1 root root 179, 1 Jan 1 00:00 bootloader
- brw------- 1 root root 179, 3 Jan 1 00:00 cache
- brw------- 1 root root 179, 9 Jan 1 00:00 cri_data
- brw------- 1 root root 179, 22 Jan 1 00:00 data
- brw------- 1 root root 179, 8 Jan 1 00:00 dtbo
- brw------- 1 root root 179, 4 Jan 1 00:00 env
- brw------- 1 root root 179, 17 Jan 1 00:00 factorydata
- brw------- 1 root root 179, 5 Jan 1 00:00 logo
- brw------- 1 root root 7, 0 Jan 1 00:00 loop0
- brw------- 1 root root 7, 8 Jan 1 00:00 loop1
- brw------- 1 root root 7, 16 Jan 1 00:00 loop2
- brw------- 1 root root 7, 24 Jan 1 00:00 loop3
- brw------- 1 root root 7, 32 Jan 1 00:00 loop4
- brw------- 1 root root 7, 40 Jan 1 00:00 loop5
- brw------- 1 root root 7, 48 Jan 1 00:00 loop6
- brw------- 1 root root 7, 56 Jan 1 00:00 loop7
- brw------- 1 root root 179, 13 Jan 1 00:00 metadata
- brw------- 1 root root 179, 7 Jan 1 00:00 misc
- brw------- 1 root root 179, 0 Jan 1 00:00 mmcblk0
- brw------- 1 root root 179, 32 Jan 1 00:00 mmcblk0boot0
- brw------- 1 root root 179, 64 Jan 1 00:00 mmcblk0boot1
- brw------- 1 root root 179, 96 Jan 1 00:00 mmcblk0rpmb
- brw------- 1 root root 31, 0 Jan 1 00:00 mtdblock0
- brw------- 1 root root 179, 19 Jan 1 00:00 odm
- brw------- 1 root root 179, 10 Jan 1 00:00 param
- drwxr-xr-x 5 root root 100 Jan 1 00:00 platform
- brw------- 1 root root 179, 21 Jan 1 00:00 product
- brw------- 1 root root 179, 6 Jan 1 00:00 recovery
- brw------- 1 root root 179, 2 Jan 1 00:00 reserved
- brw------- 1 root root 179, 12 Jan 1 00:00 rsv
- brw------- 1 root root 8, 0 Jan 1 00:00 sda
- brw------- 1 root root 8, 1 Jan 1 00:00 sda1
- brw------- 1 root root 179, 16 Jan 1 00:00 secure_recovery
- brw------- 1 root root 179, 20 Jan 1 00:00 system
- brw------- 1 root root 179, 15 Jan 1 00:00 tee
- brw------- 1 root root 179, 14 Jan 1 00:00 vbmeta
- brw------- 1 root root 179, 18 Jan 1 00:00 vendor
- brw------- 1 root root 254, 0 Jan 1 00:00 zram0
復(fù)制代碼
掛載狀態(tài)
- # busybox mount
- rootfs on / type rootfs (rw,seclabel)
- tmpfs on /dev type tmpfs (rw,seclabel,nosuid,relatime,mode=755)
- devpts on /dev/pts type devpts (rw,seclabel,relatime,mode=600,ptmxmode=000)
- proc on /proc type proc (rw,relatime)
- sysfs on /sys type sysfs (rw,seclabel,relatime)
- selinuxfs on /sys/fs/selinux type selinuxfs (rw,relatime)
- tmpfs on /mnt type tmpfs (rw,seclabel,nosuid,nodev,noexec,relatime,mode=755,gid=1000)
- none on /acct type cgroup (rw,relatime,cpuacct)
- tmpfs on /tmp type tmpfs (rw,seclabel,relatime)
- none on /config type configfs (rw,relatime)
- adb on /dev/usb-ffs/adb type functionfs (rw,relatime)
- /dev/block/sda1 on /udisk type vfat (rw,nodev,noatime,nodiratime,fmask=0077,dmask=0077,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro)
- /dev/block/cache on /cache type ext4 (rw,seclabel,nodev,noatime,nodiratime,discard,data=ordered)
- # busybox ls -al /udisk
- total 16
- __bionic_open_tzdata: couldn't find any tzdata when looking for localtime!
- __bionic_open_tzdata: couldn't find any tzdata when looking for GMT!
- __bionic_open_tzdata: couldn't find any tzdata when looking for posixrules!
- drwx------ 3 root root 8192 Jan 1 1970 .
- drwxr-xr-x 27 root root 0 Jan 1 00:00 ..
- drwx------ 2 root root 8192 Dec 26 2023 202312
- #
復(fù)制代碼recovery 已經(jīng)自動將 U盤掛載到了 /udisk 目錄
8.2 備份除了 data (用戶數(shù)據(jù)) 外的所有分區(qū) - # busybox dd if=/dev/block/boot of=/udisk/boot.img
- 32768+0 records in
- 32768+0 records out
- 16777216 bytes (16.0MB) copied, 0.417935 seconds, 38.3MB/s
- #
復(fù)制代碼重復(fù)使用 dd 命令, 具體需要備份的分區(qū)可以參考以下列表: - # busybox ls -al /udisk
- total 3072016
- __bionic_open_tzdata: couldn't find any tzdata when looking for localtime!
- __bionic_open_tzdata: couldn't find any tzdata when looking for GMT!
- __bionic_open_tzdata: couldn't find any tzdata when looking for posixrules!
- drwx------ 3 root root 8192 Jan 1 00:21 .
- drwxr-xr-x 27 root root 0 Jan 1 00:00 ..
- drwx------ 2 root root 8192 Dec 26 2023 202312
- -rwx------ 1 root root 16777216 Jan 1 00:05 boot.img
- -rwx------ 1 root root 4194304 Jan 1 00:06 bootloader.img
- -rwx------ 1 root root 536870912 Jan 1 00:13 cache.img
- -rwx------ 1 root root 8388608 Jan 1 00:16 cri_data.img
- -rwx------ 1 root root 8388608 Jan 1 00:17 dtbo.img
- -rwx------ 1 root root 8388608 Jan 1 00:17 env.img
- -rwx------ 1 root root 10485760 Jan 1 00:18 factorydata.img
- -rwx------ 1 root root 8388608 Jan 1 00:20 logo.img
- -rwx------ 1 root root 16777216 Jan 1 00:18 metadata.img
- -rwx------ 1 root root 8388608 Jan 1 00:20 misc.img
- -rwx------ 1 root root 4194304 Jan 1 00:12 mmcblk0boot0.img
- -rwx------ 1 root root 4194304 Jan 1 00:12 mmcblk0boot1.img
- -rwx------ 1 root root 134217728 Jan 1 00:16 odm.img
- -rwx------ 1 root root 16777216 Jan 1 00:17 param.img
- -rwx------ 1 root root 33554432 Jan 1 00:19 product.img
- -rwx------ 1 root root 25165824 Jan 1 00:21 recovery.img
- -rwx------ 1 root root 67108864 Jan 1 00:21 reserved.img
- -rwx------ 1 root root 16777216 Jan 1 00:12 rsv.img
- -rwx------ 1 root root 33554432 Jan 1 00:16 secure_recovery.img
- -rwx------ 1 root root 1610612736 Jan 1 00:24 system.img
- -rwx------ 1 root root 33554432 Jan 1 00:17 tee.img
- -rwx------ 1 root root 2097152 Jan 1 00:18 vbmeta.img
- -rwx------ 1 root root 536870912 Jan 1 00:20 vendor.img
- #
復(fù)制代碼
8.3 重啟設(shè)備, 拔出 U 盤
然后把上述獲得的分區(qū)鏡像文件, 打包壓縮一下, 找個安全的地方備份起來 (建議上傳網(wǎng)盤), 以后對于救磚有重要用途
上述整個操作過程中獲得的各種信息 (UART 輸出), 也建議保存?zhèn)溆?br />
以上就是我對”小米電視root需要做哪些準(zhǔn)備工作?2024小米電視刷機(jī)詳細(xì)教程”的內(nèi)容分享,如果還有其他問題可以在評論區(qū)留言。
相關(guān)閱讀:
海信電視如何精簡系統(tǒng)?海信電視刷機(jī)簡化系統(tǒng)操作教程
|