1 votes

Confusion lors de la construction du format erofs system.img pour Android

J'essaie d'éditer un Android 11 system.img qui a été extrait de super.img . J'ai maintenant un problème qui me perturbe beaucoup. Tout d'abord, j'ai extrait system.img par cette commande (le système de fichiers est erofs qui est utilisé sur les appareils HUAWEI Android) :

sudo fsck.erofs --extract=./extracted --no-preserve --force --overwrite system_a.img

J'ai obtenu une arborescence qui contient des fichiers comme celui-ci :

.
 extracted
     3rdmodem
     3rdmodemnvm
     3rdmodemnvmbkp
     acct
     apex
     cache
     config
     cust
     d -> /sys/kernel/debug
     data
     data_mirror
     debug_ramdisk
     dev
     eng
     hw_product
     linkerconfig
     log
     metadata
     mnt
     modem_log
     odm
     oem
     patch_hw
     preas
     preavs
     preload
     prets
     pretvs
     proc
     res
     sec_storage
     splash2
     storage
     sys
     system
     system_ext
     vendor
     version

Ensuite, j'ai apporté quelques modifications et j'ai essayé de l'insérer dans un system.img à l'aide de cette commande :

sudo mkfs.erofs -zlz4 -Enosbcrc -U00000000-0000-0000-0000-000000000000 --ignore-mtime lz4.system.img ./extracted/

Tout était parfait, aucune erreur ou avertissement n'a été affiché avec cette commande, et lz4.system.img a été généré avec succès. J'ai comparé deux fichiers en utilisant file après avoir terminé le ré-emballage :

@localhost:~/Desktop/extracted_super> file lz4.system.img  system_a.img 
lz4.system.img: EROFS filesystem, blocksize=12, exslots=0, uuid=00000000-0000-0000-0000-000000000000, incompat: LZ4_0PADDING
system_a.img:   EROFS filesystem, blocksize=12, exslots=0, uuid=00000000-0000-0000-0000-000000000000, incompat: LZ4_0PADDING

Mais j'ai trouvé quelque chose de différent entre celui que j'ai généré et l'original.

  1. La taille du fichier n'était pas la même (j'ai réalisé plus tard que c'était normal car il n'était pas signé).
  2. Il y a des contenus qui diffèrent les uns des autres, je joins la capture d'écran pour qu'il soit clair de les distinguer :

Comme vous pouvez le voir à droite de l'image, il s'agit de l'original. system.img Il contient certaines des chaînes de caractères qui semblent avoir un rapport avec selinux En revanche, le nouveau ne l'a pas.

Mes questions sont les suivantes :

  1. Quelles sont les cordes ?
  2. Que dois-je faire pour résoudre ce problème ? Est-ce parce que le nouveau document n'a pas été signé et qu'il n'est donc pas identique ?

0 votes

Avez-vous réussi à le reconditionner et à le flasher sur Android ?

1voto

Einius Points 121

Pour ceux qui ne connaissent pas la raison de ce problème, j'ai trouvé comment le résoudre en ajoutant un paramètre --file-contexts=plat_file_contexts .

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X