Benutzer:Soeren/Odys Xpress mod

Aus LaborWiki
< Benutzer:Soeren
Version vom 24. November 2012, 21:50 Uhr von Soeren (Diskussion | Beiträge) (mwargh)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche

Bootloader[Bearbeiten | Quelltext bearbeiten]

Wie bei rk29XX tablets üblich, lauscht ein USB Bootloader am USB client port, wenn man eine bestimmte Tastenkombination drückt. Beim Odys Xpress muss man beim Einschalten die "Zurück" Taste drücken, damit der bootloader aktiviert wird. Wenn der bootloader aktiv ist, bleibt der Bildschirm schwarz, da dieser offenbar nicht initialisiert oder benutzt wird.

Partitionslayout[Bearbeiten | Quelltext bearbeiten]

Das Partitionslayout, sowie die Kernel boot parameter sind in den ersten paar Bytes gespeichert. Mit dem rkflashtool kann man diese auslesen:

 rkflashtool r 0x0000 128 > /tmp/settings

So oder ähnlich sieht das Ergebnis in /tmp/settings danach aus:

 PARMa^B^@^@FIRMWARE_VER:0.2.3
 MACHINE_MODEL:ODYS-Xpress
 MACHINE_ID:007
 MANUFACTURER:RK29SDK
 MAGIC: 0x5041524B
 ATAG: 0x60000800
 MACHINE: 2929
 CHECK_MASK: 0x80
 KERNEL_IMG: 0x60408000
 COMBINATION_KEY: F,0,1
 CMDLINE: console=ttyS1,115200n8n androidboot.console=ttyS1 init=/init initrd=0x62000000,0x500000 mtdparts=rk29xxnand:0x00002000@0x00002000(misc),0x00004000@0x00004000(kernel),0x00002000@0x00008000(boot),0x00004000@0x0000A000(recovery),0x00080000@0x0000E000(system),0x00082000@0x0008E000(backup),0x0003a000@0x00110000(cache),0x00100000@0x0014a000(userdata),0x00002000@0x0024a000(kpanic),-@0x0024c000(user)

Aus dem letzten langen String der Settings lassen sich die Partitionen, deren länge und offsets herauslesen. Die syntax hierfür ist size@offset, d.h. die userdata partition liegt bei Offset 0x0014a000 und hat die Größe 0x00100000. Alle Größenangaben und Offsets sind mal 512 Byte zu rechnen um die tatsächliche Größe zu errechnen.

Partition Offset Länge FS
misc 0x00002000 0x00002000 Parametersatz für recovery (?). Kein Dateisystem, sondern hauptsächlich gefüllt mit 0x00
kernel 0x00004000 0x00004000 rockdev kernel image ("KRNL")
boot 0x00008000 0x00002000 rockdev kernel image ("KRNL")
recovery 0x0000A000 0x00004000 rockdev kernel image ("KRNL")
system 0x0000E000 0x00080000 Linux Compressed ROM File System data, little endian
backup 0x0008E000 0x00082000 TODO
cache 0x00110000 0x0003a000 TODO
userdata 0x0014a000 0x00100000 TODO

Links[Bearbeiten | Quelltext bearbeiten]