Jump to content

🧰 [Π“Π°ΠΉΠ΄] АвтоматичСская гСнСрация ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ ΠΈΠ· auto_update.txt

Rate this topic


Recommended Posts

Posted

🧰 [Π“Π°ΠΉΠ΄] АвтоматичСская гСнСрация ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ ΠΈΠ· auto_update.txt

πŸ“‘ Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚ для Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠ°ΠΌΠΈ Smart TV Π½Π° Π±Π°Π·Π΅ MStar


πŸ” О Ρ‡Ρ‘ΠΌ Ρ€Π΅Ρ‡ΡŒ?

ΠŸΡ€ΠΈ Ρ€Π°Π·Π±ΠΎΡ€Π΅ ΠΈ пСрСсборкС ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΎΠΊ Π½Π° Π’Π’ с процСссорами MStar (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, CV338H, CV358H, TP.MS338E ΠΈ Π΄Ρ€.) ΠΌΡ‹ сталкиваСмся с Π²Π°ΠΆΠ½ΠΎΠΉ Ρ‡Π°ΡΡ‚ΡŒΡŽ β€” ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΌ Ρ„Π°ΠΉΠ»ΠΎΠΌ ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ (XML/INI). Он содСрТит ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:

  • очистки Ρ€Π°Π·Π΄Π΅Π»ΠΎΠ² (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, erase.p, erase.part)

  • записи ΠΎΠ±Ρ€Π°Π·ΠΎΠ² (unlzo, unsparse)

  • дописывания (unlzo.cont, write.p.continue)

ΠžΠ΄Π½Π°ΠΊΠΎβ€¦ ❗ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠ°ΠΌΠΈ, Π½ΠΎ Π΄Π°ΠΆΠ΅ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΎΠ΄Π½ΠΎΠΉ ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ!
ΠŸΡ€ΠΈΠΌΠ΅Ρ€: Π² ΠΎΠ΄Π½ΠΎΠΌ auto_update.txt всС Ρ€Π°Π·Π΄Π΅Π»Ρ‹ ΠΎΡ‡ΠΈΡ‰Π°ΡŽΡ‚ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ erase.p, Π½ΠΎ для Ρ€Π°Π·Π΄Π΅Π»Π° tee β€” ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ erase.part.


⚠️ ΠŸΠΎΡ‡Π΅ΠΌΡƒ нСльзя просто ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ?

ΠŸΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π΄Π°ΠΆΠ΅ Ссли названия Ρ€Π°Π·Π΄Π΅Π»ΠΎΠ² ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‚, ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ!
Если ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΡƒ с Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ β€” Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ "ΠΊΠΈΡ€ΠΏΠΈΡ‡", ΠΏΠΎΠ²Ρ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ Ρ€Π°Π·Π΄Π΅Π»ΠΎΠ² ΠΈΠ»ΠΈ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ восстановлСния.


πŸ’‘ Π§Ρ‚ΠΎ сдСлано?

πŸ“Œ Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ Python‑скрипт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ:

βœ… Π‘Π°ΠΌ парсит auto_update.txt
βœ… Π˜Π·Π²Π»Π΅ΠΊΠ°Π΅Ρ‚ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ erase, write, writeChunk, loadram
βœ… Π“Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ XML-ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ
βœ… ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅Ρ‚ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ с шаблонами ΠΊΠΎΠΌΠ°Π½Π΄ (Π²Π°Π»ΠΈΠ΄Π°Ρ‚ΠΎΡ€)


πŸ› οΈ Как Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ скрипт

  1. ΠšΠ»Π°Π΄Ρ‘ΠΌ auto_update.txt рядом со скриптом.

  2. ЗапускаСм.

  3. ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ΠΉ firmware_config.xml с ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹ΠΌΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΎΠ±Ρ€Π°Π·Π°.

πŸ§ͺ Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ: Π΅ΡΡ‚ΡŒ встроСнный Π²Π°Π»ΠΈΠ΄Π°Ρ‚ΠΎΡ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ сравниваСт ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ с Ρ€Π°Π·Ρ€Π΅ΡˆΡ‘Π½Π½Ρ‹ΠΌΠΈ для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, CV338, TP.MS338E ΠΈ Ρ‚.Π΄.)


πŸ“„ ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°

<Image>
  <Name>system</Name>
  <Lzo>True</Lzo>
  <Sparse>False</Sparse>
  <Split>True</Split>
  <EmptySkip>True</EmptySkip>
  <Path>system.img</Path>
  <LoadRamCmd>filepartload 0x20200000 $(UpgradeImage)</LoadRamCmd>
  <Command>
    <Erase>erase.p</Erase>
    <Write>unlzo</Write>
    <WriteChunk>unlzo.cont</WriteChunk>
  </Command>
</Image>

πŸ“‚ Π‘ΠΊΠ°Ρ‡ΠΈΠ²Π°Π½ΠΈΠ΅ скрипта

🧾 НазваниС: auto_update_parser.py
πŸ‘¨β€πŸ’» Π―Π·Ρ‹ΠΊ: Python 3.x
πŸ“¦ ВрСбования: стандартная Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Python
🧠 Π˜ΡΡ…ΠΎΠ΄Π½ΠΈΠΊΠΈ Π±ΡƒΠ΄ΡƒΡ‚ Π²Ρ‹Π»ΠΎΠΆΠ΅Π½Ρ‹ Π² Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΎΠΌ Ρ€Π°Π·Π΄Π΅Π»Π΅ ΠΈΠ»ΠΈ ΠΏΠΎ запросу Π² Π›Π‘.


🧠 Π§Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΡ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ:

  • GUI Π½Π° Python (tkinter ΠΈΠ»ΠΈ PyQt)

  • ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° JSON/INI Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ²

  • Онлайн-ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Π΅Ρ€ (Web-вСрсия)

  • Π Π°ΡΡˆΠΈΡ€Π΅Π½Π½Π°Ρ валидация ΠΊΠΎΠΌΠ°Π½Π΄

Β 

βœ…Β  Π’ΠΎΡ‚ Π°Ρ€Ρ…ΠΈΠ² с Python-скриптом:

πŸ“¦ Π‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ:Β 

This is the hidden content, please

Он содСрТит:

  • auto_update_parser.py β€” скрипт, автоматичСски Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ firmware_config.xml ΠΈΠ· auto_update.txt.


🎬  Π’ΠΎΡ‚ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΠ΅ дСмонстрационноС Π²ΠΈΠ΄Π΅ΠΎ:

πŸ“₯ Π‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ:Β 

This is the hidden content, please
Β 

Β 

Π’ Ρ€ΠΎΠ»ΠΈΠΊΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ:

  1. ΠšΡƒΠ΄Π° ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚ΡŒ auto_update.txt

  2. Как Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт

  3. Как формируСтся firmware_config.xml

Β 

🀝 ΠŸΡ€ΠΈΠ·Ρ‹Π² ΠΊ сообщСству

πŸ”₯ Если Ρƒ тСбя Π΅ΡΡ‚ΡŒ ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ с нСстандартными ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ β€” подСлись Π΄Π°ΠΌΠΏΠΎΠΌ ΠΈ auto_update.txt, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π±Π°Π·Ρƒ шаблонов!
πŸ› οΈ Помоги Π² тСстировании Π½Π° своСй ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅.
πŸ“ˆ ΠŸΡ€Π΅Π΄Π»Π°Π³Π°ΠΉ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ β€” ΠΈ ΠΌΡ‹ вмСстС сдСлаСм инструмСнт, ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΉ для всСх мастСров.


πŸ’¬ Вопросы? ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ? Ошибки?

ΠŸΡ€ΠΈΠ³Π»Π°ΡˆΠ°Π΅ΠΌ вас ΠΊ ΠΎΠ±ΡΡƒΠΆΠ΄Π΅Π½ΠΈΡŽ Π² Π΄Π°Π½Π½ΠΎΠΉ Ρ‚Π΅ΠΌΠ΅. Π‘ΡƒΠ΄Π΅ΠΌ Ρ€Π°Π΄Ρ‹ вашим вопросам, коммСнтариям ΠΈ прСдлоТСниям.

Π‘ ΡƒΠ²Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ, ΠΊΠΎΠΌΠ°Π½Π΄Π°Β KenotronTV

Онлайн ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π²Β  πŸ”—Β Π“ΠΎΡΡ‚Π΅Π²ΠΎΠΉ Ρ‡Π°Ρ‚Β - 24 часа!

Β 

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...