Le Kernel
Le kernel est une partie du micrologiciel à connaître. Aussi appelé noyau, le kernel est le "centre nerveux" du téléphone: après le bootloader, c'est lui qui se charge du lancement du système. Étant donné qu'il contient tous les drivers, c'est une sorte d'intermédiaire entre le hardware et la rom. Il gère la RAM, l'affichage, le processeur, l’exécution des tâches et est en charge de beaucoup d'autres éléments vitaux du mobile.
Tout comme pour les firmwares officiels et les roms custom, on distingue deux sortes de kernels:
Un kernel officiel (ou kernel stock) est un kernel qui a été compilé par les ingénieurs du constructeur, et qui est installé par défaut sur le téléphone à sa sortie d'usine et après l'installation d'un firmware officiel.
Ainsi lorsque l'on installe un firmware à partir de PC Companion ou Update Service, le firmware installé est toujours accompagné de son kernel, officiel.
En principe, un kernel officiel n'est à 100% compatible qu'avec le firmware auquel il appartient. Prenons le kernel du firmware .42 par exemple: il ne sera totalement compatible qu'avec le firmware .42 ainsi qu'avec les roms tweak qui sont basées sur le firmware .42.
A l'inverse d'un kernel officiel, un kernel custom est conçu par des développeurs tiers. Le plus souvent, un kernel custom est basé sur les sources d'un kernel officiel. Ce genre de kernel apporte de nombreux avantages bien définis, dont le le plus souvent:
- L'overclock, permettant d'augmenter la fréquence maximale du processeur
- Un plus grand nombre de gouverneurs CPU (voir le lexique)
- L'autoroot (root automatique du mobile lors du premier démarrage après l'installation du kernel)
- Un recovery
- Une meilleure autonomie
- Le support de certaines partitions de la carte mémoire (généralement les partitions Ext)
Chaque kernel custom n'est compatible qu'avec une ou plusieurs roms toujours précisées. Par exemple, les kernels de CyanogenMod7 ne peuvent faire tourner que les roms CyanogenMod7 ainsi que les roms elles-même basées sur CM7.
Toute rom custom et tout firmware a besoin de son kernel pour fonctionner correctement. Le fait d'installer un kernel lorsque le mobile n'est pas sous une rom compatible avec ce kernel empêchera l'appareil de démarrer ou rendra le rendra instable.
De ce fait, avant d'installer une rom custom il faut toujours flasher un kernel compatible avec cette rom auparavant.
Aussi, un kernel custom compatible avec une certaine rom peut également faire tourner une rom tweak basée sur cette rom. Vous me suivez ? Non ? Ok ok rien de mieux qu'un petit schéma pour récapituler :mrgreen:
Tous les téléphones sous android ont un kernel essentiellement basé sur le noyau Linux. De ce fait la version d'un kernel correspond à la version du noyau linux sur lequel il est basé. Cependant, la version d'un kernel n'est pas importante en soi, étant donné que plusieurs kernels peuvent avoir la même version, sans pour autant être identiques !
En effet, un kernel officiel 2.6.32.9 sera différent d'un kernel custom aussi basé sur cette version du noyau linux, tout simplement car ce dernier apporte plus d'avantages.