Linux-2.6.11.12

Le paquet Linux contient le noyau Linux.

Temps de construction approximatif: 4,20 SBU
Espace disque requis: 181 Mo
L'installation dépend de: Bash, Binutils, Coreutils, Findutils, GCC, Glibc, Grep, Gzip, Make, Modutils, Perl et Sed

Installation du noyau

Construire le noyau implique un certain nombre d'étapes : configuration, compilation et installation. Lisez le fichier README contenu dans les sources du noyau pour d'autres méthodes.

Préparez la compilation en lançant la commande suivante :

make mrproper

Ceci nous assure que le répertoire du noyau est complètement nettoyé. L'équipe du noyau recommande que cette commande soit lancée avant chaque compilation du noyau. Vous ne devez pas penser que le répertoire des sources soit propre juste après avoir été déballé.

S'il a été décidé dans la section intitulée « Configurer la console Linux » de compiler le plan de codage dans le noyau, lancez la commande ci-dessous :

loadkeys -m /usr/share/kbd/keymaps/[path to  keymap] > \
    drivers/char/defkeymap.c

Par exemple, pour utiliser un clavier hollandais, utilisez /usr/share/kbd/keymaps/i386/qwerty/nl.map.gz.

Configurez le noyau via une interface par menu. BLFS a quelques informations concernant les besoins particuliers du noyau en terme de configuration pour les paquetages en dehors de LFS sur http://www.linuxfromscratch.org/blfs/view/svn/longindex.html#kernel-config-index :

make menuconfig

Sinon, make oldconfig peut être plus approprié dans certaines situations. Voir le fichier README pour plus d'informations.

Sinon, make oldconfig pourrait être plus approprié dans certaines situations. Voir le fichier README pour plus d'informations.

Si désiré, passez la configuration du noyau en copiant le fichier de configuration, .config, à partir du système hôte (en supposant qu'il est disponible) dans le répertoire linux-2.6.11.12 tout juste déballé. Néanmoins, nous ne recommandons pas cette option. Il est souvent mieux d'explorer tous les menus de configuration et de créer la configuration du noyau à partir de rien.

[Note]

Note

NPTL requiert que le noyau soit compilé avec GCC 3.x, dans ce cas 3.4.3. Il n'est pas recommandé de compiler le noyau avec GCC-2.95.x car ceci est la cause d'échec dans la suite de tests de Glibc. Normalement, ceci ne devrait pas être mentionné car LFS ne construit pas GCC-2.95.x. Malheureusement, la documentation du noyau est obsolète et indique toujours que GCC-2.95.3 est le compilateur recommandé.

Compilez l'image du noyau et les modules :

make

Si vous utilisez des modules avec le noyau, un fichier /etc/modprobe.conf pourrait être nécessaire. Les Informations concernant les modules et la configuration du noyau sont situées dans la documentation du noyau disponible dans le répertoire linux-2.6.11.12/Documentation. De plus, la page man modprobe.conf(5) pourrait aussi avoir de l'intérêt.

Faites attention lors de la lecture d'autres documentations relatives aux modules du noyau parce qu'elles s'appliquent généralement seulement aux noyaux 2.4.x. D'après nos connaissances, les problèmes spécifiques de configuration du noyau pour Hotplug (le montage à chaud) et Udev se sont pas documentés. Le problème est que Udev créera un n½ud de périphérique seulement si Hotplug ou un script écrit par l'utilisateur insère le module correspondant dans le noyau et tous les modules ne sont pas détectables par Hotplug. Notez que les instructions comme celle ci-dessous, compris dans le fichier /etc/modprobe.conf, ne fonctionnent pas avec Udev :

alias char-major-XXX un-module

À cause des complications avec Hotplug, Udev et les modules, nous recommandons fortement de commencer avec une configuration complètement non modulaire du noyau, spécialement si c'est la première fois que vous utilisez Udev.

Installez les modules si la configuration du noyau les utilise :

make modules_install

Une fois la compilation du noyau terminée, des étapes supplémentaires sont requises pour terminer l'installation. Certains fichiers ont besoin d'être copiés dans le répertoire /boot.

Le chemin vers l'image du noyau pourrait varier suivant la plateforme d'utilisation. La commande suivante suppose qu'elle se trouve sur une architecture x86 :

cp arch/i386/boot/bzImage /boot/lfskernel-2.6.11.12

System.map est un fichier de symboles pour le noyau. Il cartographie les points d'entrées de chaque fonction dans l'API du noyau, ainsi que les adresses des structures de données du noyau pour le noyau en cours d'exécution. Lancez la commande suivante pour installer le fichier carte :

cp System.map /boot/System.map-2.6.11.12

Le fichier de configuration du noyau .config produit à l'étape make menuconfig ci-dessus contient toutes les sélections de configuration pour le noyau tout juste compilé. Conserver ce fichier est une bonne idée pour pouvoir s'y référer plus tard :

cp .config /boot/config-2.6.11.12

Il est important de noter que les fichiers du répertoire des sources du noyau n'appartiennent pas à root. À chaque fois qu'un paquet est déballé par l'utilisateur root (comme nous l'avons fait à l'intérieur du chroot), les fichiers conservent les identifieurs utilisateur et groupe de celui qui a préparé le paquet. Ceci n'est habituellement pas un problème pour tout autre paquet installé car le répertoire des sources est supprimé après installation. Néanmoins, le répertoire des sources de Linux est souvent conservé assez lontemps. À cause de cela, il existe une chance pour que l'identifieur utilisateur soit affecté à quelqu'un sur la machine. Cette personne aurait alors les droits d'écriture sur les sources du noyau.

Si le répertoire des sources du noyau est conservé, lancez chown -R 0:0 sur le répertoire linux-2.6.11.12 pour vous assurez que tous les fichiers sont bien possédés par l'utilisateur root.

[Warning]

Warning

Certaines documentation du noyau recommandent de créer un lien symbolique à partir de /usr/src/linux vers le répertoire des sources du noyau. Ceci est spécifique aux noyaux antérieurs à la série 2.6 et ne doit pas être réalisé sur un système LFS car il peut poser des problèmes pour les paquetages que vous souhaitez construire une fois que votre système LFS de base est complet.

De plus, les en-têtes compris dans le répertoire système include devraient toujours être ceux avec lesquels Glibc a été compilé et, du coup, ne devraient jamais être remplacés par les en-têtes du noyau.

Contenu de Linux

Fichiers installés: config-2.6.11.12, lfskernel-2.6.11.12, et System.map-2.6.11.12

Descriptions courtes

config-2.6.11.12

Contient toutes les sélections de la configuration pour le noyau

noyau

Le moteur du système Linux. Au démarrage de l'ordinateur, le noyau est la première partie du système d'exploitation à être chargée. Il détecte et initialise tous composants matériels de l'ordinateur, puis rend disponibles ces composants par un ensemble de fichiers pour les logiciels qui en ont besoin, et transforme un CPU unique en une machine multitâches capable 'exécuter des bouts de programmes quasiment au même moment.

System.map-2.6.11.12

Une liste d'adresses et de symboles ; il fait correspondre les points d'entrées et les adresses de toutes les fonctions et structures de données dans le noyau