Il s'agit de cette Fil XDA et mon fil sur xda. Il s'agit d'un message croisé de XDA, je tente ma chance ici. J'ai également posé cette question sur Stackoverflow (en anglais) mais je couvre toutes mes bases et je tente ma chance ici aussi.
Spécifications de l'appareil, au cas où quelqu'un le demanderait
Spécifications de l'appareil :
- Version actuelle d'Android : Android Lollipop 5.1.1
- Chipset : Marvell Armada PXA1908 (Note : Comme il s'agit d'une puce rarement utilisée, le CF-Auto Root ne fonctionnera pas)
- Statut de récupération personnalisé : TWRP 3.0.2-0 (Ne fonctionne pas avec lollipop)
- Statut de la racine (C'est techniquement la raison pour laquelle je suis ici) : Android KitKat 4.4.4 (Root), Android Lollipop 5.1.1 (NO Root Yet)
- ARMv8 64-bit
Passons maintenant aux étapes qui m'ont amené jusqu'à ce point, puis à mon problème.
Note : Dans le readme du noyau, il est indiqué d'utiliser le toolchain 4.8 mais lorsque je l'utilise, il se plaint de ne pas pouvoir trouver gcc. De plus, dans le readme, il est indiqué "get Toolchain download and install arm-eabi-4.8 toolchain for ARM EABI.(64bit)" et quand lire plus il est indiqué d'utiliser aarch64 pour les appareils ARM 64 bits.
Le code source du dispositif est disponible à l'adresse suivante Ici
cd ~/android
export CROSS_COMPILE=~/android/ndk/toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64/bin/aarch64-linux-android-
cd ~/android/kernel
make ARCH=arm64 pxa1908_xcover3lte_eur_defconfig
make ARCH=arm64
Ces sorties : Image, Image.gz, fichiers .dts et .dtb.
Où se trouve le readme du noyau (je crois qu'il n'a pas été mis à jour) ? - Kernel : Kernel/arch/arm/boot/zImage - module : Kernel/drivers/ / .ko Note : lorsque l'on essaie de compiler avec la chaîne d'outils ARM 32 bits, cela échoue, car la configuration est trouvée dans arm64, alors que d'autres configurations sont trouvées dans arm.
J'ai donc un noyau (Image ou Image.gz), et quelques fichiers .dts et .dtb. Il faut maintenant décompresser boot.img, c'est là que les problèmes surviennent . Lorsque l'on essaie d'utiliser des outils comme abootimg ou les différentes versions de unmkbootimg, ils se plaignent d'un boot.img non standard.
ou
Ils essaient également de l'enregistrer en tant que zImage alors qu'il est censé être un Image.gz, ou ils l'extraient sans générer d'erreurs, mais lorsqu'ils regardent les fichiers extraits avec un éditeur hexagonal, ils sont tous 00 dans les fichiers, ce qui en fait un fichier inutile.
J'ai donc essayé de décompresser manuellement avec un éditeur hexagonal et j'ai réussi à obtenir le noyau. A gauche ma version compilée et à droite la version hexagonale.
Remarquez la différence de taille, est-ce parce que le noyau dans boot.img est dépouillé de ses éléments de débogage alors que le mien ne l'est pas ? Si c'est le cas, je devrais chercher comment réparer cela.
Mais je suis j'ai des problèmes pour extraire le ramdisk via l'hexagone. Quelqu'un peut-il m'aider à extraire correctement le fichier boot.img (avec des outils comme unmkbootimg ou avec un éditeur hexadécimal) ?
J'ai joint les fichiers nécessaires si vous souhaitez les consulter vous-même. Fichiers : Fichiers Samsung xCover3
Toute aide est la bienvenue.