最近有不少人問我家里的小米電視root需要做哪些準備工作?哪些是作為一個新手最需要準備的,今天就給大家做一個2024小米電視刷機詳細教程。
一、小米電視root需要做哪些準備工作?2024小米電視刷機詳細教程
注意:這不是 root 電視的完整教程,,但是包含了進入電視系統(tǒng)底層的各種準備工作. 能夠進入電視系統(tǒng)底層之后, 任何有 magisk 使用經(jīng)驗的人都可以輕松實現(xiàn) root.
測試設備: 小米電視 A43 pro (L43MA-AP) (2023 年上市)
警告 (免責聲明): 操作有風險, 包括但不限于數(shù)據(jù)丟失, 設備損壞, 失去保修等,所以大家需要謹慎刷機。
1.來源
本文使用的各種方法并非原創(chuàng), 而是主要來自于以下幾篇文章:
(ZNDS 智能電視網(wǎng)) 教程&攻略 2022新款小米電視(安卓6以上)硬核root教程(需要USB轉TTL) http://81jnr2m.cn/tv-1228229-1-1.html
http://81jnr2m.cn/tv-1203308-1-1.html
2.啟用adb并安裝apk
本章所需硬件設備: 小米電視, 小米電視的遙控器, PC (臺式機或筆記本), 本地局域網(wǎng)絡 (有線以太網(wǎng)或無線 WIFI)。
2.1 正常開機, 先看一下系統(tǒng)信息
小米電視root需要做哪些準備工作.png (94.8 KB, 下載次數(shù): 13)
下載附件
保存到相冊
2024-7-8 13:02 上傳
進入電視設置
小米電視root需要做哪些準備工作2.png (89.38 KB, 下載次數(shù): 9)
下載附件
保存到相冊
2024-7-8 13:03 上傳
關于: MIUI TV 版本: MiTV OS 2.8.2129 (穩(wěn)定版)
小米電視root需要做哪些準備工作3.png (35.05 KB, 下載次數(shù): 12)
下載附件
保存到相冊
2024-7-8 13:03 上傳
設備信息: 屏幕參數(shù) 3840x2160 43英寸, 存儲 內存 2GB 閃存 32GB, 無線連接 2.4GHz/5GHz 藍牙, 操作系統(tǒng) Android.
小米電視root需要做哪些準備工作4.png (95.46 KB, 下載次數(shù): 12)
下載附件
保存到相冊
2024-7-8 13:03 上傳
存儲空間: 共 30536MB, 系統(tǒng) 4446MB.
2.2 在設置中的【關于】頁面找到產(chǎn)品型號 (MiTV):
小米電視root需要做哪些準備工作5.png (94.53 KB, 下載次數(shù): 10)
下載附件
保存到相冊
2024-7-8 13:08 上傳
選中 產(chǎn)品型號 然后連續(xù)多次點擊遙控器上的 確認 按鍵, 即可進入 開發(fā)者模式.
2.3 在設置中的 帳號與安全 頁面, 將 ADB調試 選項打開:
小米電視root需要做哪些準備工作6.png (88.86 KB, 下載次數(shù): 12)
下載附件
保存到相冊
2024-7-8 13:08 上傳
ADB 調試這個開關只有在上一步開啟開發(fā)者模式后才會出現(xiàn). 并且每次重啟之后, 這個選項都會自動關閉
2.4 通過有線以太網(wǎng)或無線 wifi 將設備聯(lián)網(wǎng), 然后看一下設備的 IP 地址 (下圖已打馬):
小米電視root需要做哪些準備工作7.png (84.23 KB, 下載次數(shù): 10)
下載附件
保存到相冊
2024-7-8 13:09 上傳
比如此處設備的 IP 地址是 192.168.33.121 注意, 只需要將設備連接至本地局域網(wǎng), 能夠通過 DHCP 獲取 IP 地址即可, 無需連接互聯(lián)網(wǎng) (Internet).
2.5 在 PC (臺式機或筆記本) 上安裝 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
復制代碼
需要在電視上使用遙控器同意 adb 調試. 此時就成功通過 adb 連接到了電視!
2.6 在 PC 上使用 adb 安裝 apk, 比如 - adb install aida64-v198.apk
復制代碼 重復使用這個命令, 就可以安裝多個應用
如果安裝命令執(zhí)行成功后, 沒有顯示出應用圖標, 可以重啟電視
3.開機進入recovery
本章所需硬件設備: 小米電視, 小米電視的遙控器
3.1 關機, 拔掉電源.
注意, 一定要拔掉電源, 僅僅關機是不夠的.
3.2 (適用于 藍牙遙控器)
同時按住遙控器上的 確認 和 返回 按鍵, 如圖 (黃圈標記):
小米電視root需要做哪些準備工作8.png (174.67 KB, 下載次數(shù): 9)
下載附件
保存到相冊
2024-7-8 13:09 上傳
按住遙控器按鍵不松手, 插電開機。進入recovery界面如圖:
小米電視root需要做哪些準備工作9.png (238.28 KB, 下載次數(shù): 10)
下載附件
保存到相冊
2024-7-8 13:10 上傳
4.制作HDMI轉 UART (TTL 5V) 調試線
本章所需硬件設備: HDMI 插頭 (或 HDMI 線), USB 轉 UART 模塊 (推薦 CP2102), 杜邦線, 萬用表 (可選), 剪刀、螺絲刀等小工具.
在淘寶等購買 HDMI 插頭 (推薦 HDMI 免焊接插頭, 方便接線), 以及 USB 轉 UART 模塊 (推薦 CP2102 型號), 照片如圖:
小米電視root需要做哪些準備工作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需要做哪些準備工作11.png (169.52 KB, 下載次數(shù): 16)
下載附件
保存到相冊
2024-7-8 13:11 上傳
如果有萬用表, 可以在接線之后測量一下是否連通。
5.開機進入uboot
本章所需硬件設備: 小米電視, 章節(jié) (3) 制作的調試線, PC (臺式機或筆記本)
注意: 這臺設備的 UART 波特率為 921600 ! (之前使用 115200 一直是亂碼)
5.1 將調試線的 USB 轉 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
復制代碼此處 CP2102 USB 轉 UART 模塊出現(xiàn)為設備文件 /dev/ttyUSB0
- > stty -F /dev/ttyUSB0 ispeed 921600 ospeed 921600
- > stty -F /dev/ttyUSB0 speed
- 921600
復制代碼
- > cu -l /dev/ttyUSB0
- Connected.
復制代碼
如果沒有 cu 命令, 可以安裝 uucp:
5.2 將調試線的 HDMI 插頭插到電視的 HDMI 1 插座, 如圖:
正常開機狀態(tài)下, 重啟電視. 然后應該能看到 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
復制代碼
如果看到類似上面的輸出, 說明調試線及各種設置一切正常!
5.3 再次重啟, 同時快速連續(xù)多次按回車鍵, 直到進入 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#
復制代碼 好了, 這就進入 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#
復制代碼
重啟設備:
- mulan#reset
- resetting ...
復制代碼
6. 進入 recovery 命令行
本章所需硬件設備: 小米電視, 小米電視的遙控器, 章節(jié) (3) 制作的調試線, PC (臺式機或筆記本)
6.1 按照章節(jié) (5) 的方法進入 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#
復制代碼
6.2 啟用 console:
- mulan#factorydata write console_enable 1
復制代碼
6.3 按照章節(jié) (3) 的方法進入 recovery
8K"> - Starting kernel ...
- uboot time: 10638025 us
- vmin:72 b2 6 0!
- [VRTC]: xMboxGetRTC val=0x0
- [cec_get_portinfo]: info=0x0
- AOCPU unknown cmd=b5
- #
復制代碼 好了, 我們進入 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
- #
復制代碼好, 我們是 root, 并且 SELinux 處于關閉狀態(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
- #
復制代碼
7.在 uboot 下備份各個系統(tǒng)分區(qū)
本章所需硬件設備: 小米電視, 章節(jié) (3) 制作的調試線, PC (臺式機或筆記本), U 盤 (1 個, 格式化為 FAT32 文件系統(tǒng), 容量 8GB 以上)
8.在 recovery下備份各個系統(tǒng)分區(qū)
本章所需硬件設備: 小米電視, 小米電視的遙控器, 章節(jié) (3) 制作的調試線, PC (臺式機或筆記本), U 盤 (1 個, 格式化為 FAT32 文件系統(tǒng), 容量 8GB 以上).
8.1 插入 U 盤 (FAT32 格式), 然后進入 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
復制代碼
掛載狀態(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
- #
復制代碼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
- #
復制代碼重復使用 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
- #
復制代碼
8.3 重啟設備, 拔出 U 盤
然后把上述獲得的分區(qū)鏡像文件, 打包壓縮一下, 找個安全的地方備份起來 (建議上傳網(wǎng)盤), 以后對于救磚有重要用途
上述整個操作過程中獲得的各種信息 (UART 輸出), 也建議保存?zhèn)溆?br />
以上就是我對”小米電視root需要做哪些準備工作?2024小米電視刷機詳細教程”的內容分享,如果還有其他問題可以在評論區(qū)留言。
相關閱讀:
海信電視如何精簡系統(tǒng)?海信電視刷機簡化系統(tǒng)操作教程
|