Voici les étapes à suivre pour compiler un noyau pour la version Gingerbread de CyanogenMod pour le HTC Desire sous une Ubuntu 10.04 toute fraiche.

Prérequis

Avoir installé les repos pour CyanogenMod comme ici.
export CCOMPILER=${HOME}/android/system/prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin/arm-eabi-

Créer le répertoire

mkdir -p ~/android/kernel

Installer le dépôt

cd ~/android/kernel
git clone git://github.com/CyanogenMod/cm-kernel.git -b android-msm-2.6.37
cd cm-kernel

Configuration de la compilation du noyau

Copier du téléphone le fichier /proc/config.gz et le coller dans ~/android/kernel/cm-kernel/config.gz puis :
cat config.gz | gunzip > .config
make ARCH=arm CROSS_COMPILE=$CCOMPILER oldconfig

Compiler le noyau

Compilation

make ARCH=arm CROSS_COMPILE=$CCOMPILER -j`grep 'processor' /proc/cpuinfo | wc -l`

Récupérer les fichiers

Le fichier du noyau se situe là :
~/android/kernel/cm-kernel/arch/arm/boot/zImage
Le module pour le wifi ici :
~/android/kernel/cm-kernel/drivers/net/wireless/bcm4329/bcm4329.ko

Installation

Intégrer à CyanogenMod

cp ~/android/kernel/cm-kernel/arch/arm/boot/zImage ~/android/system/device/htc/bravo/kernel
cp ~/android/kernel/cm-kernel/drivers/net/wireless/bcm4329/bcm4329.ko ~/android/system/device/htc/bravo/bcm4329.ko

Puis recompiler CyanogenMod

Créer un update.zip

Utiliser la méthode de Koush