Sul mio Nexus SI crittografato uso un mount temporaneo di tmpfs su / sdcard in CWM. Ha abbastanza RAM per contenere la nuova ROM in memoria durante l'aggiornamento:
Scarica la tua ROM su /tmp/update.zip e avvia il ripristino. Quindi accedi tramite 'adb shell':
## on the host machine do:
me@workstation:/tmp$ adb shell
## now on the device in 'adb shell' mode...
~ # mount -t tmpfs none /sdcard/
## the following command is not needed, it only shows the newly created mount point
~ # df -h
Filesystem Size Used Available Use% Mounted on
[...]
none 172.4M 0 172.4M 0% /sdcard
~ # exit
## now back on the host machine again
me@workstation:/tmp$ adb push update.zip /sdcard/
5567 KB/s (131676307 bytes in 23.097s)
Quindi esegui i soliti passaggi di aggiornamento "installa zip da sdcard".
EDIT: a partire da ICS / Jelly Bean c'è il nuovo adb sideload <filename-of-update.zip>
metodo
Funziona con CWM dalla versione 6.0.1.5 in poi e hai bisogno degli strumenti della piattaforma SDK Android v16 o superiori. Se sei in CWM puoi vedere una nuova voce install zip da sideload se è supportata.
Il vecchio metodo funziona ancora:
se il sideload non funziona, puoi comunque usare il metodo tmpfs. CWM prevede / data / media come posizione per update.zip ora, tuttavia il mountpoint deve essere / data, quindi è necessario farlo ora:
me@workstation$ adb shell
~ # mount -t tmpfs none /data
~ # mkdir /data/media
## Go on with 'adb push update.zip /data/media' and then like above
Motivo: a
partire da ICS + il layout di partizione proposto è cambiato. Non ci dovrebbero essere più partizioni sdcard formattate in FAT ma la memoria esterna ora risiede in / data / (/ data / media). Per rimanere compatibile, un mount FUSE emula le vecchie proprietà FAT (diritti di accesso e simili). Puoi vederlo quando c'è un fusibile montato su / storage / sdcard0, è simile al seguente:
shell @ android: / $ mount | grep fuse
[...]
/ dev / fuse / storage / sdcard0 fuse rw, nosuid, nodev, relatime, user_id = 1023, group_id = 1023, ... 0 0
[...]