Compiler un noyau linux récent (>3.11) sur DELL Latitude E5530

03 Nov 2013 » {[{categoryPostCurrent}]}

Cet article présente ma manière de compiler un noyau linux à la sauce debian sur un DELL Latitude E5530.

Généralités

Installation des dépendances avant une compilation

    apt-get install build-essential kernel-package debconf-utils dpkg-dev debhelper ncurses-dev fakeroot

Téléchargement du nouveau noyau

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.

Récupération de l'ancienne configuration (si possible)

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
    

Modifier les options du kernel

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 compilation du noyau

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

Les options qui m'intéressent dans le noyau

Activation de la webcam

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    

Activation du support NAT pour IPv4 et IPv6

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

Activer le séquençage amélioré du CPU sur les derniers CPU intel

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:

  • powermanagement and ACPI Options -> CPU freq scaling -> Intel P State Control -> ...drivers

Puis finalement activer intel_pstate pilot

Voir aussi...

comments powered by Disqus