Linux-2.6.8.1

Le paquet Linux contient le noyau et les fichiers d'en-têtes.

Temps de construction approximatif: 4,20 SBU
Espace disque requis: 181 Mo
L'installation de Linux 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é.

De plus, assurez-vous que le noyau n'essaie pas de passer les événements de montage à chaud dans l'espace utilisateur jusqu'à ce que ce dernier spécifie qu'il est prêt :

sed -i 's@/sbin/hotplug@/bin/true@' kernel/kmod.c

Si 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 :

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.

[Note]

Note

Lors de la configuration du noyau, assurez-vous d'activer l'option « Support for hot-pluggable devices » dans le menu « General Setup ». Ceci active les événements de montage à chaud qui sont utilisés par udev pour peupler le répertoire /dev avec les n½uds de périphériques.

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.8.1 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.

Pour le support de la mémoire partagée POSIX, assurez-vous que l'option de configuration du noyau « Virtual memory file system support » est activée. Elle réside dans le menu « File systems » et est normalement activée par défaut.

Les scripts de démarrage LFS supposent que soit « Support for Host-side USB » et « USB device filesystem » ont été compilées directement dans le noyau soit aucune des deux ne l'a été. Les scripts de démarrage ne fonctionnent pas correctement s'il s'agit d'un module (usbcore.ko).

[Note]

Note

NPTL requiert que le noyau soit compilé avec GCC 3.x, dans ce cas 3.4.1. Compiler avec 2.95.x est connu pour causer des échecs dans la suite de tests de glibc, donc il n'est pas recommandé de compiler le noyau avec gcc 2.95.x.

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.8.1/Documentation. La page man modprobe.conf pourrait aussi avoir de l'intérêt.

Faites attention lors de la lecture d'autres documentations parce qu'elle s'applique 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 some-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

S'il y a beaucoup de modules et peu de place, considérez la possibilité de réduire leur taille et de compresser les modules. Pour la plupart des utilisateurs, une telle compression n'est pas utile mais si le système dispose de vraiment peu d'espaces, jetez un ½il à http://www.linux-mips.org/archives/linux-mips/2002-04/msg00031.html.

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. Lancez la commande suivante pour installer le noyau :

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

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.8.1

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.8.1

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 identifiants 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'identifiant 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.8.1 pour vous assurez que tous les fichiers sont bien possédés par l'utilisateur root.

Contenu de Linux

Fichiers installés: noyau, en-têtes du noyau et System.map

Descriptions courtes

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.

En-têtes du noyau

Définit l'interface des services que fournit le noyau. Les en-têtes du répertoire include du système devraient toujours être ceux avec lesquels Glibc a été compilé et, du coup, ne devraient pas être remplacées lors de la mise à jour du noyau.

System.map

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