Compilare il kernel dell'Huawei U8150 Ideos

Premessa

Supponiamo di volere attivare sull'Ideos alcune caratteristiche non ufficialmente supportate/previste dalla Huawei, ad esempio il supporto ai tunnel virtuali (TUN/TAP) o alle porte USB host. La via piu' semplice da seguire e' la ricompilazione del kernel, resa facile dal fatto che la Huawei ha, bonta' sua, pubblicato i sorgenti.

Occorrente

  • Distribuzione Linux decentemente recente (io ho utilizzato Ubuntu 10.10)
  • Pacchetti di sviluppo (vedere qui)
  • Toolchain adeguata, da scaricare qui
  • Sorgenti del kernel, da scaricare qui (sito ufficiale) o qui
  • File di configurazione, da scaricare qui

Fase 1: Installazione della toolchain

tar zxvf toolchain-kernel-armv6-linux-x86.tar.gz

sudo mv toolchain /opt/Android

sudo chown -R root:root /opt/Android

Adesso in /opt/Android ci saranno tre toolchain per ARM e una per i686; chiaramente ci interessano solo le prime.

Fase 2: Estrazione del kernel e preparazione dell'ambiente di compilazione

unzip kernel-2.6.32-U8150-Froyo.zip

cd kernel-2.6.32-U8150-Froyo

tar zxvf kernel-2.6.32-U8150-Froyo.tar.gz

cd kernel

cp ../../config.U8150 .config

export CCOMPILER=/opt/Android/arm-eabi-4.4.0/bin/arm-eabi-

make ARCH=arm CROSS_COMPILE=$CCOMPILER oldconfig

Fase 3: Configurazione del kernel

make ARCH=arm CROSS_COMPILE=$CCOMPILER oldconfig

oppure, se avete le librerie di sviluppo di X e volete avere un comodo menu' grafico

make ARCH=arm CROSS_COMPILE=$CCOMPILER xconfig

Fase 4: Compilazione

make ARCH=arm CROSS_COMPILE=$CCOMPILER -j N

Dove al posto di N va messo il numero di thread paralleli da usare (di solito pari al numero dei processori/core).

A questo punto potete prendervi una bella bibita fresca e guardare scorrere la lista dei file in compilazione.