Cet article présente ma manière de compiler un noyau linux à la sauce debian sur un DELL Latitude E5530.
apt-get install build-essential kernel-package debconf-utils dpkg-dev debhelper ncurses-dev fakeroot
Les noyaux linux les plus récents sont téléchargeables sur le site Kernel archive.
Une fois téléchargé, décompressez le noyau linux dans le répertoire /usr/src
par exemple.
Bien souvent plutôt que de ré-activer une par une les options personnalisées de votre précédent noyau de manière à ce qu'elles soient effectives sur votre nouveau noyau, il est préférable de récupérer le fichier de configuration .config
du précédent noyau.
Ce fichier se situe dans le répertoire /boot
et se présente sous la forme config-3.X.Y
. Ainsi afin de récupérer ce fichier il suffit de le copier dans le répertoire du nouveau noyau en le renommant .config
.
Exemple:
cp /boot/config-3.X.X /usr/src/linux-3.11.X/.config
C'est sans doute l'étape qui a fait que vous devez re-compiler manuellement votre kernel. C'est effectivement au niveau de cette étape que l'on active ou désactive chaque paramètre du noyau. Il existe différentes interfaces permettant de réaliser cette personnalisation du noyau. Pour ma part, je préfère l'interface texte basée sur ncurses. Celle-ci se lance en saisissant la commande suivante en tant que root:
make menuconfig
La commande suivante lance la compilation du noyau en se basant sur le fichier .config
présent à la racine du répertoire des sources du noyau. Cette commande permet de créer deux fichiers .deb
correspondant respectivement à l'archive du noyau et ses headers:
export CONCURRENCY_LEVEL=4
fakeroot make-kpkg --initrd --append-to-version=-$(date '+%Y%m%d') kernel-image kernel-headers kernel-source
Afin de réduire le temps de compilation, j'utilise la variable CONCURRENCY_LEVEL=4
qui permet de répartir la compilation sur 4 coeurs du CPU
Si je pars de la configuration par défaut des derniers noyaux 3.11, je constate que ma webcam ne fonctionne plus. Voici la procédure à suivre pour la ré-activer:
Comme d'habitude, en tant que root:
make menuconfig
Ensuite il faut naviguer dans les menus de la sorte:
* Device Drivers --> Multimedia support
[*] Media Controller API
[*] Cameras/video grabbers support
[*] V4L2 sub-device userspace API
[M] V4L2 int device (DEPRECATED]
[*] Media USB Adapters ---> Tout cocher!
[*] V4L platform devices ---> Tout cocher
Sur les kernels récents le support du NAT est désactivé par défaut; afin de le réactiver il suffit de saisir en root :
make menuconfig
Ensuite il faut naviguer dans les menus comme je l'indique ci-dessous:
Networking support ---> Networking options ---> Network packet filtering framework (netfilter) ---> IP: Netfilter Configuration ---> IPv4 NAT (select all!)
Cette manipulation peut également être faire pour IPv6
Le pilote intel_pstate
permet une meilleure prise en charge de la modulation de la fréquence des coeurs de votre CPU. La configuration par défaut des nouveaux noyaux n'active pas cette fonctionnalité. Pour cela :
make menuconfig
Ensuite il faut naviguer dans les menus comme je l'indique:
ACPI Options
-> CPU freq scaling
-> Intel P State Control
-> ...driversPuis finalement activer intel_pstate
pilot