Introduction : qu'est ce qu'un kernel zImage
A compléter : expliquer ce qu'est un kernel zImage et dire l'intérêt d'en fabriquer un
Comment fabriquer son propre kernel?
Ce qu'il vous faut:
- une distribution UNIX
- une connexion internet
- des connaissances de base en programmation
- de la motivation
Les étapes :
- Tout d'abord créer un dossier nommé android-kernel
mkdir android-kernel
cd android-kernel
- Rendez-vous dans ce dossier
cd android-kernel
- Téléchargez ensuite ce package et dézipper le
tar xjf arm-2008q1-126-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
- Téléchargez ensuite les sources (environ 300Mo)
git clone git://git.linuxtogo.org/home/groups/mobile-linux/kernel.git
Ce que vous devriez avoir sur l'écran du terminal.
output:
Initialized empty Git repository in /home/user/android-kernel/kernel/.git/
remote: Counting objects: 908251, done.
remote: Compressing objects: 100% (153970/153970), done.
remote: Total 908251 (delta 755115), reused 906063 (delta 753016)
Receiving objects: 100% (908251/908251), 281.86 ?MiB | 292 ?KiB/s, done.
Resolving deltas: 100% (755115/755115), done.
Checking out files: 100% (22584/22584), done.
- Dirigez vous dans le bon dossier
cd kernel
- Et vérifiez que vous possédez la dernière version
git checkout -b htc-vogue origin/htc-vogue
Ce que vous devriez avoir sur l'écran du terminal.
output:
Branch htc-vogue set up to track remote branch
refs/remotes/origin/htc-vogue.
Switched to a new branch "htc-vogue"
-
Compiler le kernel
make vogue_defconfig ARCH=arm; make menuconfig
-
Compiler le kernel pour avoir le fichier zImage
export PATH=path/to/android-kernel/arm-2008q1/bin:$PATH
make zImage ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi-
Ce que vous devriez avoir sur l'écran du terminal.
output:
........
lots of output
........
Kernel: arch/arm/boot/zImage is ready
- Vous pouvez copier le fichier sur votre carte SD et le tester
cd ../../
mkdir android-binaries
cd android-binaries
cp ../android-kernel/kernel/arch/arm/boot/zImage
Les modifications :
Toutes modifications des fichiers pour ajouter/modifier des fonctionnalités doient se faire entre l'étape 6 et 7.