Come posso creare un pacchetto di installazione ClockworkMod?


10

Sono un veterano Linux esperto e recentemente ho acquistato un Samsung Galaxy S2 da T-Mobile. Ho sentito il bug armeggiare, quindi ho scelto di scaricare il codice sorgente dal sito di Samsung e iniziare a giocherellare.

Il mio problema è che ho già installato ClockworkMod sul mio telefono, quindi non voglio odin flash un nuovo kernel e quindi corrotto ClockworkMod, quindi sto cercando i dettagli su come creare un pacchetto di installazione ClockworkMod corretto (in genere / sempre un file zip?) in modo da poter testare i kernel appena compilati.

Finora la mia ricerca su Google non ha fatto nulla. La pagina ClockworkMod sembra essere piuttosto sterile di documentazione. Qualcuno può indicarmi un po 'di documentazione sul processo di creazione del pacchetto di installazione?


1
Il flashing di un kernel con Odin rompe CWM?
Matteo Leggi il

1
Ho pensato che sarebbe siccome ODIN sembra lampeggiare il principale bootblock del telefono, ma potrei essere totalmente fuori base lì. Non volevo provarlo senza saperlo con certezza. La mia comprensione era che CWM è un kernel sottile intermedio che ruoterebbe sul kernel corretto, ma, di nuovo, potrebbe essere totalmente fuori base.
Peter Grace,

Risposte:


8

La parte richiesta di un file .zip del kernel è simile alla seguente:

META-INF
    com
        google
            android
                update-binary
                updater-script

Avrai anche bisogno di avere il zImagefile del kernel da qualche altra parte, più semplice se lo hai solo nella radice dell'archivio.

updater-scriptcontiene almeno quanto segue (presuppone zImagenella radice):

assert(package_extract_file("zImage", "/tmp/zImage");
       write_raw_image("/tmp/zImage", "/dev/block/mmcblk0p8");
       delete("/tmp/zImage")
);

Puoi anche fare cose come mostrare una barra di avanzamento, stampare messaggi, cancellare /cachee così via.

Ti consigliamo di prendere update-binaryun altro pacchetto del kernel per SGS2. Uno a caso è allegato a questo post XDA .

Ho testato questo metodo sul mio SGS Vibrant senza problemi, usando un kernel di un pacchetto Odin e un update-binaryaltro kernel .zip di Vibrant. Nota che questo è perfettamente sicuro fintanto che stai scrivendo sulla partizione corretta - per il vibrante che era bml17, per SGS2 sembra essere mmcblk0p5(basato sul kernel di XDA che ho linkato sopra) o mmcblk0p8se stai eseguendo il flashing di un intera immagine di avvio (vedi commenti sotto). Ti consigliamo di verificarlo di sicuro. Nel peggiore dei casi il tuo kernel non funziona e ne fai un flash noto.


Per il Samsung Galaxy S2 (T-Mobile) SGH-T989, la direttiva corretta (raccolta da una buona rom nota che ho già installato) mostra che il blocco di avvio va in / dev / block / mmcblk0p8, non in p5. Potrebbe voler modificarlo per motivi di sicurezza. Ho creato una zip basata su questo post e ha funzionato come un incantesimo! Grazie!
Peter Grace,

@PeterGrace Ah, l'immagine di avvio è molto più di un semplice kernel, ecco perché è diversa.
Matteo Leggi il

C'è un modo per assicurarsi che dovrei usare / dev / block / mmcblk0p8? Ho un Galaxy S2 di Virgin Mobile Canada (lo stesso di Bell Canada), quindi non è di T-Mobile e non ho una buona ROM conosciuta (tranne CM7, ma scrive un'immagine di avvio, non una zImage). Devo presumere che Virgin Mobile GS2 funzioni allo stesso modo di T-Mobile GS2 o esiste un modo per verificarlo?
Rognon,

@Rognon Potresti provare a correre mountper vedere quali blocchi sono mappati dove. Altrimenti, trova una ROM.
Matteo Leggi il

@MatthewRead mountnon mostra né p8 né p5. Googling around sembra indicare che zImage dovrebbe essere scritto in p5, così come questo sito: forum.xda-developers.com/showthread.php?t=1691867 . Ho provato ad elencare il contenuto della cartella menzionata nel thread, ma non esiste sul mio telefono ...
Rognon,

-1

Ho scoperto che puoi usare fastboot senza influenzare CWM.

sudo /path/to/fastboot boot boot.img

o

sudo /path/to/fastboot flash:raw boot /path/to/zImage /path/to/ramdisk.img
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.