首頁(yè) 收藏 QQ群
 網(wǎng)站導(dǎo)航

ZNDS智能電視網(wǎng) 推薦當(dāng)貝市場(chǎng)

TV應(yīng)用下載 / 資源分享區(qū)

軟件下載 | 游戲 | 討論 | 電視計(jì)算器

綜合交流 / 評(píng)測(cè) / 活動(dòng)區(qū)

交流區(qū) | 測(cè)硬件 | 網(wǎng)站活動(dòng) | Z幣中心

新手入門 / 進(jìn)階 / 社區(qū)互助

新手 | 你問(wèn)我答 | 免費(fèi)刷機(jī)救磚 | ROM固件

查看: 55917|回復(fù): 7
上一主題 下一主題
[交流&討論]

小米電視r(shí)oot需要做哪些準(zhǔn)備工作?2024小米電視刷機(jī)詳細(xì)教程

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2024-7-8 13:11 | 只看該作者 |只看大圖 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式 | 來(lái)自河北
最近有不少人問(wèn)我家里的小米電視root需要做哪些準(zhǔn)備工作?哪些是作為一個(gè)新手最需要準(zhǔn)備的,今天就給大家做一個(gè)2024小米電視刷機(jī)詳細(xì)教程。



一、小米電視r(shí)oot需要做哪些準(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.

測(cè)試設(shè)備: 小米電視 A43 pro (L43MA-AP) (2023 年上市)

警告 (免責(zé)聲明):
操作有風(fēng)險(xiǎn), 包括但不限于數(shù)據(jù)丟失, 設(shè)備損壞, 失去保修等,所以大家需要謹(jǐn)慎刷機(jī)。

1.來(lái)源

本文使用的各種方法并非原創(chuàng), 而是主要來(lái)自于以下幾篇文章:
(ZNDS 智能電視網(wǎng)) 教程&攻略 2022新款小米電視(安卓6以上)硬核root教程(需要USB轉(zhuǎn)TTL)
http://81jnr2m.cn/tv-1228229-1-1.html

(ZNDS 智能電視網(wǎng)) 教程&攻略 小米電視硬核root教程(需要USB轉(zhuǎn)TTL硬件工具)
http://81jnr2m.cn/tv-1203308-1-1.html

2.啟用adb并安裝apk

本章所需硬件設(shè)備: 小米電視, 小米電視的遙控器, PC (臺(tái)式機(jī)或筆記本), 本地局域網(wǎng)絡(luò) (有線以太網(wǎng)或無(wú)線 WIFI)。

2.1 正常開(kāi)機(jī), 先看一下系統(tǒng)信息

小米電視r(shí)oot需要做哪些準(zhǔn)備工作?2024小米電視刷機(jī)詳細(xì)教程

進(jìn)入電視設(shè)置

小米電視r(shí)oot需要做哪些準(zhǔn)備工作?2024小米電視刷機(jī)詳細(xì)教程

關(guān)于: MIUI TV 版本: MiTV OS 2.8.2129 (穩(wěn)定版)

小米電視r(shí)oot需要做哪些準(zhǔn)備工作?2024小米電視刷機(jī)詳細(xì)教程

設(shè)備信息: 屏幕參數(shù) 3840x2160 43英寸, 存儲(chǔ) 內(nèi)存 2GB 閃存 32GB, 無(wú)線連接 2.4GHz/5GHz 藍(lán)牙, 操作系統(tǒng) Android.

小米電視r(shí)oot需要做哪些準(zhǔn)備工作?2024小米電視刷機(jī)詳細(xì)教程

存儲(chǔ)空間: 共 30536MB, 系統(tǒng) 4446MB.

2.2 在設(shè)置中的【關(guān)于】頁(yè)面找到產(chǎn)品型號(hào) (MiTV):
小米電視r(shí)oot需要做哪些準(zhǔn)備工作?2024小米電視刷機(jī)詳細(xì)教程

選中 產(chǎn)品型號(hào) 然后連續(xù)多次點(diǎn)擊遙控器上的 確認(rèn) 按鍵, 即可進(jìn)入 開(kāi)發(fā)者模式.

2.3 在設(shè)置中的 帳號(hào)與安全 頁(yè)面, 將 ADB調(diào)試 選項(xiàng)打開(kāi):

小米電視r(shí)oot需要做哪些準(zhǔn)備工作?2024小米電視刷機(jī)詳細(xì)教程

ADB 調(diào)試這個(gè)開(kāi)關(guān)只有在上一步開(kāi)啟開(kāi)發(fā)者模式后才會(huì)出現(xiàn). 并且每次重啟之后, 這個(gè)選項(xiàng)都會(huì)自動(dòng)關(guān)閉

2.4 通過(guò)有線以太網(wǎng)或無(wú)線 wifi 將設(shè)備聯(lián)網(wǎng), 然后看一下設(shè)備的 IP 地址 (下圖已打馬):

小米電視r(shí)oot需要做哪些準(zhǔn)備工作?2024小米電視刷機(jī)詳細(xì)教程

比如此處設(shè)備的 IP 地址是 192.168.33.121
注意, 只需要將設(shè)備連接至本地局域網(wǎng), 能夠通過(guò) DHCP 獲取 IP 地址即可, 無(wú)需連接互聯(lián)網(wǎng) (Internet).

2.5 在 PC (臺(tái)式機(jī)或筆記本) 上安裝 adb工具, 然后執(zhí)行命令:
  1. > adb connect 192.168.33.121
  2. connected to 192.168.33.121:5555
  3. > adb devices
  4. List of devices attached
  5. 192.168.33.121:5555        device
復(fù)制代碼

需要在電視上使用遙控器同意 adb 調(diào)試.

此時(shí)就成功通過(guò) adb 連接到了電視!


2.6 在 PC 上使用 adb 安裝 apk, 比如

  1. adb install aida64-v198.apk
復(fù)制代碼
重復(fù)使用這個(gè)命令, 就可以安裝多個(gè)應(yīng)用

如果安裝命令執(zhí)行成功后, 沒(méi)有顯示出應(yīng)用圖標(biāo), 可以重啟電視

3.開(kāi)機(jī)進(jìn)入recovery

本章所需硬件設(shè)備: 小米電視, 小米電視的遙控器

3.1 關(guān)機(jī), 拔掉電源.

注意, 一定要拔掉電源, 僅僅關(guān)機(jī)是不夠的.

3.2  (適用于 藍(lán)牙遙控器)

同時(shí)按住遙控器上的 確認(rèn) 和 返回 按鍵, 如圖 (黃圈標(biāo)記):

小米電視r(shí)oot需要做哪些準(zhǔn)備工作?2024小米電視刷機(jī)詳細(xì)教程


按住遙控器按鍵不松手, 插電開(kāi)機(jī)。進(jìn)入recovery界面如圖:

小米電視r(shí)oot需要做哪些準(zhǔn)備工作?2024小米電視刷機(jī)詳細(xì)教程

4.制作HDMI轉(zhuǎn) UART (TTL 5V) 調(diào)試線

本章所需硬件設(shè)備: HDMI 插頭 (或 HDMI 線), USB 轉(zhuǎn) UART 模塊 (推薦 CP2102), 杜邦線, 萬(wàn)用表 (可選), 剪刀、螺絲刀等小工具.

在淘寶等購(gòu)買 HDMI 插頭 (推薦 HDMI 免焊接插頭, 方便接線), 以及 USB 轉(zhuǎn) UART 模塊 (推薦 CP2102 型號(hào)), 照片如圖:

小米電視r(shí)oot需要做哪些準(zhǔn)備工作?2024小米電視刷機(jī)詳細(xì)教程

按照下表接線:

HDMI 引腳
CP2102 模塊
備注
14
+5V
電源
15
TXD
UART 發(fā)送
16
RXD
UART 接收
20
GND
接地

注意: 5V電源線必須連接, 如果不接則 UART 不會(huì)有輸出.

接線后照片:


小米電視r(shí)oot需要做哪些準(zhǔn)備工作?2024小米電視刷機(jī)詳細(xì)教程


如果有萬(wàn)用表, 可以在接線之后測(cè)量一下是否連通。

5.開(kāi)機(jī)進(jìn)入uboot

本章所需硬件設(shè)備: 小米電視, 章節(jié) (3) 制作的調(diào)試線, PC (臺(tái)式機(jī)或筆記本)

注意: 這臺(tái)設(shè)備的 UART 波特率為 921600 ! (之前使用 115200 一直是亂碼)

5.1 將調(diào)試線的 USB 轉(zhuǎn) UART 模塊插到 PC, 并打開(kāi) UART.

使用哪種操作系統(tǒng), 以及串口軟件都可以. 以下栗子只是多種可能之一

操作命令舉例 (操作系統(tǒng) ArchLinux)

  • 插上 CP2102 模塊:

  1. > lsusb
  2. Bus 001 Device 006: ID 10c4:ea60 Silicon Labs CP210x UART Bridge
  3. > ls -l /dev/tty*
  4. crw-rw---- 1 root uucp 188,  0 12月26日 15:40 /dev/ttyUSB0
復(fù)制代碼
此處 CP2102 USB 轉(zhuǎn) UART 模塊出現(xiàn)為設(shè)備文件 /dev/ttyUSB0

  • 設(shè)置波特率為921600:
  1. > stty -F /dev/ttyUSB0 ispeed 921600 ospeed 921600
  2. > stty -F /dev/ttyUSB0 speed
  3. 921600
復(fù)制代碼

  • 打開(kāi) UART:
  1. > cu -l /dev/ttyUSB0
  2. Connected.
復(fù)制代碼

如果沒(méi)有 cu 命令, 可以安裝 uucp:
  1. > sudo pacman -S uucp
復(fù)制代碼

5.2 將調(diào)試線的 HDMI 插頭插到電視的 HDMI 1 插座, 如圖:

正常開(kāi)機(jī)狀態(tài)下, 重啟電視. 然后應(yīng)該能看到 UART 輸出的啟動(dòng)日志

  1. AOCPU unknown cmd=20
  2. [VRTC] xMboxSetRTC val=0x64373481
  3. T5:BL:b49668;ID:4D32583237340F0000250D01;FEAT:B0F875B4:280000;POC:F;RCY:0;EMMC:0;READ:0;0.0;0.0;CHK:0;
  4. aml log : uart_clk_enhance() need fine tune

  5. efuse adjust vddee vol,get efuse index value:0002
  6. use efuse adjust vddee voltage, set vol 0.84v
  7. bl2_stage_init 0x01

  8. L0:00001803
  9. L1:00000702
  10. L2:00008060
  11. L3:00000000
  12. SIP:0006c6a

  13. TE: 117954

  14. BL2 Aarch32 Built : 15:50:08, Mar 17 2023. t5 g2df8b51 - zhiguang.zhang@droid08-bj


  15. aml log : T5 efuse_get_sar_adc_ref() need fine tune
  16. Board ID = 1
  17. Set cpu clk to 24M
  18. Set clk81 to 24M
  19. CPU clk: 1800 MHz
  20. Set clk81 to 166.6M

  21. aml log : bl2_platform_setup() need fine tune
  22. eMMC boot [url=home.php?mod=space&uid=103582]@[/url] 0
  23. sw-hs 00000000
  24. s
  25. sw8 s
  26. storage init finish
  27. DDR debug 1  p_acs_set=fffc30f0,come here plat/t5/ddr/ddr.c ,207
  28. aml log : not USB BOOT...
  29. DDR_DRIVER_VERSION: AML_A_PHY_V_1_2; Built : 15:50:08, Mar 17 2023. t5 g2df8b51 - zhiguang.zhang@droid08-bj
  30. 00000000
  31. emmc switch 1 ok
  32. ddr saved addr:00016000
  33. Load ddr parameter from eMMC, src: 0x02c00000, des: 0xfffc4fbc, size: 0x00001000, part: 0
  34. 00000000
  35. emmc switch 0 ok
  36. fastboot data verify
  37. verify result: 0
  38. enable_fast_boot
  39. dram_type==DDR4
  40. config==Rank01_32bit_ch0
  41. DDR : DDR4 Rank01_32bit_ch0
  42. Set ddr clk to 1176 MHz
  43. DDR debug 1 dram_vref_reg_value=00000016 plat/t5/ddr/ddr_lib.c ,4844
  44. CS0 size: 1024MB
  45. CS1 size: 1024MB
  46. Total size: 2048MB @ 1176MHz
  47. DDR : 2048MB @1176MHz
  48. cs0 DataBus test pass
  49. cs1 DataBus test pass
  50. cs0 AddrBus test pass
  51. cs1 AddrBus test pass
  52. bdlr_step_size ps=397
  53. rpmb not init until <register.h> have been fixed
  54. Load FIP HDR from eMMC, src: 0x00014200, des: 0x00200000, size: 0x00004000, part: 0
  55. Load BL3X from eMMC, src: 0x00018200, des: 0x00204000, size: 0x00138000, part: 0

  56. boot BL31
  57. NOTICE:  BL31: v1.3(release):e2d6c4e91
  58. NOTICE:  BL31: Built : 15:39:27, May 20 2021
  59. BL31:tsensor calibration rev, buf1[1], buf1[0]: 0x2, 0x80, 0xc
  60. BL31:tsensor calibration: 0x8600000c
  61. tsensor reg: 0x20d4
  62. mhu init done-v2
  63. NOTICE:  BL31: T5 secure boot!
  64. NOTICE:  BL31: BL33 decompress pass
  65. Starting IANFO:    BL3-2: ATOS-V2.4.4-145-gf6c6ed9e2 #1 Wed Dec 16 12:45:54 2020 +0800 arm
  66. INFO:    BL3-2: Chip: T5 Rev: B (34:B - 10:11)
  67. INFO:    BL3-2: crypto engine DMA
  68. INFO:    BL3-2: secure time TEE
  69. INFO:    BL3-2: CONFIG_DEVICE_SECURE 0xb200000e
  70. OCPU FreeRTOS
  71. AOCPU image version='(no 6774b479c2e09162650601c4c33d8a1f194dd5f1 15:55:52 2023-04-04'
  72. [AOCPU]: mailbox init start
  73. reg idx=0 cmd=6 handler=100051da
  74. reg idx=1 cmd=7 handler=100051c4
  75. [AOCPU]: mailbox -v1 init end
  76. reg idx=2 cmd=9 handler=100057ca
  77. Starting timer ...
  78. reg idx=3 cmd=b4 handler=10002a4e
  79. reg idx=4 cmd=b6 handler=10002992
  80. reg idx=5 cmd=11 handler=100017b0
  81. reg idx=6 cmd=12 handler=100017e8
  82. reg idx=7 cmd=4 handler=100019b6
  83. reg idx=8 cmd=30 handler=100019a2
  84. reg idx=9 cmd=31 handler=100019b2
  85. Starting task scheduler ...
  86. protect cbus registers


  87. U-Boot 2015.01-g9fb9269-mulan_a-22 (Apr 04 2023 - 15:55:49), Build: jenkins-uboot_Mulan_A-22

  88. DRAM:  2 GiB
  89. Relocation Offset is: 76e45000
  90. mmu cfg end: 0x80000000
  91. mmu cfg end: 0x80000000
  92. spi_post_bind(spicc): req_seq = 0
  93. register usb cfg[0][1] = 0000000077f4dae8
  94. gpio: pin GPIOD_2 (gpio 2) value is 0
  95. gpio: pin GPIOD_3 (gpio 3) value is 1
  96. gpio: pin GPIOB_12 (gpio 48) value is 0
  97. gpio: pin GPIOB_13 (gpio 49) value is 0
  98. MMC:   aml_priv->desc_buf = 0x0000000073e35cd0
  99. aml_priv->desc_buf = 0x0000000073e38010
  100. SDIO Port B: 0, SDIO Port C: 1
  101. co-phase 0x3, tx-dly 0, clock 400000
  102. co-phase 0x3, tx-dly 0, clock 400000
  103. co-phase 0x3, tx-dly 0, clock 400000
  104. emmc/sd response timeout, cmd8, cmd->cmdarg=0x1aa, status=0x1ff2800
  105. emmc/sd response timeout, cmd55, cmd->cmdarg=0x0, status=0x1ff2800
  106. co-phase 0x3, tx-dly 0, clock 400000
  107. co-phase 0x3, tx-dly 0, clock 40000000
  108. init_part() 297: PART_TYPE_AML
  109. [mmc_init] mmc init success
  110. aml log : R2048 check pass!
  111.       Amlogic Multi-DTB tool
  112.       Multi DTB detected.
  113.       Multi DTB tool version: v2.
  114.       Support 2 DTBS.
  115. ddr size = 80000000
  116.       Found DTB for "t5_mulan_01_2g"
  117. start dts,buffer=0000000073e3a860,dt_addr=0000000073e3b060
  118. get_partition_from_dts() 80: ret 0
  119. parts: 19
  120. 00:      logo        0000000000800000 1
  121. 01:  recovery        0000000001800000 1
  122. 02:      misc        0000000000800000 1
  123. 03:      dtbo        0000000000800000 1
  124. 04:  cri_data        0000000000800000 11
  125. 05:     param        0000000001000000 2
  126. 06:      boot        0000000001000000 1
  127. set has_boot_slot = 0
  128. 07:       rsv        0000000001000000 1
  129. 08:  metadata        0000000001000000 1
  130. 09:    vbmeta        0000000000200000 1
  131. 10:       tee        0000000002000000 1
  132. 11:secure_recovery        0000000002000000 1
  133. 12:factorydata        0000000000a00000 11
  134. 13:    vendor        0000000020000000 1
  135. 14:       odm        0000000008000000 1
  136. 15:    system        0000000060000000 1
  137. 16:   product        0000000002000000 1
  138. 17:     cache        0000000020000000 2
  139. 18:      data        ffffffffffffffff 4
  140. init_part() 297: PART_TYPE_AML
  141. eMMC/TSD partition table have been checked OK!
  142. crc32_s:0x1577dad == storage crc_pattern:0x1577dad!!!
  143. crc32_s:0xee152b83 == storage crc_pattern:0xee152b83!!!
  144. crc32_s:0x79f50f07 == storage crc_pattern:0x79f50f07!!!
  145. mmc env offset: 0x27400000
  146. aml log : internal sys error!
  147. reboot_mode=normal
  148. gpio: pin GPIOD_7 (gpio 7) value is 1
  149. [store]To run cmd[emmc dtb_read 0x1000000 0x40000]
  150. _verify_dtb_checksum()-3476: calc 21656022, store 21656022
  151. _verify_dtb_checksum()-3476: calc 21656022, store 21656022
  152. dtb_read()-3691: total valid 2
  153. update_old_dtb()-3672: do nothing
  154. aml log : R2048 check pass!
  155.       Amlogic Multi-DTB tool
  156.       Multi DTB detected.
  157.       Multi DTB tool version: v2.
  158.       Support 2 DTBS.
  159. ddr size = 80000000
  160.       Found DTB for "t5_mulan_01_2g"
  161. amlkey_init() enter!
  162. calc 62758a9f50c, store 62758a9f50c
  163. calc 62758a9f50c, store 62758a9f50c
  164. do nothing
  165. [EFUSE_MSG]keynum is 4
  166. co-phase 0x3, tx-dly 0, clock 40000000
  167. co-phase 0x3, tx-dly 0, clock 40000000
  168. co-phase 0x3, tx-dly 0, clock 400000
  169. emmc/sd response timeout, cmd8, cmd->cmdarg=0x1aa, status=0x1ff2800
  170. emmc/sd response timeout, cmd55, cmd->cmdarg=0x0, status=0x1ff2800
  171. co-phase 0x3, tx-dly 0, clock 400000
  172. co-phase 0x3, tx-dly 0, clock 40000000
  173. init_part() 297: PART_TYPE_AML
  174. [mmc_init] mmc init success
  175. switch to partitions #0, OK
  176. mmc1(part 0) is current device
  177. current model_name: dzvc_01_20
  178. mmc env offset: 0x27400000
  179. Writing to MMC(1)... done
  180. D/    model:    handle_lcd_phy, phy_lane_ctrl[0] is (0x37)

  181. D/    model:    handle_lcd_phy, phy_lane_ctrl[1] is (0x37)

  182. D/    model:    handle_lcd_phy, phy_lane_ctrl[2] is (0x37)

  183. D/    model:    handle_lcd_phy, phy_lane_ctrl[3] is (0x37)

  184. D/    model:    handle_lcd_phy, phy_lane_ctrl[4] is (0x37)

  185. D/    model:    handle_lcd_phy, phy_lane_ctrl[5] is (0x37)

  186. D/    model:    handle_lcd_phy, phy_lane_ctrl[6] is (0x37)

  187. D/    model:    handle_lcd_phy, phy_lane_ctrl[7] is (0x37)

  188. D/    model:    handle_lcd_phy, phy_lane_ctrl[8] is (0x37)

  189. D/    model:    handle_lcd_phy, phy_lane_ctrl[9] is (0x37)

  190. D/    model:    handle_lcd_phy, phy_lane_ctrl[10] is (0x37)

  191. D/    model:    handle_lcd_phy, phy_lane_ctrl[11] is (0x37)

  192. [KM]Error:f[keymanage_dts_get_key_device]L99:lcd_optical key name is not exist
  193. [KM]Error:f[_get_km_ops_by_name]L247:key lcd_optical not know device 5
  194. [KM]Error:f[key_unify_query_exist]L367:key[lcd_optical] not cfg in dts
  195. E/    UnifyKey:    checkUnifyKey, lcd_optical query exist error.

  196. E/    ini_io:    check_hex_data_have_header_valid, rd data len error (0x0, 0xffffffff)

  197. D/    model:    handle_panel_ini, check lcd_optical param data diff (0xffffffff), save new param.

  198. [KM]Error:f[keymanage_dts_get_key_device]L99:lcd_optical key name is not exist
  199. [KM]Error:f[_get_km_ops_by_name]L247:key lcd_optical not know device 5
  200. [KM]Error:f[key_unify_write]L278:key[lcd_optical] no cfg in dts
  201. vpu: clk_level in dts: 7
  202. vpu: vpu_power_on_new
  203. vpu: set clk: 666667000Hz, readback: 666666667Hz(0x100)
  204. vpu: vpu_module_init_config
  205. vpp: vpp_init
  206. vpp: vpp osd1 matrix rgb2yuv..............
  207. vpp: vpp osd2 matrix rgb2yuv..............
  208. hdr_func 4, hdr_process_select 0x1
  209. hdr_func 1, hdr_process_select 0x1
  210. lcd: lcd_debug_print flag: 0
  211. lcd: detect mode: tv, key_valid: 1
  212. lcd: load lcd_config from unifykey
  213. lcd_phy_probe
  214. lcd: unifykey version: 0x0002
  215. lcd: unifykey version: 0x0002
  216. lcd: tcon: rsv_mem addr:0x2bc00000, size:0xc00000
  217. lcd: lcd_tcon_bin_path_update: init_load: 0
  218. lcd: tcon: load init data len: 6356, ver: 20221009
  219. lcd: lcd_tcon_bin_load
  220. E/    model:    handle_tcon_data_load, tcon_data[4] file name "/param/tcon_demura.bin" not exist.

  221. lcd extern: load config from unifykey
  222. lcd extern: add driver ext_default(0)
  223. lcd: lcd_extern_config_update_dynamic_size size:0x2b
  224. lcd: lcd_extern_config_update_dynamic_size size:0x0
  225. lcd: lcd_extern_config_update_dynamic_size size:0x0
  226. lcd extern: aml_lcd_extern_probe: index(0->0) ok
  227. lcd: load backlight_config from unifykey
  228. lcd: bl: unifykey version: 0x0001
  229. lcd: bl: pinctrl_version: 2
  230. lcd: bl: name: bl_pwm, method: 2
  231. lcd: bl: bl_level: 127
  232. lcd: bl: aml_bl_power_ctrl: 0
  233. aml log : internal sys error!
  234. s_version: U-Boot 2015.01-g9fb9269-mulan_a-22
  235. do_factorydata_read:258 Can't find out dcdc from factorydata.
  236. factorydata - Access the factorydata from Xiaomi Partition

  237. Usage:
  238. factorydata     argv:  
  239.     dump
  240.     read keyname
  241.     write keyname value
  242.     erase keyname

  243. Hit Enter or space or Ctrl+C key to stop autoboot -- :  0

  244. soc_family_id==0x00000034
  245. table_max=0000000c,p_ddr_base_add=77f4b9c0,chip_id=00000034
  246. table_index=00000000,p_ddr_base_add=77f4b9c0,(p_ddr_base->chip_id==00000028
  247. no find match chip id=0x00000034, ,G12A will use default value
  248. table_index=00000001,p_ddr_base_add=77f4ba10,(p_ddr_base->chip_id==00000029
  249. no find match chip id=0x00000034, ,G12B will use default value
  250. table_index=00000002,p_ddr_base_add=77f4ba60,(p_ddr_base->chip_id==0000002e
  251. no find match chip id=0x00000034, ,TL1 will use default value
  252. table_index=00000003,p_ddr_base_add=77f4bab0,(p_ddr_base->chip_id==0000002b
  253. no find match chip id=0x00000034, ,SM1 will use default value
  254. table_index=00000004,p_ddr_base_add=77f4bb00,(p_ddr_base->chip_id==0000002f
  255. no find match chip id=0x00000034, ,TM2 will use default value
  256. table_index=00000005,p_ddr_base_add=77f4bb50,(p_ddr_base->chip_id==0000002c
  257. no find match chip id=0x00000034, ,A1 will use default value
  258. table_index=00000006,p_ddr_base_add=77f4bba0,(p_ddr_base->chip_id==00000030
  259. no find match chip id=0x00000034, ,C1 will use default value
  260. table_index=00000007,p_ddr_base_add=77f4bbf0,(p_ddr_base->chip_id==00000033
  261. no find match chip id=0x00000034, ,C2 will use default value
  262. table_index=00000008,p_ddr_base_add=77f4bc40,(p_ddr_base->chip_id==00000032
  263. no find match chip id=0x00000034, ,SC2 will use default value
  264. table_index=00000009,p_ddr_base_add=77f4bc90,(p_ddr_base->chip_id==00000034
  265. find match chip id=0x00000034 ,T5
  266. uboot  auto fast boot check flash data is ok return
  267. Command: bcb uboot-command
  268. Start read misc partition datas!
  269. BCB hasn't any datas,exit!
  270. pll tsensor avg: 0x20da, u_efuse: 0xc
  271. temp1: 45
  272. device cool done
  273. [OSD]load fb addr from dts:/meson-fb
  274. [OSD]load fb addr from dts:/fb
  275. [OSD]set initrd_high: 0x2b400000
  276. [OSD]fb_addr for logo: 0x2b400000
  277. [OSD]load fb addr from dts:/meson-fb
  278. [OSD]load fb addr from dts:/fb
  279. [OSD]fb_addr for logo: 0x2b400000
  280. [OSD]VPP_OFIFO_SIZE:0xfff01fff
  281. [CANVAS]canvas init
  282. [CANVAS]addr=0x2b400000 width=3840, height=2160
  283. [OSD]osd_hw.free_dst_data: 0,3839,0,2159
  284. [OSD]osd1_update_disp_freescale_enable
  285. vpp: vpp_matrix_update: 0
  286. vpp: g12a/b post2(bit12) matrix: YUV limit -> RGB ..............
  287. lcd: enable: ST4251D02_1, p2p, 3840x2160@60. 0Hz
  288. lcd: tv driver init(ver 20221101): p2p
  289. lcd: reset tcon
  290. lcd: lcd_pll_wait_lock: pll_lock=1, wait_loop=1
  291. lcd: set pll spread spectrum: 15, 30000ppm
  292. lcd: set pll spread spectrum: freq=0, mode=0
  293. vpp: vpp_init_lcd_gamma_table
  294. [info]spicc_probe: amlogic,meson-g12a-spicc @00000000ffd13000
  295. [info]spicc_cs_gpio_init: cs_gpio[0]=22
  296. [info]spicc_cs_gpio_init: total (1) slaves
  297. SF: Detected XM25QH80B with page size 256 Bytes, erase size 4 KiB, total 1 MiB
  298. spi read test ok spi_read_test
  299. lcd: error: spi read test ok
  300. lcd: lcd_tcon_core_reg_set
  301. lcd: error: lcd_tcon_data_set: data index -1 is invalid
  302. lcd extern: lcd_extern_power_ctrl: ext_default(0): 1
  303. lcd: bl: set level: 127, last level: 0
  304. lcd: bl: aml_bl_power_ctrl: 1
  305. lcd: clear mute
  306. Start read misc partition datas!
  307. info->attemp_times = 0
  308. info->active_slot = 0
  309. info->slot_info[0].bootable = 1
  310. info->slot_info[0].online = 1
  311. info->slot_info[1].bootable = 0
  312. info->slot_info[1].online = 0
  313. info->attemp_times = 0
  314. attemp_times = 0
  315. active slot = 0
  316. [imgread]szTimeStamp[2023041122493711]
  317. [imgread]secureKernelImgSz=0x866000
  318. aml log : R~2048 check pass!
  319. aml log : R2048 check pass!
  320. aml log : R2048 check pass!
  321. avb2: 0
  322. ee_gate_off ...
  323. avb2: 0
  324. ## Booting Android Image at 0x01080000 ...
  325. Kernel command line: androidboot.dtbo_idx=0 buildvariant=user
  326. [store]Is good fdt check header, no need decrypt!
  327. active_slot is normal
  328. load dtb from 0x1000000 ......
  329.       Amlogic Multi-DTB tool
  330.       Single DTB detected
  331. find 1 dtbos
  332. dtbos to be applied: 0
  333. Apply dtbo 0
  334.    Loading Kernel Image(COMP_NONE) ... OK
  335.    kernel loaded at 0x01080000, end = 0x018b9000
  336. libfdt fdt_getprop(): FDT_ERR_NOTFOUND
  337.    Loading Device Tree to 0000000009fe7000, end 0000000009fff559 ... OK
  338. fdt_fixup_memory_banks, reg:0000000000000000

  339. Starting kernel ...

  340. uboot time: 3036492 us
  341. vmin:72 b2 6 0!
  342. [VRTC]: xMboxGetRTC val=0x64373481
  343. [cec_get_portinfo]: info=0x0
  344. AOCPU unknown cmd=b5
復(fù)制代碼


如果看到類似上面的輸出, 說(shuō)明調(diào)試線及各種設(shè)置一切正常!

5.3 再次重啟, 同時(shí)快速連續(xù)多次按回車鍵, 直到進(jìn)入 uboot 命令行
  1. s_version: U-Boot 2015.01-g9fb9269-mulan_a-22
  2. do_factorydata_read:258 Can't find out dcdc from factorydata.
  3. factorydata - Access the factorydata from Xiaomi Partition

  4. Usage:
  5. factorydata     argv:  
  6.     dump
  7.     read keyname
  8.     write keyname value
  9.     erase keyname

  10. Hit Enter or space or Ctrl+C key to stop autoboot -- :  0
  11. mulan#
  12. mulan#
  13. mulan#
  14. mulan#
復(fù)制代碼
好了, 這就進(jìn)入 uboot 命令行了 ! 我們先來(lái)查看一些信息

執(zhí)行 printenv 命令:
  1. mulan#printenv
  2. DisableSelinux=permissive
  3. EnableSelinux=enforcing
  4. Irq_check_en=0
  5. Ramoops_io_dump=0
  6. Ramoops_io_en=0
  7. Ramoops_io_skip=1
  8. assm_mn=DZVCARF3B18TXNXX02321
  9. assm_sn=48276106100061401
  10. baudrate=115200
  11. bl_level=127
  12. boot_part=boot
  13. bootargs=init=/init ramoops.pstore_en=1 ramoops.record_size=0x8000 ramoops.console_size=0x4000 logo=osd0,loaded,0x3d800000 powermode=on fb_width=1920 fb_height=1080 display_bpp=16 outputmode=2160p60hz vout=2160p60hz,enable panel_type= lcd_ctrl=0x00001185 osd_reverse=n video_reverse=0 androidboot.firstboot=0 jtag=disable irq_check_en=0 ramoops_io_en=0 ramoops_io_dump=0 ramoops_io_skip=1 androidboot.mi.panel_size=43 bl_level=127 androidboot.mi.panel_vendor=csot androidboot.mi.panel_resolution=3840x2160 androidboot.panel_type=20 androidboot.reboot_mode=normal androidboot.platform_id=1180 androidboot.model_name=dzvc_01_20 androidboot.redmi=false androidboot.hwid=01 androidboot.serialno=48276106100061401 androidboot.mac=78:53:33:10:dd:a5 androidboot.assm_mn=DZVCARF3B18TXNXX02321 androidboot.did_key=00CB00073C3B|754663978|k5sBrXtwBJ6BLv5O loglevel=0 androidboot.console_enable=0 androidboot.hardware=amlogic androidboot.bootloader=U-Boot 2015.01-g9fb9269-mulan_a-22 androidboot.build.expect.baseband=N/A androidboot.provider=amlogic androidboot.watchdog=enabled androidboot.mi.panel_buildin=true androidboot.mi.panel_3d_attribut=0 androidboot.mi.cpu=Cortex-A35 androidboot.mi.gpu=Mali-G31
  14. bootcmd=ddr_auto_fast_boot_check 6; run switch_bootmode
  15. bootdelay=1
  16. bootloader_version=U-Boot 2015.01-g9fb9269-mulan_a-22
  17. cec_ac_wakeup=1
  18. cec_fun=0x2F
  19. cmdline_keys=if factorydata read assm_sn; then setenv bootargs ${bootargs} androidboot.serialno=${assm_sn};else setenv bootargs ${bootargs} androidboot.serialno=1234567890;fi;if factorydata read mac; then setenv bootargs ${bootargs} androidboot.mac=${mac};fi;if factorydata read assm_mn; then setenv bootargs ${bootargs} androidboot.assm_mn=${assm_mn};fi;if factorydata read did_key; then setenv bootargs ${bootargs} androidboot.did_key=${did_key};fi;if factorydata read dcdc; then setenv bootargs ${bootargs} androidboot.dcdc=${dcdc};fi;if factorydata read log_level; then setenv bootargs ${bootargs} loglevel=${log_level};else setenv bootargs ${bootargs} quiet;fi;if factorydata read console_enable; then setenv bootargs ${bootargs} androidboot.console_enable=${console_enable};if itest ${console_enable} != 0; then setenv bootargs ${bootargs} ${console_userdebug};fi;else setenv bootargs ${bootargs} ${console_userdebug};fi;if factorydata read mitv_screen_on; then if test ${mitv_screen_on} = false; then factorydata write mitv_screen_on 'true';else factorydata write mitv_screen_on 'true';setenv mitv_screen_on true;fi;else factorydata write mitv_screen_on 'true';setenv mitv_screen_on true;fi;
  20. console_enable=0
  21. console_userdebug=console=ttyS0,921600 no_console_suspend earlycon=aml-uart,0xffd23000 printk.devkmsg=on
  22. did_key=00CB00073C3B|754663978|k5sBrXtwBJ6BLv5O
  23. display_bpp=16
  24. display_color_bg=0
  25. display_color_fg=0xffff
  26. display_color_index=16
  27. display_height=1080
  28. display_layer=osd0
  29. display_width=1920
  30. dtb_mem_addr=0x1000000
  31. edid_14_dir=/odm/etc/tvconfig/hdmi/port_14.bin
  32. edid_20_dir=/odm/etc/tvconfig/hdmi/port_20.bin
  33. edid_select=0
  34. factory_reset_poweroff_protect=if test ${wipe_data} = failed; then echo wipe_data=${wipe_data};run update;fi;if test ${wipe_cache} = failed; then echo wipe_cache=${wipe_cache};run update;fi;
  35. fb_addr=0x3d800000
  36. fb_height=1080
  37. fb_width=1920
  38. fdt_high=0x20000000
  39. ffv_freeze=off
  40. ffv_wake=off
  41. firstboot=0
  42. frac_rate_policy=1
  43. fs_type=root=/dev/mmcblk0p20 ro rootwait skip_initramfs
  44. hdmimode=2160p60hz
  45. hdr_policy=1
  46. hwid=01
  47. init_display=osd open;osd clear;if test ${redmi} = true; then imgread pic logo redmi ${loadaddr};bmp display ${redmi_offset};else imgread pic logo bootup ${loadaddr};bmp display ${bootup_offset};fi;bmp scale;vout output ${outputmode}
  48. initargs=init=/init ramoops.pstore_en=1 ramoops.record_size=0x8000 ramoops.console_size=0x4000
  49. irremote_update=if irkey 2500000 0xe31cfb04 0xb748fb04; then echo read irkey ok!; if itest ${irkey_value} == 0xe31cfb04; then run update;fi;fi;
  50. jtag=disable
  51. lcd_ctrl=0x00001185
  52. lcd_init_level=0
  53. led_brightness=0xff
  54. loadaddr=1080000
  55. lock=10101000
  56. log_level=0
  57. logic_addr=0x0
  58. mac=78:53:33:10:dd:a5
  59. mitv_screen_on=true
  60. model_edid=/odm/etc/tvconfig/hdmi/port_14.bin
  61. model_name=dzvc_01_20
  62. model_panel=/odm/panel/CSOT_ST4251D02-1/p2p_cspi_cvte.ini
  63. model_tcon=/odm/panel/CSOT_ST4251D02-1/p2p_cspi.bin
  64. model_tcon_bin_header=1
  65. model_tcon_ext_b0=null
  66. model_tcon_ext_b0_spi=/param/tcon_p_gamma.bin
  67. model_tcon_ext_b1=null
  68. model_tcon_ext_b1_spi=null
  69. model_tcon_ext_b2=null
  70. model_tcon_ext_b2_spi=null
  71. model_tcon_ext_b3=null
  72. model_tcon_ext_b3_spi=null
  73. osd_reverse=n
  74. otg_device=0
  75. outputmode=2160p60hz
  76. panel_name=ST4251D02_1
  77. panel_resolution=3840x2160
  78. panel_reverse=0
  79. panel_size=43
  80. panel_vendor=csot
  81. platform_id=1180
  82. port_map=4312
  83. powermode=on
  84. preboot=run storeargs;
  85. ramdump_enable=1
  86. reboot_mode=normal
  87. recovery_from_flash=if itest ${upgrade_step} == 3; then if ext4load mmc 1:2 ${dtb_mem_addr} /recovery/dtb.img; then echo cache dtb.img loaded; fi;if ext4load mmc 1:2 ${loadaddr} /recovery/recovery.img; then echo cache recovery.img loaded; bootm ${loadaddr}; fi;fi;if imgread kernel ${recovery_part} ${loadaddr} ${recovery_offset}; then bootm ${loadaddr}; fi;
  88. recovery_from_udisk=if fatload usb 0 ${loadaddr} mulan.autoscript; then autoscr ${loadaddr}; fi;if fatload usb 0 ${loadaddr} mulan.recovery; then if fatload usb 0 ${dtb_mem_addr} mulan.dtb; then echo udisk dtb loaded; fi;bootm ${loadaddr};fi;
  89. recovery_fs_type=root=ramfs
  90. recovery_offset=0
  91. recovery_part=recovery
  92. redmi=false
  93. sdr2hdr=0
  94. secureboot=setenv bootargs ${bootargs} ${recovery_fs_type} otg_device=0;run init_display;get_valid_slot;if imgread kernel secure_recovery ${loadaddr} 0; then bootm ${loadaddr}; fi;reboot;
  95. stderr=serial
  96. stdin=serial
  97. stdout=serial
  98. storeargs=get_rebootmode;get_bootloaderversion;setenv bootargs ${initargs} logo=${display_layer},loaded,${fb_addr} powermode=${powermode} fb_width=${fb_width} fb_height=${fb_height} display_bpp=${display_bpp} outputmode=${outputmode} vout=${outputmode},enable panel_type=${panel_type} lcd_ctrl=${lcd_ctrl} osd_reverse=${osd_reverse} video_reverse=${video_reverse} androidboot.firstboot=${firstboot} jtag=${jtag} irq_check_en=${Irq_check_en} ramoops_io_en=${Ramoops_io_en} ramoops_io_dump=${Ramoops_io_dump} ramoops_io_skip=${Ramoops_io_skip};setenv bootargs ${bootargs} androidboot.mi.panel_size=${panel_size} bl_level=${bl_level} androidboot.mi.panel_vendor=${panel_vendor} androidboot.mi.panel_resolution=${panel_resolution} androidboot.panel_type=${tag};setenv bootargs ${bootargs} androidboot.reboot_mode=${reboot_mode} androidboot.platform_id=${platform_id} androidboot.model_name=${model_name} androidboot.redmi=${redmi} androidboot.hwid=${hwid};run cmdline_keys;setenv bootargs ${bootargs} androidboot.hardware=amlogic androidboot.bootloader=${bootloader_version} androidboot.build.expect.baseband=N/A;setenv bootargs ${bootargs} androidboot.provider=amlogic androidboot.watchdog=enabled androidboot.mi.panel_buildin=true androidboot.mi.panel_3d_attribut=0 androidboot.mi.cpu=Cortex-A35 androidboot.mi.gpu=Mali-G31;
  99. suspend=shutdown
  100. switch_bootmode=bcb uboot-command;run factory_reset_poweroff_protect;run upgrade_check;if test ${reboot_mode} = cold_boot; then if adcdetect; then echo GOT secure_recovery key from ADC;run secureboot;fi;if irdetect; then echo GOT recovery key from IR;run update;fi;if monitor_bt_cmdline; then echo GOT recovery key from BT;run update;fi;if factorydata read factory_power_mode; then echo Factory power mode: ${factory_power_mode};if test ${factory_power_mode} = secondary;then systemoff;fi;fi;else boot_cooling;if test ${reboot_mode} = fastboot; then fastboot;else if test ${reboot_mode} = update; then setenv bootargs ${bootargs} ${recovery_fs_type} aml_dt=${aml_dt} recovery_part=${recovery_part} recovery_offset=${recovery_offset} androidboot.selinux=${DisableSelinux} otg_device=0;run init_display;run recovery_from_flash;else if test ${reboot_mode} = watchdog_reboot; then if test ${mitv_screen_on} = false; then monitor_bt_cmdline;echo watchdog enter system off;systemoff;fi;else if test ${reboot_mode} = kernel_panic; then if test ${mitv_screen_on} = false; then monitor_bt_cmdline;echo kernel_panic enter system off;systemoff;fi;else if test ${reboot_mode} = factory_reset; then setenv bootargs ${bootargs} ${recovery_fs_type} aml_dt=${aml_dt} recovery_part=${recovery_part} recovery_offset=${recovery_offset} androidboot.selinux=${DisableSelinux} otg_device=0;run init_display;run recovery_from_flash;fi; fi; fi; fi; fi; fi;run init_display;setenv bootargs ${bootargs} ${fs_type} androidboot.selinux=${EnableSelinux} otg_device=${otg_device} androidboot.led_brightness=${led_brightness};get_valid_slot;if imgread kernel boot ${loadaddr}; then bootm ${loadaddr}; fi;run storeargs;setenv bootargs ${bootargs} ${recovery_fs_type} aml_dt=${aml_dt} recovery_part=${recovery_part} recovery_offset=${recovery_offset} androidboot.selinux=${DisableSelinux} otg_device=0;run recovery_from_flash;
  101. tag=20
  102. update=setenv bootargs ${bootargs} ${recovery_fs_type} aml_dt=${aml_dt} recovery_part=${recovery_part} recovery_offset=${recovery_offset} androidboot.selinux=${DisableSelinux} otg_device=0;run init_display;if usb start 0; then run recovery_from_udisk;fi;run recovery_from_flash;
  103. upgrade_check=if itest ${upgrade_step} == 3; then echo upgrade_step=${upgrade_step}; run update;fi;
  104. upgrade_step=0
  105. video_reverse=0
  106. wipe_cache=successful
  107. wipe_data=successful

  108. Environment size: 9759/65532 bytes
  109. mulan#
復(fù)制代碼

uboot 命令行幫助信息
  1. mulan#help
  2. ?       - alias for 'help'
  3. adcdetect- Detect ADC Key to start secure recovery system
  4. adnl    - use Amlogic DNL protocol
  5. aml_bcb - aml_bcb
  6. aml_sysrecovery- Burning with amlogic format package from partition sysrecovery
  7. amlmmc  - AMLMMC sub system
  8. autoscr - run script from memory
  9. avb     - avb
  10. base    - print or set address offset
  11. bcb     - bcb
  12. bmp     - manipulate BMP image data
  13. boot_cooling- cpu temp-system
  14. booti   - boot arm64 Linux Image image from memory
  15. bootm   - boot application image from memory
  16. cec     - Amlogic cec
  17. clkmsr  - Amlogic measure clock
  18. cmp     - memory compare
  19. cp      - memory copy
  20. crc32   - checksum calculation
  21. dcache  - enable or disable data cache
  22. ddr_auto_fast_boot_check- ddr_fastboot_config cmd arg1 arg2 arg3...
  23. ddr_auto_scan_drv- ddr_test_cmd cmd arg1 arg2 arg3...
  24. ddr_auto_test_window- ddr_test_cmd cmd arg1 arg2 arg3...
  25. ddr_cpu_test- ddr_test_cmd cmd arg1 arg2 arg3...
  26. ddr_fast_boot- ddr_fastboot_config cmd arg1 arg2 arg3...
  27. ddr_g12_offset_data- ddr_g12_offset_data  1 0  0 0  1 3
  28. ddr_g12_override_data- ddr_g12_override_data  1 0  0 0  1 3
  29. ddr_spec_test- DDR test function
  30. ddr_test_cmd- ddr_test_cmd cmd arg1 arg2 arg3...
  31. ddr_test_copy- ddr_test_copy function
  32. ddrtest - DDR test function
  33. defenv_reserv- reserve some specified envs after defaulting env
  34. dspjtagreset- excute dsp jtag rest
  35. dtimg   - manipulate dtb/dtbo Android image
  36. echo    - echo args to console
  37. efuse   - efuse commands
  38. efuse_user- efuse user space read write ops
  39. emmc    - EMMC sub system
  40. env     - environment handling commands
  41. exit    - exit script
  42. ext4load- load binary file from a Ext4 filesystem
  43. ext4ls  - list files in a directory (default /)
  44. ext4size- determine a file's size
  45. factorydata- Access the factorydata from Xiaomi Partition
  46. false   - do nothing, unsuccessfully
  47. fastboot- use USB Fastboot protocol
  48. fatinfo - print information about filesystem
  49. fatload - load binary file from a dos filesystem
  50. fatls   - list files in a directory (default /)
  51. fatsize - determine a file's size
  52. fdt     - flattened device tree utility commands
  53. forceupdate- forceupdate
  54. g12_d2pll- g12_d2pll 1300  1 0x10 0
  55. get_avb_mode- get_avb_mode
  56. get_bootloaderversion- print bootloader version
  57. get_nearly_model- find the nearly model name
  58. get_rebootmode- get reboot mode
  59. get_system_as_root_mode- get_system_as_root_mode
  60. get_valid_slot- get_valid_slot
  61. go      - start application at address 'addr'
  62. gpio    - query and control gpio pins
  63. gpt     - GUID Partition Table
  64. guid    - GUID - generate Globally Unique Identifier based on random UUID
  65. hdmirx  - hdmirx init function

  66. help    - print command description/usage
  67. i2c     - I2C sub-system
  68. icache  - enable or disable instruction cache
  69. img_osd - image osd sub-system
  70. imgread - Read the image from internal flash with actual size
  71. ini     - parse an ini file in memory and merge the specified section into the env
  72. ini_model- parse ini file by env model_name
  73. init_vpp- Initial VPP Module
  74. irdetect- Detect IR Key to start recovery system
  75. itest   - return true/false on integer compare
  76. jtagoff - disable jtag
  77. jtagon  - enable jtag
  78. keyman  - Unify key ops interfaces based dts cfg
  79. keyunify- key unify sub-system
  80. lcd     - lcd sub-system
  81. loadb   - load binary file over serial line (kermit mode)
  82. loadx   - load binary file over serial line (xmodem mode)
  83. loady   - load binary file over serial line (ymodem mode)
  84. loop    - infinite loop on address range
  85. md      - memory display
  86. mm      - memory modify (auto-incrementing address)
  87. mmc     - MMC sub system
  88. mmcinfo - display MMC info
  89. model_list- list ini model name
  90. monitor_bt_cmdline- monitor_bt_cmdline
  91. mw      - memory write (fill)
  92. mwm     - mw mask function
  93. nm      - memory modify (constant address)
  94. open_scp_log- print SCP messgage
  95. osd     - osd sub-system
  96. panel_detect- Detect panel type from GPIO pin configuration
  97. printenv- print environment variables
  98. query   - SoC query commands
  99. rdext4pic- read logo bmp from ext4 part
  100. readMetadata- readMetadata
  101. read_temp- cpu temp-system
  102. reboot  - set reboot mode and reboot system
  103. reset   - Perform RESET of the CPU
  104. ringmsr - Amlogic measure ring
  105. rpmb_state- RPMB sub-system
  106. rsvmem  - reserve memory
  107. run     - run commands in an environment variable
  108. saradc  - saradc sub-system
  109. saradc_12bit- saradc sub-system
  110. saveenv - save environment variables to persistent storage
  111. sdc_burn- Burning with amlogic format package in sdmmc
  112. sdc_update- Burning a partition with image file in sdmmc card
  113. set_active_slot- set_active_slot
  114. set_trim_base- cpu temp-system
  115. set_usb_boot- set usb boot mode
  116. setenv  - set environment variables
  117. sf      - SPI flash sub-system
  118. showvar - print local hushshell variables
  119. sleep   - delay execution for some time
  120. spi_read_test- read spi

  121. sspi    - SPI utility command
  122. startdsp- load dspboot.bin from address
  123. store   - STORE sub-system
  124. systemoff- system off
  125. tee_log_level- update tee log level
  126. temp_triming- cpu temp-system
  127. test    - minimal test like /bin/sh
  128. testcache- cache test
  129. testsmp - test each CPU power on/off
  130. true    - do nothing, successfully
  131. unpackimg- un pack logo image into pictures
  132. usb     - USB sub-system
  133. usb_burn- Burning with amlogic format package in usb
  134. usb_update- Burning a partition with image file in usb host
  135. usbboot - boot from USB device
  136. uuid    - UUID - generate random Universally Unique Identifier
  137. version - print monitor, compiler and linker version
  138. viu_probe- enable viu probe in no secure chip
  139. vout    - VOUT sub-system
  140. vout2   - VOUT2 sub-system
  141. vpp     - vpp sub-system
  142. vpu     - vpu sub-system
  143. write_trim- cpu temp-system
  144. write_version- cpu temp-system
  145. mulan#
復(fù)制代碼

分區(qū)信息
  1. mulan#mmcinfo
  2. Device: SDIO Port C
  3. Manufacturer ID: 9b
  4. OEM: 100
  5. Name: Y2P03
  6. Tran Speed: 52000000
  7. Rd Block Len: 512
  8. MMC version 5.1
  9. High Capacity: Yes
  10. Capacity: (0x747c00000 Bytes) 29.1 GiB
  11. mmc clock: 40000000
  12. Bus Width: 8-bit
  13. mulan#mmc part

  14. Partition Map for MMC device 1  --   Partition Type: AML

  15. Part   Start     Sect x Size Type  name
  16. 00 0 8192    512 U-Boot bootloader
  17. 01 73728 131072    512 U-Boot reserved
  18. 02 221184 1048576    512 U-Boot cache
  19. 03 1286144 16384    512 U-Boot env
  20. 04 1318912 16384    512 U-Boot logo
  21. 05 1351680 49152    512 U-Boot recovery
  22. 06 1417216 16384    512 U-Boot misc
  23. 07 1449984 16384    512 U-Boot dtbo
  24. 08 1482752 16384    512 U-Boot cri_data
  25. 09 1515520 32768    512 U-Boot param
  26. 10 1564672 32768    512 U-Boot boot
  27. 11 1613824 32768    512 U-Boot rsv
  28. 12 1662976 32768    512 U-Boot metadata
  29. 13 1712128 4096    512 U-Boot vbmeta
  30. 14 1732608 65536    512 U-Boot tee
  31. 15 1814528 65536    512 U-Boot secure_recovery
  32. 16 1896448 20480    512 U-Boot factorydata
  33. 17 1933312 1048576    512 U-Boot vendor
  34. 18 2998272 262144    512 U-Boot odm
  35. 19 3276800 3145728    512 U-Boot system
  36. 20 6438912 65536    512 U-Boot product
  37. 21 6520832 54550528    512 U-Boot data
  38. ** Partition 22 not found on device 1 **
  39. mulan#
復(fù)制代碼

重啟設(shè)備:
  1. mulan#reset
  2. resetting ...
復(fù)制代碼

6. 進(jìn)入 recovery 命令行

本章所需硬件設(shè)備: 小米電視, 小米電視的遙控器, 章節(jié) (3) 制作的調(diào)試線, PC (臺(tái)式機(jī)或筆記本)

6.1 按照章節(jié) (5) 的方法進(jìn)入 uboot 命令行

工廠數(shù)據(jù)
  1. mulan#factorydata
  2. factorydata - Access the factorydata from Xiaomi Partition

  3. Usage:
  4. factorydata     argv:  
  5.     dump
  6.     read keyname
  7.     write keyname value
  8.     erase keyname

  9. mulan#factorydata dump
  10. do_factorydata_dump : Got factory_power_mode[18] is [9]secondary
  11. do_factorydata_dump : Got console_enable[14] is [1]0
  12. do_factorydata_dump : Got pcba_mn[7] is [21]DZVCBCP3A12XXNXF00793
  13. do_factorydata_dump : Got pcba_sn[7] is [21]DZVCBCP3A12XXNXF00793
  14. do_factorydata_dump : Got assm_sn[7] is [17]48276106100061401
  15. do_factorydata_dump : Got mac[3] is [17]78:53:33:10:dd:a5
  16. do_factorydata_dump : Got did_key[7] is [39]00CB00073C3B|754663978|k5sBrXtwBJ6BLv5O
  17. do_factorydata_dump : Got assm_mn[7] is [21]DZVCARF3B18TXNXX02321
  18. do_factorydata_dump : Got bt_rc_mac[9] is [18]F4:22:7A:63:AE:6D;
  19. do_factorydata_dump : Got log_level[9] is [1]0
  20. do_factorydata_dump : Got mitv_screen_on[14] is [4]true
  21. do_factorydata_dump : Got miot_beacon_pdu[15] is [38]0201060FFF8F030A10070F00ACE90FE18040E0
  22. mulan#
復(fù)制代碼


6.2 啟用 console:
  1. mulan#factorydata write console_enable 1
復(fù)制代碼


6.3 按照章節(jié) (3) 的方法進(jìn)入 recovery
  1. Starting kernel ...

  2. uboot time: 10638025 us
  3. vmin:72 b2 6 0!
  4. [VRTC]: xMboxGetRTC val=0x0
  5. [cec_get_portinfo]: info=0x0
  6. AOCPU unknown cmd=b5
  7. #
復(fù)制代碼
好了, 我們進(jìn)入 recovery 命令行了 ! 看一下基本信息
  1. # type busybox
  2. busybox is /sbin/busybox
  3. # busybox id
  4. uid=0(root) gid=0(root) context=u:r:shell:s0
  5. # busybox getenforce
  6. Permissive
  7. # busybox uname -a
  8. Linux localhost 4.9.113 #1 SMP PREEMPT Tue Apr 11 22:37:53 CST 2023 armv7l GNU/Linux
  9. #
復(fù)制代碼
好, 我們是 root, 并且 SELinux 處于關(guān)閉狀態(tài), 可以為所欲為了!

根目錄:
  1. # busybox ls -al /
  2. total 2080
  3. __bionic_open_tzdata: couldn't find any tzdata when looking for localtime!
  4. __bionic_open_tzdata: couldn't find any tzdata when looking for GMT!
  5. __bionic_open_tzdata: couldn't find any tzdata when looking for posixrules!
  6. drwxr-xr-x   27 root     root             0 Jan  1 00:00 .
  7. drwxr-xr-x   27 root     root             0 Jan  1 00:00 ..
  8. dr-xr-xr-x    4 root     root             0 Jan  1 00:00 acct
  9. lrwxrwxrwx    1 root     root            11 Jan  1  1970 bin -> /system/bin
  10. drwxr-xr-x    2 root     root             0 Jan  1  1970 boot
  11. lrwxrwxrwx    1 root     root            50 Jan  1  1970 bugreports -> /data/user_de/0/com.android.shell/files/bugreports
  12. drwxrwx---    6 system   cache         4096 Jan  1 00:03 cache
  13. lrwxrwxrwx    1 root     root            13 Jan  1  1970 charger -> /sbin/charger
  14. drwxr-xr-x    4 root     root             0 Jan  1  1970 config
  15. lrwxrwxrwx    1 root     root            17 Jan  1  1970 d -> /sys/kernel/debug
  16. drwxr-xr-x    2 root     root             0 Jan  1  1970 data
  17. lrwxrwxrwx    1 root     root            12 Jan  1  1970 default.prop -> prop.default
  18. drwxr-xr-x   12 root     root          5320 Jan  1 00:00 dev
  19. drwxr-xr-x    2 root     root             0 Jan  1  1970 etc
  20. -rwxr-x---    1 root     root       1500384 Jan  1  1970 init
  21. -rwxr-x---    1 root     root          2842 Jan  1  1970 init.rc
  22. -rwxr-x---    1 root     root         14915 Jan  1  1970 init.recovery.amlogic.rc
  23. drwxr-xr-x    2 root     root             0 Jan  1  1970 metadata
  24. drwxr-xr-x    3 root     system          60 Jan  1 00:00 mnt
  25. drwxr-xr-x    2 root     root             0 Jan  1  1970 odm
  26. drwxr-xr-x    2 root     root             0 Jan  1  1970 oem
  27. drwxr-xr-x    3 root     root             0 Jan  1  1970 persist
  28. -rw-r--r--    1 root     root         24584 Jan  1  1970 plat_file_contexts
  29. -rw-r--r--    1 root     root         28976 Jan  1  1970 plat_property_contexts
  30. dr-xr-xr-x  137 root     root             0 Jan  1  1970 proc
  31. drwxr-xr-x    2 root     root             0 Jan  1  1970 product
  32. -rw-r--r--    1 root     root          6676 Jan  1  1970 prop.default
  33. drwxr-xr-x    3 root     root             0 Jan  1  1970 res
  34. drwx------    2 root     root             0 Apr 11  2023 root
  35. drwxr-x---    2 root     root             0 Jan  1  1970 sbin
  36. drwxr-xr-x    2 root     root             0 Jan  1  1970 sdcard
  37. -rw-r--r--    1 root     root        472377 Jan  1  1970 sepolicy
  38. drwxr-xr-x    2 root     root             0 Jan  1 00:00 sideload
  39. drwxr-x--x    2 root     root             0 Jan  1  1970 storage
  40. dr-xr-xr-x   12 root     root             0 Jan  1 00:00 sys
  41. lrwxr-xr-x    1 root     root            19 Jan  1  1970 system -> /system_root/system
  42. drwxr-xr-x    2 root     root             0 Jan  1  1970 system_root
  43. drwxrwxr-x    2 root     shell           80 Jan  1 00:00 tmp
  44. drwx------    3 root     root          8192 Jan  1  1970 udisk
  45. -rw-r--r--    1 root     root          5272 Jan  1  1970 ueventd.rc
  46. drwxr-xr-x    5 root     root             0 Jan  1  1970 vendor
  47. -rw-r--r--    1 root     root         28202 Jan  1  1970 vendor_file_contexts
  48. -rw-r--r--    1 root     root          4146 Jan  1  1970 vendor_property_contexts
  49. #
復(fù)制代碼

7.在 uboot 下備份各個(gè)系統(tǒng)分區(qū)

本章所需硬件設(shè)備: 小米電視, 章節(jié) (3) 制作的調(diào)試線, PC (臺(tái)式機(jī)或筆記本), U 盤 (1 個(gè), 格式化為 FAT32 文件系統(tǒng), 容量 8GB 以上)


8.在 recovery下備份各個(gè)系統(tǒng)分區(qū)

本章所需硬件設(shè)備: 小米電視, 小米電視的遙控器, 章節(jié) (3) 制作的調(diào)試線, PC (臺(tái)式機(jī)或筆記本), U 盤 (1 個(gè), 格式化為 FAT32 文件系統(tǒng), 容量 8GB 以上).

8.1 插入 U 盤 (FAT32 格式), 然后進(jìn)入 recovery

看一下分區(qū)
  1. # busybox ls -al /dev/block
  2. total 0
  3. __bionic_open_tzdata: couldn't find any tzdata when looking for localtime!
  4. __bionic_open_tzdata: couldn't find any tzdata when looking for GMT!
  5. __bionic_open_tzdata: couldn't find any tzdata when looking for posixrules!
  6. drwxr-xr-x    3 root     root           820 Jan  1 00:00 .
  7. drwxr-xr-x   12 root     root          5320 Jan  1 00:00 ..
  8. brw-------    1 root     root      179,  11 Jan  1 00:00 boot
  9. brw-------    1 root     root      179,   1 Jan  1 00:00 bootloader
  10. brw-------    1 root     root      179,   3 Jan  1 00:00 cache
  11. brw-------    1 root     root      179,   9 Jan  1 00:00 cri_data
  12. brw-------    1 root     root      179,  22 Jan  1 00:00 data
  13. brw-------    1 root     root      179,   8 Jan  1 00:00 dtbo
  14. brw-------    1 root     root      179,   4 Jan  1 00:00 env
  15. brw-------    1 root     root      179,  17 Jan  1 00:00 factorydata
  16. brw-------    1 root     root      179,   5 Jan  1 00:00 logo
  17. brw-------    1 root     root        7,   0 Jan  1 00:00 loop0
  18. brw-------    1 root     root        7,   8 Jan  1 00:00 loop1
  19. brw-------    1 root     root        7,  16 Jan  1 00:00 loop2
  20. brw-------    1 root     root        7,  24 Jan  1 00:00 loop3
  21. brw-------    1 root     root        7,  32 Jan  1 00:00 loop4
  22. brw-------    1 root     root        7,  40 Jan  1 00:00 loop5
  23. brw-------    1 root     root        7,  48 Jan  1 00:00 loop6
  24. brw-------    1 root     root        7,  56 Jan  1 00:00 loop7
  25. brw-------    1 root     root      179,  13 Jan  1 00:00 metadata
  26. brw-------    1 root     root      179,   7 Jan  1 00:00 misc
  27. brw-------    1 root     root      179,   0 Jan  1 00:00 mmcblk0
  28. brw-------    1 root     root      179,  32 Jan  1 00:00 mmcblk0boot0
  29. brw-------    1 root     root      179,  64 Jan  1 00:00 mmcblk0boot1
  30. brw-------    1 root     root      179,  96 Jan  1 00:00 mmcblk0rpmb
  31. brw-------    1 root     root       31,   0 Jan  1 00:00 mtdblock0
  32. brw-------    1 root     root      179,  19 Jan  1 00:00 odm
  33. brw-------    1 root     root      179,  10 Jan  1 00:00 param
  34. drwxr-xr-x    5 root     root           100 Jan  1 00:00 platform
  35. brw-------    1 root     root      179,  21 Jan  1 00:00 product
  36. brw-------    1 root     root      179,   6 Jan  1 00:00 recovery
  37. brw-------    1 root     root      179,   2 Jan  1 00:00 reserved
  38. brw-------    1 root     root      179,  12 Jan  1 00:00 rsv
  39. brw-------    1 root     root        8,   0 Jan  1 00:00 sda
  40. brw-------    1 root     root        8,   1 Jan  1 00:00 sda1
  41. brw-------    1 root     root      179,  16 Jan  1 00:00 secure_recovery
  42. brw-------    1 root     root      179,  20 Jan  1 00:00 system
  43. brw-------    1 root     root      179,  15 Jan  1 00:00 tee
  44. brw-------    1 root     root      179,  14 Jan  1 00:00 vbmeta
  45. brw-------    1 root     root      179,  18 Jan  1 00:00 vendor
  46. brw-------    1 root     root      254,   0 Jan  1 00:00 zram0
復(fù)制代碼

掛載狀態(tài)
  1. # busybox mount
  2. rootfs on / type rootfs (rw,seclabel)
  3. tmpfs on /dev type tmpfs (rw,seclabel,nosuid,relatime,mode=755)
  4. devpts on /dev/pts type devpts (rw,seclabel,relatime,mode=600,ptmxmode=000)
  5. proc on /proc type proc (rw,relatime)
  6. sysfs on /sys type sysfs (rw,seclabel,relatime)
  7. selinuxfs on /sys/fs/selinux type selinuxfs (rw,relatime)
  8. tmpfs on /mnt type tmpfs (rw,seclabel,nosuid,nodev,noexec,relatime,mode=755,gid=1000)
  9. none on /acct type cgroup (rw,relatime,cpuacct)
  10. tmpfs on /tmp type tmpfs (rw,seclabel,relatime)
  11. none on /config type configfs (rw,relatime)
  12. adb on /dev/usb-ffs/adb type functionfs (rw,relatime)
  13. /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)
  14. /dev/block/cache on /cache type ext4 (rw,seclabel,nodev,noatime,nodiratime,discard,data=ordered)
  15. # busybox ls -al /udisk
  16. total 16
  17. __bionic_open_tzdata: couldn't find any tzdata when looking for localtime!
  18. __bionic_open_tzdata: couldn't find any tzdata when looking for GMT!
  19. __bionic_open_tzdata: couldn't find any tzdata when looking for posixrules!
  20. drwx------    3 root     root          8192 Jan  1  1970 .
  21. drwxr-xr-x   27 root     root             0 Jan  1 00:00 ..
  22. drwx------    2 root     root          8192 Dec 26  2023 202312
  23. #
復(fù)制代碼
recovery 已經(jīng)自動(dòng)將 U盤掛載到了 /udisk 目錄

8.2 備份除了 data (用戶數(shù)據(jù)) 外的所有分區(qū)
  1. # busybox dd if=/dev/block/boot of=/udisk/boot.img
  2. 32768+0 records in
  3. 32768+0 records out
  4. 16777216 bytes (16.0MB) copied, 0.417935 seconds, 38.3MB/s
  5. #
復(fù)制代碼
重復(fù)使用 dd 命令, 具體需要備份的分區(qū)可以參考以下列表:
  1. # busybox ls -al /udisk
  2. total 3072016
  3. __bionic_open_tzdata: couldn't find any tzdata when looking for localtime!
  4. __bionic_open_tzdata: couldn't find any tzdata when looking for GMT!
  5. __bionic_open_tzdata: couldn't find any tzdata when looking for posixrules!
  6. drwx------    3 root     root          8192 Jan  1 00:21 .
  7. drwxr-xr-x   27 root     root             0 Jan  1 00:00 ..
  8. drwx------    2 root     root          8192 Dec 26  2023 202312
  9. -rwx------    1 root     root      16777216 Jan  1 00:05 boot.img
  10. -rwx------    1 root     root       4194304 Jan  1 00:06 bootloader.img
  11. -rwx------    1 root     root     536870912 Jan  1 00:13 cache.img
  12. -rwx------    1 root     root       8388608 Jan  1 00:16 cri_data.img
  13. -rwx------    1 root     root       8388608 Jan  1 00:17 dtbo.img
  14. -rwx------    1 root     root       8388608 Jan  1 00:17 env.img
  15. -rwx------    1 root     root      10485760 Jan  1 00:18 factorydata.img
  16. -rwx------    1 root     root       8388608 Jan  1 00:20 logo.img
  17. -rwx------    1 root     root      16777216 Jan  1 00:18 metadata.img
  18. -rwx------    1 root     root       8388608 Jan  1 00:20 misc.img
  19. -rwx------    1 root     root       4194304 Jan  1 00:12 mmcblk0boot0.img
  20. -rwx------    1 root     root       4194304 Jan  1 00:12 mmcblk0boot1.img
  21. -rwx------    1 root     root     134217728 Jan  1 00:16 odm.img
  22. -rwx------    1 root     root      16777216 Jan  1 00:17 param.img
  23. -rwx------    1 root     root      33554432 Jan  1 00:19 product.img
  24. -rwx------    1 root     root      25165824 Jan  1 00:21 recovery.img
  25. -rwx------    1 root     root      67108864 Jan  1 00:21 reserved.img
  26. -rwx------    1 root     root      16777216 Jan  1 00:12 rsv.img
  27. -rwx------    1 root     root      33554432 Jan  1 00:16 secure_recovery.img
  28. -rwx------    1 root     root     1610612736 Jan  1 00:24 system.img
  29. -rwx------    1 root     root      33554432 Jan  1 00:17 tee.img
  30. -rwx------    1 root     root       2097152 Jan  1 00:18 vbmeta.img
  31. -rwx------    1 root     root     536870912 Jan  1 00:20 vendor.img
  32. #
復(fù)制代碼

8.3 重啟設(shè)備, 拔出 U 盤

然后把上述獲得的分區(qū)鏡像文件, 打包壓縮一下, 找個(gè)安全的地方備份起來(lái) (建議上傳網(wǎng)盤), 以后對(duì)于救磚有重要用途

上述整個(gè)操作過(guò)程中獲得的各種信息 (UART 輸出), 也建議保存?zhèn)溆?br />
以上就是我對(duì)”小米電視r(shí)oot需要做哪些準(zhǔn)備工作?2024小米電視刷機(jī)詳細(xì)教程”的內(nèi)容分享,如果還有其他問(wèn)題可以在評(píng)論區(qū)留言。



相關(guān)閱讀:
海信電視如何精簡(jiǎn)系統(tǒng)?海信電視刷機(jī)簡(jiǎn)化系統(tǒng)操作教程

上一篇:智能電視怎么調(diào)出電視臺(tái)頻道?什么軟件可以看電視直播?
下一篇:什么軟件看電視劇全部免費(fèi)?2024免費(fèi)看電視劇的軟件合集
沙發(fā)
發(fā)表于 2024-7-8 13:13 | 只看該作者 | 來(lái)自江西
來(lái)看看這個(gè)
板凳
發(fā)表于 2024-8-5 09:22 | 只看該作者 | 來(lái)自山東
小米電視大師77寸oled,按住確認(rèn)和返回命令行提示no recovery mod,adb重啟到recovery無(wú)法輸入,沒(méi)有#
地板
發(fā)表于 2024-8-6 18:13 | 只看該作者 | 來(lái)自重慶
要膽大心細(xì)
5#
發(fā)表于 2024-8-12 10:57 | 只看該作者 | 來(lái)自河北
好貼,雖然我看不懂
6#
發(fā)表于 2024-9-20 12:06 | 只看該作者 | 來(lái)自陜西
那請(qǐng)問(wèn)怎么   root 呢  用busybox DD命令提取的BOOT.IMG去修補(bǔ),修補(bǔ)完了之后刷進(jìn)去之后不進(jìn)系統(tǒng),只能進(jìn)REC。
      在鏈接教程2中我失敗在安裝magisk.zip這一步,提示error127,提示安裝失敗 不知道怎么搞了
7#
發(fā)表于 2024-9-26 23:18 | 只看該作者 | 來(lái)自湖北
yuan185 發(fā)表于 2024-9-20 12:06
那請(qǐng)問(wèn)怎么   root 呢  用busybox DD命令提取的BOOT.IMG去修補(bǔ),修補(bǔ)完了之后刷進(jìn)去之后不進(jìn)系統(tǒng),只能進(jìn)RE ...

估計(jì)要TTL輸入命令關(guān)閉下AVB才行
8#
發(fā)表于 2024-10-19 21:20 | 只看該作者 | 來(lái)自北京
樓主能分享一份2.8.2129 (穩(wěn)定版)..固件嗎?

本版積分規(guī)則

Archiver|新帖|標(biāo)簽|軟件|Sitemap|ZNDS智能電視網(wǎng) ( 蘇ICP備2023012627號(hào) )

網(wǎng)絡(luò)信息服務(wù)信用承諾書 | 增值電信業(yè)務(wù)經(jīng)營(yíng)許可證:蘇B2-20221768 丨 蘇公網(wǎng)安備 32011402011373號(hào)

GMT+8, 2024-10-23 04:49 , Processed in 0.093304 second(s), 14 queries , Redis On.

Powered by Discuz!

監(jiān)督舉報(bào):report#znds.com (請(qǐng)將#替換為@)

© 2007-2024 ZNDS.Com

快速回復(fù) 返回頂部 返回列表