[ATTACH]106218
Salve ragazzi ,in allegato i miei file ebr1 ed mbr.potreste dirmi se posso farlo anche io con il mio terminale????
Visualizzazione stampabile
[ATTACH]106218
Salve ragazzi ,in allegato i miei file ebr1 ed mbr.potreste dirmi se posso farlo anche io con il mio terminale????
Salute a tutti. Ho un Lenovo A2107A-H 16Gb con una partizione data da 1Gb che vorrei portare a 3Gb.
Leggendo le considerazioni trovate in questo forum sono arrivato a una conclusione, ma vorrei che qualcuno che si è già cimentato in questa operazione ci desse un'occhiata per vedere se queste conclusioni sono corrette oppure no.
Partizioni presenti :
emmc_p1:00000020 00000002 "ebr1"
emmc_p2:0018ef20 00100000 "cache"
emmc_p3:0028f720 001ff800 "usrdata"
emmc_p4:0048f720 0188a8e0 "fat"
emmc_p5:00009f00 00002800 "sec_ro"
emmc_p6:0000ef20 0017f800 "android"
le 4 righe a partire dall'offset 000001C0
---------------------------------------------------------------------------------------------------------------------------------
MBR | tipo partiz | start | dim. in bloc
00 00 | 05 00 00 00 | 20 00 00 00 | 00 EF 18 00 | 00 00 ebr1
00 00 | 83 00 00 00 | 20 EF 18 00 | 00 00 10 00 | 00 00 cache
00 00 | 83 00 00 00 | 20 F7 28 00 | 00 F8 1F 00 | 00 00 userdata
00 00 | 0B 00 00 00 | 20 F7 48 00 | FF FF FF FF | 55 AA fat
EBR1
00 00 | 83 00 00 00 | E0 9E 00 00 | 00 28 00 00 | 00 00 sec_ro
00 00 | 05 00 00 00 | E0 EE 00 00 | 20 F8 17 00 | 00 00 ebr2
00 00 | 00 00 00 00 | 00 00 00 00 | 00 00 00 00 | 00 00
00 00 | 00 00 00 00 | 00 00 00 00 | 00 00 00 00 | 55 AA
EBR2
00 00 | 83 00 00 00 | 20 00 00 00 | 00 F8 17 00 | 00 00 android
00 00 | 00 00 00 00 | 00 00 00 00 | 00 00 00 00 | 00 00
00 00 | 00 00 00 00 | 00 00 00 00 | 00 00 00 00 | 00 00
00 00 | 00 00 00 00 | 00 00 00 00 | 00 00 00 00 | 55 AA
La partizione \data si trova quindi nell'MBR, quindi si dovrebbe modificare soltanto quello senza toccare EBR1 e EBR2. Giusto?
In questo caso dall'MBR portato in endian:
start | dimensione in blocchi
00000020 | 0018ef00
0018ef20 | 00100000
0028f720 | 001ff800
0048f720 | FFFFFFFF
che in decimale diventa
32 | 1634048 = 1634080 + 0
1634080 | 1048576 = 2682656 + 2048
2684704 | 2095104 = 4779808 + 2048
4781856 |
Partendo da questa base e volendo la partizione data di 3gb circa :
start | dimensione in blocchi
32 | 1634048 = 1634080 + 0
1634080 | 1048576 = 2682656 + 2048
2684704 | 6285312 = 8970016 + 2048
8972064 |
start | dimensione
00000020 | 0018ef00
0018ef20 | 00100000
0028f720 | 005FE800
0088E720 | FFFFFFFF
e quindi le 4 righe dell'MBR diventano :
00 00 | 05 00 00 00 | 20 00 00 00 | 00 EF 18 00 | 00 00 ebr1
00 00 | 83 00 00 00 | 20 EF 18 00 | 00 00 10 00 | 00 00 cache
00 00 | 83 00 00 00 | 20 F7 28 00 | 00 E8 5F 00 | 00 00 userdata
00 00 | 0B 00 00 00 | 20 E7 88 00 | FF FF FF FF | 55 AA fat
E' corretto così o mi sfugge qualcosa? prima di provarlo vorrei un conforto.
Inoltre il file MBR si può flashare da recovery ? E se si quale è il comando dello script android?
Grazie a tutti coloro che mi vorranno aiutare
Salve, potresti indicare per favore di quale modello di smartphone si tratta? Così dò una occhiata online alle caratteristiche. E riporta per favore il risultato del comando indicato nel primo post del thread.
Quote:
iniziamo con l'eseguire un comando sul cell (o tramite terminal emulator o tramite adb shell) per vedere le partizioni presenti:
Grazie,codice:cat /proc/emmc
Salve, un dubbio che ho osservando il partizionamento abbastanza particolare del tuo terminale, è che se si applicano le modifiche al file mbr, non si debba tenere conto della correzione dell'offset che invece andava applicata per i file ebr, e che io ho seguito bovinamente... :-[
Se per favore alleghi i files mbr ed ebr provo a dare una occhiata domani.
Grazie infinite per la risposta. Questo è il link per i files MBR ed EBR1 e 2
https://drive.google.com/file/d/0B0L...it?usp=sharing
Il dispositivo è un Lenovo Ideatab A2107A-H 16Gb (MTK6575).
Tutte le discussioni in questo thread presentano la partizione data o nell'EBR1 o nell'EBR2. La discussione a pag2 presenta la partizione data nell'EBR1 e si dice di usare 0 offset per EBR2. Nel mio caso la partizione data si trova nel file MBR e proprio riferendomi a questo esempio ho pensato di non dover modificare ebr1 ed ebr2 ma soltanto il file MBR. Per quanto riguarda il calcolo ho (dopo averlo ribaltato) calcolato il numero di blocchi di cui si compone una partizione da circa 3gb, li ho sommati allo start della partizione data e aggiungendo 2048 blocchi (costante presente nell'MBR originale) ho ricavato lo start della partizione fat (la quarta presente nell'MBR).
Si, il ragionamento è giusto, ebr1 ed ebr2 non vanno modificati, io mi ero riferito a pag. 2 poiché, come per il tuo caso, anche in quella situazione non vi era un offset da applicare. Io ho poi usato il foglio di calcolo ed ho inserito il valore esatto di 3GB, se tu affermi di aver calcolato "un numero di blocchi di cui si compone una partizione da circa 3GB", la differenza che esiste tra i ns. risultati è certamente dovuta a quello.
Ad ogni modo, se disponi della rom originale per sicurezza e non hai problemi nell'uso di flashtools non rischi di trovarti con il device inutilizzabile se qualcosa va storto.
Io ho ripartizionato il dispositivo ri-flashando l'intera rom con gli ebr modificati. Nel mio caso, caricare da recovery il file zip non funzionava. Così, o provi a usare lo zip con dentro il tuo mbr (magari a te funziona) o adoperi flashtools. ;)
Ti aggiorno:
Ho usato uno zip con il comando package_extract_file("MBR", "/dev/mbr"); e funziona ma:
Situazione iniziale
\data 0,26Mb utilizzato da app + 0.94Mb libero con una memoria sdcard interna di 12,25Mb
Situazione dopo installazione
\data 0,26Mb utilizzato da app + 0.94Mb libero con una memoria sdcard interna di 10,25Mb
Quindi i 2Mb alla sdcard li toglie ma non li aggiunge alla partizione \data. Quindi sbaglio qualcosa.
Ricarico la rom stock senza sovrascrivere la recovery con spflash e va di nuovo tutto ok.
Se provo a caricare la rom stock sostituendo l'MBR mi viene fuori questo messaggio:
"Image MBR checksum reference value (0xc24) in the config ini file. Please re-fill checksum values in checksum.ini under tool folder and re-load scatter file again"
Potrei provare a scriverlo così come è ma vorrei prima fare un'altra prova, perché sarebbe molto più comodo scrivere l'MBR dalla recovery.
Mi dicevi che il tuo calcolo era diverso dal mio (probabilmente per la dimensione diversa della \data.
Lo posteresti per favore? vorrei provare (prima di rifare tutti i calcoli) a scrivere il tuo.