Studiul Ritmix rzx-50 privind firmware-ul standard - dezvoltarea opendente pentru dispozitivele jz4755

firmware-ul standard Ritmix RZX-50 și pe baza Dingoo A380 Dingux pentru Dingoo A320, care se bazează, la rândul său, este Linux kernel 2.6.24.3 pentru SoC JZ4740 de la companii Ingenic.







Cu toate acestea, codul sursă pentru kernelurile linux și uC / OS-II este furnizat numai pentru așa-numitele. panouri de referință, care adesea nu au nimic de-a face cu produsul final. Unitățile care produc jucători sau console bazate pe SoC Ingenic primesc de la acesta codurile sursă necesare, care sunt apoi modificate pentru un anumit produs. Aceste modificări foarte rare sunt publicate sau afișate pe site-uri web.

Acest lucru a rezultat în special în faptul că doar două versiuni ale kernelului 2.6.24.3 și 2.6.31.3 au ieșit și nu au fost actualizate de atunci. În ramura principală a kernelului, codul Ingenic nu a fost acceptat.

Dingux pentru Dingoo A320

Dingux a apărut atunci când în mâinile entuziast inginer spaniol a primit Dingoo-based consola A320 SoC JZ4740 și el a decis să încerce să înceapă linux ei completă. Cu codul sursă din Ingenic și ingineria inversă a utilitatii încărcător anbrika a fost capabil să relativ repede pentru a stabili distribuția actuală, ceea ce a fost descris în detaliu în blog-ul său. Sursele kernel-ul Linux 2.6.24.3, buildroot pentru a construi un sistem de fișiere rădăcină și încărcător de boot au fost postate aici.

schema cu un dualboot (dualboot) a fost pusă în aplicare pentru a simplifica, care păstrează sistemul de operare original, bazat pe UC / OS-II, și Dingux (kernel și rootfs) situat pe extern card SD direct pe o partiție FAT32. Cu transport maritim implicit a inclus firmware-ul original, atunci când înțesate SELECT - Dingux. încărcător modificat are montat card SD pe / de pornire, este livrat cu kernel-ul, apoi montați un dosar de sistem de fișiere rootfs imagine ca montarea cardului SD local / boot / local (symlink / usr / local). Astfel, software-ul suplimentar a fost plasat în folderul local pe cardul SD. Dezavantajul acestei scheme a fost incapacitatea de a conecta Dingoo ca o unitate externă, deoarece rootfs-ul a fost localizat pe FAT32. În schimb, acesta a fost în mod continuu în modul USB-Ethernet, care vă permite să conectați cu privire la Dingoo telnet.







Se remarcă faptul că nucleul Dingux moștenit pe deplin deficiențe de nuclee Ingenic care au fost suficient de competente compuse de portare software-ul dintr-o altă consolă această clasă - GP2X. Programatorii obișnuiți pentru a obține dezavantaje Linux pentru acces direct GP2X la fier, muta experiența pe Dingoo, ca rezultat, multe programe care încearcă să acceseze dispozitivul de memorie direct prin intermediul / dev / mem, de exemplu, pentru a citi starea butoanelor sau de a îmbunătăți frecvența de lucru a procesorului, ceea ce le face Inoperant pe SoC, altul decât JZ4740.

Aceasta explică compatibilitatea redusă a programelor Dingux'a Dingoo A320 c Dingux'om Dingoo A380 și Ritmix RZX-50 (în cazul în care să nu ia în considerare diferite rezoluții de ecran).

Dingux pentru Dingoo A380 și Ritmix RZX-50

La dezvoltarea firmware pentru Dingoo A380 și Ritmix RZX-50 a fost împrumutat de la rootfs Dingoo A320 fără nici o modificare. Cu toate acestea, locația pe un sistem de fișiere FAT nu a fost potrivit pentru uz comercial, prin urmare, au fost efectuate următoarele modificări: acum sistemul de rădăcină rootfs fișier localizat pe propria partiție ext3, de asemenea, în secțiuni separate evidențiat software terță parte (appfs), setările de program (configfs), și și fișiere de utilizator (VFAT).

Structura partițiilor de firmware Ritmix RZX-50

Bootloader-ul folosește U-Boot 1.1.6 cu modificări de la Ingenic. Codurile sursă și patch-urile sunt disponibile aici.

Producătorul Dingoo A380 și Ritmix RZX-50 au adăugat și modificările lor, informații exacte despre care există. Se presupune că se folosește configurația U-boot pentru placa CETUS, cu adăugarea inițialei LCD și afișarea siglei Dingoo Technology sau Ritmix.

Un studiu suplimentar al încărcătorului de încărcare Ritmix RZX-50 este descris în acest articol. Analiza similara a bootloader-ului Dingoo A380 probabil nu exista.

În fișierul mbr-uboot-msc.bin există următoarele opțiuni pentru pornirea kernel-ului și pentru U-Boot în sine:

Recuperarea funcției nu este utilizată, de fapt Această secțiune este lăsată necompletată cu firmware-ul Ritmix RZX-50.

Miezul combinat cu dispozitivele de blocare pentru ambele console este aici.

Aparate și interfețe non-standard:

Sistemul de fișiere rădăcină rootfs.ext3

Scriptul de pornire este localizat în / etc / inittab; din acesta este apelat scriptul de încărcare a shell-ului (shell-ul propriu-zis în appfs.ext3).

/ usr / local / sbin / main (firmware 1.0027)

/ etc / main (firmware 1.5009)

Acest lucru arată că variabila HOME indică un director care este doar pentru citire.


Această lucrare este licențiată sub licență Creative Commons Attribution-ShareAlike 3.0 Unported.







Trimiteți-le prietenilor: