Aller au contenu

Manipuler une rom - mkbootimg


androJestar

Recommended Posts

Bonjour,

j'ai quelques soucis concernant l'installation d'un kernel sur le DHD.

Je souhaite simplement, pour commencer, créer un boot.img depuis le code source compilé (avec un ramdisk au choix)

Comme l'installation ne marchait pas (bloqué sur le logo HTC au démarrage), je me suis contenté d'extraire un boot.img depuis le HTC (via un backup).

J'arrive donc à le recharger avec fastboot et le boot s'effectue correctement. Ensuite j'ai voulu simplement le démembrer (kernel + ramdisk) et recréer l'image avec le mkbootimg, mais je retrouve le même problème

que précédemment.

Si je prends par exemple un des boot.img disponible dans les .zip , je reste toujours bloqué. (sans même unpack->repack).

A côté de quoi suis-je passé ?

Y'a-t-il un mkbootimg spécial à utiliser ?  Quel sont les paramètres nécessaires (--base xxx) ? (j'ai cru comprendre que la taille des pages du DHD était de 4k, et non de 2k comme dans la configuration de la plupart des mkbootimg.c)

Si quelqu'un pouvait donc m'éclairer sur la manière de créer ce boot.img, je lui en serrait très reconnaissant.

Lien vers le commentaire
Partager sur d’autres sites

Le mieux c'est de récupéré les sources, modifier puis ensuite compiler

Tu n'arrivera pas à grand chose en "démembrant" le Kernel

Tu peut également demandé au dev de la ROM les modifs qu'il a fait au boot.img ( si il y en a )

Ou jeter un œil au github de Leedroid

Sent from my Desire HD

Lien vers le commentaire
Partager sur d’autres sites

Quel est le but?

A priori les pages sont de 4K (d'ou les version PVT4 du Desire (de base) qui est passé en 4k).

Tu as tenté de faire un WIPE all avec ton boot.img ?

Le but pour l'instant est simplement d'arriver à charger un noyau compiler, je devrais apporter des modifications au code source par la suite.

Le wipe all étant de tout effacé ( cache partition et data) ? Si oui, non je ne l'ai pas fait, mais je ne souhaite pas particulièrement toucher à ces données.

@seansdk

J'ai récuperé les sources ( http://developer.htc.com/ ) et les ai compilées avec succès. Mais il me faut toujours un ramdisk (la compilation me donne mon

zImage (kernel) ). A partir de là je ne peux créer le boot avec succès.

edit: j'ai extrait le ramdisk et le kernel du boot.img avec le script split_bootimg.pl dispo sur le net. C'est se que j'entendais par "démembrer"

Lien vers le commentaire
Partager sur d’autres sites

Tu l'a extrait de quel Kernel ?

Et qu'est ce que tu veut modifier sur le ramdisk ?

Sent from my Desire HD

Je vais détailler les étapes que j'ai faites. Cela rendra p-e mon problème plus compréhensible.

1 - Compilation du noyau via le code source officiel de l'HTC

2 - Cette compilation me donne mon zImage, mon kernel donc

3 - Backup de mon DHD via rom manager

4 - Récupération du fichier de backup via adb

5 - utilisation du boot.img s'y trouvant

6 - ( le boot du DHD via fastboot de ce boot.img s'effectue avec succès )

7 - application du script split_bootimg de http://android-dls.com/wiki/index.php?title=HOWTO:_Unpack%2C_Edit%2C_and_Re-Pack_Boot_Images

8 - utilisation de mkbootimg avec comme paramètres :  le zImage de mon code source compiler, le ramdisk que je viens d'obtenir via le split

9 - chargement du boot otbtenu via fastboot

Et là, donc, mon DHD reste bloqué sur le logo HTC

J'ai par ailleurs testé avec simplement le fichier kernel et le ramdisk extrait au point 7 - et avec d'autre ramdisk trouvé sur le net - le problème reste identique

J'en ai donc déduit que mon problème venait de la recomposition de l'image (vu que le point 6 est OK). D'où ma question sur le mkbootimg.

En espérant avoir été plus claire, et que quelqu'un puisse m'éclairer.

Lien vers le commentaire
Partager sur d’autres sites

J'ai trouvé la réponse à ma question.

Pour ceux que ça intéresserait j'ai comparer les 2 fichiers binaire (celui d'origine et celui recomposé) et pu en déduire les paramètres du mkbootimg.

Ce qui donne :

mkbootimg --kernel zImage --ramdisk boot.img-ramdisk.gz --cmdline "no_console_suspend=1" --base 0x04000000 -o boot-new.img

C'était donc l'adresse qui n'était pas correcte jusqu'à maintenant. En espérant que ca puisse aider qq personnes.

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...