Ricerca tra la vecchia roba

Compilare un kernel per il Samsung Galaxy S

Posted: ottobre 9th, 2011 | Author: | Filed under: Guide | Tags: , , , , | Commenti disabilitati su Compilare un kernel per il Samsung Galaxy S

Prima 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.