J'ai un appareil OnePlus 6T qui a un système de partition A/B et a une ROM de type utilisateur c'est à dire [ro.build.type]: [user]
. Cet appareil est enraciné avec Magisk. J'ai une exigence( Vous voulez placer un fichier de politique personnalisé dans le répertoire system_root. ) pour modifier system.img
.
J'ai essayé différents outils comme :
-
simg2img :
OMEN-by-HP-Laptop-15-dc0xxx:~/WorkArea/img-tools$ ./simg2img system.img sys.raw Invalid sparse file format at header magi Failed to read sparse file OMEN-by-HP-Laptop-15-dc0xxx:~/WorkArea/img-tools$
-
OMEN-by-HP-Laptop-15-dc0xxx:~/WorkArea/imgtool$ sudo ./imgtool system.img extract [sudo] password for OMEN: system.img is not a recognized image. Sorry OMEN-by-HP-Laptop-15-dc0xxx:~/WorkArea/imgtool$
-
et d'autres outils, même sur Windows..
mais aucun d'entre eux n'est capable d'analyser ma system.img
.
J'ai copié system.img
directement à partir de OnePlus6T ROM setup qui installe Android 9 sur cet appareil sans aucun problème.
Une aide pour :
- Comment réparer le system.img pour qu'il soit extrait et repacké correctement ?
- Une commande qui peut décompresser/recompresser system.img ?
- Un outil de travail pour accomplir cette tâche ?
Mise à jour 1 : J'ai couru file system.img
et j'ai trouvé que son image ext2 et les outils supportent ext4.
system.img: Linux rev 1.0 ext2 filesystem data, UUID=d09c08e9-628d-590e-a610-3a14de2a8db0 (extents) (large files) (huge files)
Mise à jour 2 : J'ai essayé de trouver le nombre magique et j'ai obtenu le résultat suivant :
OMEN-by-HP-Laptop-15-dc0xxx:~/WorkArea/imgtool$ xxd system.img | head
00000000: 0000 0000 0000 0000 0000 0000 0000 0000 ................
00000010: 0000 0000 0000 0000 0000 0000 0000 0000 ................
00000020: 0000 0000 0000 0000 0000 0000 0000 0000 ................
00000030: 0000 0000 0000 0000 0000 0000 0000 0000 ................
00000040: 0000 0000 0000 0000 0000 0000 0000 0000 ................
00000050: 0000 0000 0000 0000 0000 0000 0000 0000 ................
00000060: 0000 0000 0000 0000 0000 0000 0000 0000 ................
00000070: 0000 0000 0000 0000 0000 0000 0000 0000 ................
00000080: 0000 0000 0000 0000 0000 0000 0000 0000 ................
00000090: 0000 0000 0000 0000 0000 0000 0000 0000 ................
OMEN-by-HP-Laptop-15-dc0xxx:~/WorkArea/imgtool$
Mise à jour 3 Fing l'image déjà déballée. Donc pour ajouter le fichier requis, j'ai monté l'image en tant que sudo mount -o loop system.img system_mount
et a ensuite essayé de copier le contenu vers un autre dossier avec cp system_mount/* system/
afin que je puisse ajouter le fichier requis et créer une nouvelle image à partir de celui-ci, mais j'ai obtenu les erreurs suivantes :
root@OMEN-by-HP-Laptop-15-dc0xxx:~/WorkArea# mkdir system && cp system_mount/* system/
cp: omitting directory 'system_mount/acct'
cp: cannot stat 'system_mount/bin': No such file or directory
cp: cannot stat 'system_mount/bt_firmware': No such file or directory
cp: cannot stat 'system_mount/bugreports': No such file or directory
cp: cannot stat 'system_mount/cache': No such file or directory
cp: cannot stat 'system_mount/charger': No such file or directory
cp: cannot stat 'system_mount/charger_log': No such file or directory
cp: omitting directory 'system_mount/config'
cp: omitting directory 'system_mount/d'
cp: omitting directory 'system_mount/data'
cp: omitting directory 'system_mount/dev'
cp: cannot stat 'system_mount/dsp': No such file or directory
cp: cannot stat 'system_mount/etc': No such file or directory
cp: cannot stat 'system_mount/firmware': No such file or directory
cp: omitting directory 'system_mount/lost+found'
cp: omitting directory 'system_mount/mnt'
cp: omitting directory 'system_mount/odm'
cp: omitting directory 'system_mount/oem'
cp: omitting directory 'system_mount/op1'
cp: omitting directory 'system_mount/op2'
cp: cannot stat 'system_mount/persist': No such file or directory
cp: omitting directory 'system_mount/postinstall'
cp: omitting directory 'system_mount/proc'
cp: cannot stat 'system_mount/product': No such file or directory
cp: omitting directory 'system_mount/res'
cp: omitting directory 'system_mount/sbin'
cp: cannot stat 'system_mount/sdcard': No such file or directory
cp: omitting directory 'system_mount/storage'
cp: omitting directory 'system_mount/sys'
cp: omitting directory 'system_mount/system'
cp: omitting directory 'system_mount/vendor'
root@OMEN-by-HP-Laptop-15-dc0xxx:~/WorkArea#
1 votes
Est-ce que le system.img que vous avez commence avec l'hexagone
3AFF 26ED
? Sinon, vérifiez si les octets magiques de l'en-tête du fichier sont connus.0 votes
Il est affiché comme 00 00 00 00 00 Veuillez vérifier le Mise à jour 2 .
1 votes
On dirait que l'image est déjà déballée.
0 votes
Oh vraiment :o Alors, comment ajouter un fichier dans ce fichier .img ?
0 votes
Désolé, je pensais qu'il est évident de monter un fichier ext2/4 si on veut le modifier.
0 votes
Le montage a un certain problème. Laissez-moi l'ajouter à la question.
0 votes
Êtes-vous sûr que la commande de montage a échoué ? Ces messages ressemblent plus à des avertissements pour moi.
1 votes
Utiliser
busybox cp -acv
au lieu decp
si vous voulez préserver les permissions. selinux activé (x86_64) binaire de busybox (fonctionne sur pc)sudo mount -t ext4 -o loop,rw,noatime system.img system_mount
fonctionne uniquement lorsque le répertoire system_root existe au même endroit que system.img0 votes
@Robert grâce à vos conseils j'ai téléchargé Ubuntu et j'ai pu extraire tous les fichiers du fichier img. Savez-vous comment le remballer ?