Installer le noyau Linux-2.4.16

Estimation du temps de construction:           3 minutes
Estimation de l'espace disque requis:  132 MB

Installation du noyau Linux

Nous n'allons pas encore compiler une nouvelle image du noyau. Nous le ferons après avoir fini l'installation des logiciels du système de base dans ce chapitre. Mais, parce que certains logiciels ont besoin des fichiers d'en-tête du noyau, nous allons désarchiver le noyau maintenant et le configurer pour pouvoir compiler les packages ayant besoin du noyau.

Le fichier de configuration du noyau est créé en exécutant la commande suivante:

make mrproper &&
yes "" | make config &&
make dep &&
cd $LFS/usr/include &&
cp -a ../src/linux/include/linux . &&
chown -R root.root $LFS/usr/include/linux &&
mkdir asm &&
cp -a ../src/linux/include/asm/* asm &&
chown -R root.root $LFS/usr/include/asm

Explication des commandes

make mrproper: Ceci s'assure que l'arborescence du noyau est parfaitement propre.

yes "" | make config: Ceci exécute make config et donne la réponse par défaut à toutes les questions que le script de configuration pose à l'utilisateur (il fait ceci en se contentant de transmettre l'équivalent de l'appui sur la touche Enter, qui accepte les réponses par défaut Y et N aux questions). Nous ne configurons pas, ici, le véritable noyau; nous n'avons besoin que d'un fichier de configuration quelconque, pour pouvoir ensuite exécuter make dep qui créera de nouveaux fichiers dans $LFS/usr/src/linux/include/linux, comme version.h, entre autres, dont nous aurons besoin plus tard dans chroot pour compiler Glibc ainsi que d'autres packages.

make dep: make dep vérifie les dépendances et crée le fichier des dépendances. Nous n'avons pas vraiment besoin de la vérification des dépendances, mais ce qui nous importe est que make dep crée les fichiers susmentionnés dans $LFS/usr/src/linux/include/linux, dont nous aurons besoin plus tard.

cp -a ../src/linux/include/linux . and mkdir asm && cp -a ../src/linux/include/asm/* asm: Ces commandes copient les entêtes du kernel dans le répertoire $LFS/usr/include.

chown -R root.root $LFS/usr/include/linux et chown -R root.root $LFS/usr/include/asm: Ces commandes changent l'utilisateur propriétaire des répertoires $LFS/usr/include/linux et $LFS/usr/include/asm, plus tous les fichiers contenus, en utilisateur root du groupe root.

Pourquoi nous copions les en-têtes du noyau et pourquoi nous ne créons pas de liens

Auparavant, une pratique commune consistait à créer des liens symboliques pour les répertoires /usr/include/linux et asm vers respectivement /usr/src/linux/include/linux et asm. Ceci est une mauvaise idée d'après cet extrait d'un envoi de Linus Torvalds sur la liste de diffusion du noyau Linux:

Je suggère que les personnes qui compilent des noyaux devraient:

 - ne pas créer un seul lien symbolique (sauf celui créé lors de la construction du 
  noyau, "linux/include/asm" qui est utilisé pour la compilation du noyau lui-même)

Et oui, c'est ce que je fais. Mon répertoire /usr/src/linux a toujours les anciens 
en-têtes du kernel 2.2.13, même si je n'ai pas lancé cette version du kernel depuis 
un _loong_ moment. Mais glibc a été compilé avec, donc ces entêtes correspondent 
aux objets de la bibliothèque.
  
Et cela correspond à l'environnement suggéré depuis au moins les cinq dernières 
années. Je ne sais pas pourquoi l'idée du lien symbolique est toujours vivante, 
comme un mauvais zombie. Pratiquement toutes les distributions conservent l'idée 
du lien et tout le monde se souvient que les sources du noyau doivent aller sous 
"/usr/src/linux" même si ce n'est plus vrai depuis _trèès_ longtemps.

La partie importante là-dedans correspond au moment où il indique que les en-têtes doivent être ceux avec lesquels glibc a été compilé. Ces en-têtes doivent rester accessibles et en les copiant, nous nous assurons de suivre ces recommandations. Notez aussi que tant que ces liens symboliques ne sont pas créés, il est tout à fait correct d'avoir les sources du noyau sous /usr/src/linux.

Contenu

Le package du Linux Kernel contient le noyau Linux.

Description

Le noyau de Linux est au coeur de chaque système Linux. C'est lui qui fait tourner Linux. Quand vous allumez votre ordinateur et démarrez un système Linux, la toute première partie de logiciel Linux qui est chargée est le noyau. Le noyau initialise les composants matériels du système comme les ports série, les ports parallèles, les cartes son, les cartes réseau, les contrôleurs IDE, les contrôleurs SCSI et beaucoup d'autres choses. En bref, le noyau rend le matériel disponible pour que le logiciel puisse fonctionner.

Dépendances

Linux-2.4.8 nécessite l'installation de:


sh du package bash

ar du package binutils
as du package binutils
ld du package binutils
nm du package binutils
objcopy du package binutils

chown du package fileutils
cp du package fileutils
ln du package fileutils
mkdir du package fileutils
mv du package fileutils
rm du package fileutils

find du package findutils
xargs du package findutils

gcc du package gcc 

grep du package grep

make du package make

awk du package mawk

depmod du package modutils
genksyms du package modutils

hostname du package net-tools

sed du package sed

basename du package sh-utils
date du package sh-utils
expr du package sh-utils
pwd du package sh-utils
uname du package sh-utils
whoami du package sh-utils
yes du package sh-utils

cat du package textutils
md5sum du package textutils
sort du package textutils
tail du package textutils
touch du package textutils
tr du package textutils