Memup SlidePad NG808 / RockChip / mkbootimg / cpio

  • Auteur de la discussion Dorian07700
  • Date de début
D

Dorian07700

Membre
Inscrit
28 Décembre 2014
Messages
1
Points
0
  • #1
Bonjour,


J'avais bloqué ma vieille tablette Memup SlidePad NG808 en tentant de modifier le fichier init.rc et en recompilant le boot.
Heureusement avec l'outil Rockchip Batch Tool et le firmware update.img j'ai pu la débloquer.
Maintenant se pose le problème de pouvoir réaliser la modification persistante de init.rc.
Dans les instructions suivantes, dans nano init.rc, je n'ai réalisé aucune modification, pourtant la compilation de l'image donne un échec à l'installation.
Un peu d'aide serait la bienvenue.


>>>> Sous Windows 7 :


Télécharger
S'il vous plaît, Connexion ou S'inscrire pour voir le contenu ou les urls !

Copier le firmware (Android version 4.0.3) fourni par Memup (du temps où le site existait encore) sur clé USB et passer la clé USB sur Ubuntu (via VirtualBox)
Image sur clé USB, côté Ubuntu : /media/12F1310B/update.img




>>>> Sous Ubuntu 10.04 :




Télécharger
S'il vous plaît, Connexion ou S'inscrire pour voir le contenu ou les urls !



# mkdir /home/dorian/Bureau/android
# cp /home/dorian/Téléchargements/core-android-4.0.3_r1.1.tar.gz /home/dorian/Bureau/android/
# cd /home/dorian/Bureau/android/
# tar xzvf core-android-4.0.3_r1.1.tar.gz
# cd libmincrypt/
# gcc -c *.c -I../include
# ar rcs libmincrypt.a *.o
# cd ../mkbootimg
# gcc mkbootimg.c -o mkbootimg -I../include ../libmincrypt/libmincrypt.a
mkbootimg.c: In function ‘main’:
mkbootimg.c:228:9: attention : assignment discards ‘const’ qualifier from pointer target type [enabled by default]


Télécharger "imgRePackerRK_104.zip" sur
S'il vous plaît, Connexion ou S'inscrire pour voir le contenu ou les urls !



# mkdir /home/dorian/Bureau/repacker
# cp /home/dorian/Téléchargements/imgRePackerRK_104.zip /home/dorian/Bureau/repacker/
# cd /home/dorian/Bureau/repacker/
# unzip imgRePackerRK_104.zip
# cp /media/12F1-310B/update.img /home/dorian/Bureau/repacker/
# cd /home/dorian/Bureau/repacker/
# chmod +x imgrepackerrk
# ./imgrepackerrk update.img


Télécharger "unmkbootimg.gz" sur
S'il vous plaît, Connexion ou S'inscrire pour voir le contenu ou les urls !



# cp /home/dorian/Téléchargements/unmkbootimg.gz /home/dorian/Bureau/repacker/update.img.dump/Image/
# cd /home/dorian/Bureau/repacker/update.img.dump/Image/
# gunzip unmkbootimg.gz
# chmod +x unmkbootimg
# ./unmkbootimg boot.img
unmkbootimg version 1.2 - Mikael Q Kuisma <[email protected]>
Kernel size 7032868
Kernel address 0x60408000
Ramdisk size 893176
Ramdisk address 0x62000000
Secondary size 0
Secondary address 0x60f00000
Kernel tags address 0x60088000
Flash page size 16384
Board name is ""
Command line ""




*** WARNING ****
This image is built using NON-standard mkbootimg!
OFF_KERNEL_ADDR is 0x00380100
OFF_RAMDISK_ADDR is 0x01F78100
OFF_SECOND_ADDR is 0x00E78100
Please modify mkbootimg.c using the above values to build your image.
****************




Extracting kernel to file zImage ...
Extracting root filesystem to file initramfs.cpio.gz ...
All done.
---------------
To recompile this image, use:
mkbootimg --kernel zImage --ramdisk initramfs.cpio.gz --base 0x60087f00 --pagesize 16384 -o new_boot.img
---------------
# mkdir cpio
# cd cpio
# gunzip -c ../initramfs.cpio.gz | cpio -i
2853 blocs
# nano init.rc
# find . | cpio -o -H newc | gzip > ../initramfs.cpio.gz
2853 blocs
# cd ../
# cp /home/dorian/Bureau/android/mkbootimg/mkbootimg /home/dorian/Bureau/repacker/update.img.dump/Image/
[# ./mkbootimg --kernel zImage --ramdisk initramfs.cpio.gz --base 0x60087f00 --pagesize 16384 -o boot.img] <-- le page size est refusé avec cette commande
# ./mkbootimg --kernel zImage --ramdisk initramfs.cpio.gz --base 0x60087f00 -o boot.img
# cd ../../
# ./imgrepackerrk update.img.dump




imgRePackerRK (version 1.04 linux)
Rockchip firmware batch image unpacker/packer




(c) RedScorpio, Moscow, 2013-2014
[email protected]




==========================[ START ]==========================


--- Firmware creating ---


- "package-file" configuration file reading -
"package-file" was read


- "parameter" configuration file reading -
"parameter" was read


- "image.cfg" configuration file reading -
image.cfg was read


- Files checking -
package-file (package-file) checked
bootloader (RK29xxLoader(L)_V2.20.bin) checked
parameter (parameter) checked
misc (Image/misc.img) checked
boot (Image/boot.img) checked
recovery (Image/recovery.img) checked
system (Image/system.img) checked
backup (SELF) skipped
update-script (update-script) checked
recover-script (recover-script) checked


-- Injecting into "update.img" --
- Image header (RKFW) injecting -
Image properties:
Type RockChip batch image (RKFW)
Version 1.0.5
Date 2012.05.28
Time 17:41:42
ChipID 0x00000050
Code(?) 0x01030000


Image header injected


- boot.img injecting -
boot.img (RK29xxLoader(L)_V2.20.bin) injected


- update.img header (RKAF) injecting -
Image properties:
Type RockChip update image (RKAF)
Id "007"
Model "SPNG808"
Manufacturer "RK29SDK"
Version 1.0.5


update.img header injected


- Files injecting -
Image files count = 10


package-file (unknown) injected
bootloader (RockChip bootloader image) injected
parameter (RockChip PARM signed file) injected
misc (unknown) injected
boot (Android boot image) injected
recovery (Android boot image) injected
system (ext3 image) injected
backup skipped
update-script (unknown) injected
recover-script (unknown) injected


- rkCRC check summ of update.img injecting -
rkCRC = 0x3e28b37c
rkCRC check summ injected


- MD5 check summ injecting -
MD5 = "78a8ca1c2f49bf0ee7067d911afd2919"
MD5 check summ injected


==========================[ STOP ]==========================
# cp update.img /media/12F1-310B/update_new.img


Le firmware modifié est maintenant sur ma clé USB sous le nom update_new.img et je rebascule la clé côté Windows 7




>>>> Sous Windows 7 :




Installer le Rockusb Driver v3.5
Tablette éteinte, appui sur touche Vol- et sans relâcher brancher le câble.
La tablette est détectée, relâcher tout. L'écran reste noir c'est normal.




Lancement de Rockchip Batch Tool v1.7 et Restore de update_new.img
La tablette fait des redémarrages et installation puis reste bloquée écran noir (il faut alors appuyer sur bouton démarrage et reset en même temps, puis appui sur touche Vol- et sans relâcher brancher le câble pour remettre le fichier update.img pour revenir à une situation où la tablette démarre).




Pourquoi la recompilation de mon image merde???


Un indice : il me semble avoir fait un test en faisant un mkbootimg du boot.img précédemment extrait, sans décompresser/recompresser le cpio et j'ai pu démarrer ma tablette, je pense donc à un problème lié à la compression/décompression cpio


Merci.
Dorian
 
T

Tardis

  • #2
Bonjour

Quelle modif souhaites-tu réaliser? Car tu présentes la méthode, mais pas l'objectif de la manip 8/
 
Bernado82

Bernado82

Membre
Inscrit
30 Mars 2014
Messages
126
Points
16
  • #3
Bonjour Dorian07700,

Je me demande si tu ne te compliques pas un peu trop les choses... Puisque tu as déjà imgRePackerRK, pourquoi ne l'utilises-tu pas pour juste décompresser/recompresser boot.img après modification faite au fichier init.rc?

La marche à suivre me semble la suivante:

En ligne de commande tu tapes imgRePackerRK boot.img (ou par glisser-déposer sur l'icone du programme) pour décompresser le contenu du boot. Tu édites dans le dossier boot.img.dump\ramdisk.dump créé les fichiers que tu souhaites avec Notepad++ (Windows) ou Gedit/Kwrite (Linux). Ensuite tu recompresses le fichier boot.img avec la commande imgRePackerRK boot.img.cfg, ceci recréant un nouveau boot.img prêt à être réintégré ensuite dans le firmware grâce au pack Android Firmware Package Tool v1.6.2 (proposé en téléchargement plus bas) ou avec un programme comme RK Android Tool ou grâce à l'utilisation d'un script ADB.

Moi c'est comme cela que je modifie le boot de ma CDisplay. Je ne me soucie pas trop de savoir si c'est compressé en cpio/gzcpio (on peut aussi modifier les fichiers *.cfg créés par imgRePackerRK pour y faire des modifications avant recompression par le programme).

J'ai préparé pour ta tablette, le script Build_Firmware (Windows/Linux) qui permet de recréer un firmware à partir de celui d'origine, une fois modifié.
S'il vous plaît, Connexion ou S'inscrire pour voir le contenu ou les urls !


Il te faudra remplacer dans le dossier Image les fichiers boot.img, kernel.img, recovery.img et system.img par ceux décompressés de ton firmware, par contre inutile de changer misc.img, celui fourni est pré-configuré. Idem pour le fichier parameter, celui fourni est factice. Pareil pour le bootloader (j'ai téléchargé un plus ou moins semblable à celui utilisé sur ta tablette) car ces 2 fichiers doivent être ceux provenant de ton firmware.

Si tu as des problèmes pour décompresser ton firmware avec imgRePackerRK, tu peux essayer avec Rockchip Firmware Factory Tool v3.4 (j'ai aussi à disposition les versions 4.4 (pour KitKat) et 5.0 (prise en charge des nouvelles partitions resource.img et du RK3288) ou Rockchip Android Tool v2.1 (version 2.33 disponible) à aller chercher dans mes dossiers Rockchip Tools (voir les liens suivants donnés en spoiler).

Rockchip Tools
S'il vous plaît, Connexion ou S'inscrire pour voir le contenu ou les urls !
(screenshots)
S'il vous plaît, Connexion ou S'inscrire pour voir le contenu ou les urls !

S'il vous plaît, Connexion ou S'inscrire pour voir le contenu ou les urls !


ADB Tools
S'il vous plaît, Connexion ou S'inscrire pour voir le contenu ou les urls !
(screenshots)
S'il vous plaît, Connexion ou S'inscrire pour voir le contenu ou les urls !

S'il vous plaît, Connexion ou S'inscrire pour voir le contenu ou les urls !
 

Sujets en relation

Haut Bas