2016-03-02 5 views
0

Sur mon Samsung Note 10.1, je voudrais être en mesure de monter une partition userdata différente. Mon but est de réaliser ceci au démarrage en modifiant le script init.rc, puisque cela semble être la configuration de tous les systèmes de fichiers et le montage des partitions userdata, system, etc. Par exemple, il y a une ligne mkdir /data 0771 system system, qui me semble être le point de montage de la partition userdata. La partition userdata correspond au périphérique de bloc /dev/block/mmcblk0p12.Android: monter une partition userdata différente au démarrage

Maintenant, ce que je veux est au lieu de monter mmcblk0p12, je veux monter une image de mmcblk0p12, que j'ai placé sur une carte SD µ insérée dans l'appareil. La carte SD µ est accessible via le périphérique de bloc /dev/block/vold/179:17. Cela signifie que je devrais d'abord monter la carte SD µ puis l'image sur la carte SD µ.

Mais c'est là que j'échoue. Je ne peux pas comprendre comment monter la carte SD µ dans le init.rc, pour ne pas mentionner comment monter l'image par la suite. J'ai ajouté la ligne mount -t ext4 /dev/block/vold/179\:17 /mnt/extSdCard plusieurs fois, mais tout ce qu'il me donne est une boucle de démarrage.

Alors, est-ce que quelqu'un sait comment faire cela?

EDIT1: apparemment les partitions sont montées en fstab.sdmk4x12, donc j'ai ajouté la ligne /dev/block/vold/179\:17 /mnt/extSdCard ext 4 noatime,nosuid,nodev,discard,noauto_da_alloc,journal_async_commit,erros=panic wait,check. Cela n'a malheureusement pas fonctionné, mais le journal du noyau m'a donné Cannot mount filesystem on /dev/block/vold/179\:17 at /mnt/extSdCard.

EDIT2: stupide de ne pas utiliser /dev/block/mmcblk1p1, qui est la partition de la carte SD µ. De cette façon, j'étais maintenant capable de monter la carte SD µ en modifiant le fichier fstab.sdmk4x12.

EDIT3: après avoir été en mesure de monter la carte SD µ, le problème de la façon de monter l'image persiste. J'ai modifié la ligne où il monte la partition userdata. La ligne est la même que celle de EDIT1 + 2, mais utilise l'image /storage/extSdCard/userdata.img pour la monter à /data. Mais je suppose qu'il ne semble pas monter l'image. L'appareil démarre, mais affiche une erreur indiquant que la partition userdata est endommagée. Cela me donne également l'option de le réinitialiser, mais bien sûr cela n'affecte que la partition userdata, et dès que je redémarre, il essaye de remonter mon image, échoue et me montre à nouveau cette erreur.

+0

Peut-être [cela pourrait être utile] (https://e2e.ti.com/support/embedded/android/f/509/t/224170) ** ou ** [peut-être ceci] (https: // android.googlesource.com/platform/system/core/+/b4d65399fde02280b718e3b5b5cb1464a885c4b0/rootdir/init.rc) – Shark

Répondre

0

J'ai trouvé une solution de contournement. Au lieu d'essayer de monter l'image, je viens de copier tous les fichiers de /data sur la partition de la carte SD µ, et de monter la partition comme /data dans le fstab.sdmk4x12 (c.-à-d., Montage /dev/block/mmcblk1p1 comme /data). Toutes les applications, etc. seront désormais stockées sur la partition de la carte SD µ.