Compilare un kernel per il Samsung Galaxy S
Posted: Ottobre 9th, 2011 | Author: packz | Filed under: Guide | Tags: android, arm, kernel, samsung galaxy s, smartphone | Commenti disabilitati su Compilare un kernel per il Samsung Galaxy SPrima di tutto andare sul sito della samsung che mette a disposizione i sorgenti e selezionare il sorgente più ultimo che corrisponde al file GalaxyS_OpenSource_GB_Update2.zip (in realtà dipende da che versione di kernel avete sul cellulare e non ho un mapping fra archivi e versioni, nel caso scaricateveli ed informatemi).
All’interno dei sorgenti ci dovrebbe essere un file chiamato build_kernel.sh che dovrebbe buildare il tutto ma pare non scritto perfettamente bene. Alla fine la procedura da seguire è la seguente: prima di tutto
$ make ARCH=arm aries_eur_defconfig
vi genera il .config per l’hardware del vostro samsung. I passaggi successivi sono
$ make ARCH=arm CROSS_COMPILE=/opt/arm-sourcery-g++-lite/bin/arm-none-linux-gnueabi- $ make ARCH=arm CROSS_COMPILE=/opt/arm-sourcery-g++-lite/bin/arm-none-linux-gnueabi- zImage $ make ARCH=arm CROSS_COMPILE=/opt/arm-sourcery-g++-lite/bin/arm-none-linux-gnueabi- modules
Fate attenzione che la toolchain deve essere nel vostro PATH. Se invece dovete buildare un modulo che non è contenuto nel tree dei sorgenti il comando da dare è il seguente
$ make ARCH=arm CROSS_COMPILE=$TOOLCHAIN_PATH/$TOOLCHAIN_PREFIX -C /path/to/module/src
dall’interno del tree del kernel. Attenzione che per fare in modo che il modulo venga caricato senza problemi bisogna editare il config in modo che aggiunga un suffisso alla versione del kernel che matchi quello che gira sul cellulare; per farlo dopo il primo step sopra descritto dare
$ make menuconfig ARCH=arm
ed editare
General setup ---> Local version - append to kernel release
inserendo la stringa che trovate sotto la voce “Versione kernel” nella sezione “Info sul telefono” del vostro samsung. Senza questo sarebbe problematico riuscire a caricare i moduli compilati.
L’ultimo passaggio dovrebbe essere flashare il kernel usando heimdall. Saluti.