Chapitre 13. Quelques mots sur le noyau 2.4

Table des matières
13.1. Linux 2.4 - qu'y a-t-il dedans pour vous?
13.1.1. Réseau: plus sécurisé, plus stable, plus rapide!
13.1.2. PCMCIA, USB, Firewire, ISA PnP
13.1.3. Vidéo et Multimédia
13.1.4. Systèmes de fichiers
13.1.5. Note sur les patchs
13.1.6. Qu'est-ce que kapm-idled?
13.1.7. Le noyau fonctionne partout, mais...
13.2. Astuces pour obtenir plus encore de votre noyau
13.2.1. initrd: périphériques nécessaires au démarrage
13.2.2. Périphériques USB
13.2.3. Assistants personnels USB

Les changements entre les noyaux 2.2 et 2.4 passeront probablement inaperçus aux yeux de la plupart des utilisateurs de GNU/Linux. Néanmoins, il s'agit d'une petite révolution pour les personnes impliquées dans sa programmation ainsi que pour ses utilisateurs avancés. C'est pourquoi nous n'avons pas pu résister à la tentation d'ajouter un nouveau chapitre à notre Manuel de référence qui présente à l'utilisateur les améliorations les plus importantes, ainsi que quelques astuces qui peuvent s'avérer utiles pour des problèmes spécifiques.

13.1. Linux 2.4 - qu'y a-t-il dedans pour vous?

Linux-Mandrake 8.0 est la première distribution Linux-Mandrake basée sur un noyau 2.4.x.

Super! Hourra! Nous l'attendions tous! etc, etc....

Bon, maintenant on l'a dit, alors adoptons un autre point de vue :

Une nouvelle version du noyau? Et alors? Pourquoi devrais-je m'en préoccuper?

La réponse à cette question est différente selon que vous utilisiez Linux chez vous, au bureau, ou que vous soyez un ISP, que vous utilisiez un portable, que vous soyez intéressé par les systèmes Linux embarqués...

Qui plus est, la plupart des améliorations du noyau 2.4 seront cachées derrière une interface graphique de configuration, et par conséquent elles seront « transparente  » pour l'utilisateur lambda. Ainsi par exemple, la combinaison de la gestion des ressources et du « système de fichiers de périphériques  » vont dans le sens d'un support PNP (reconnaissance et configuration automatique) plus robuste dans toutes les distributions GNU/Linux. Quand cela arrivera, beaucoup de gens en remercieront les interfaces graphiques, alors que le héros, le vrai, restera inconnu.

D'autres changements passeront probablement inaperçus à vos yeux, du moins pour l'instant: les processeurs à 2 GHz ne sont pas encore disponibles, 64 Go de RAM, ça vaut encore cher, les fichiers de plus de 2 Go sont encore relativement rares, et il y a également peu de chances d'avoir des PC à domicile équipés de 16 cartes Ethernet, 10 contrôleurs IDE, et ainsi de suite. Les améliorations notables dans la gestion des périphériques en mode bloc (accès direct (« raw I/O  »), LVM, support RAID amélioré) s'avèreront importantes pour nos produits professionnels et apparentés, mais peu ou pas du tout pour les utilisateurs domestiques, de bureau ou bien les petits serveurs.

Ceci dit, voici une liste des améliorations qui changeront le quotidien de beaucoup d'utilisateurs de Linux-Mandrake :

13.1.1. Réseau: plus sécurisé, plus stable, plus rapide!

Linux a toujours eu un bon support réseau pour des raisons évidentes: Linux est né sur Internet, et la plupart des développements se font à travers Internet aussi. Néanmoins, la couche réseau a été entièrement réécrite, et le noyau 2.4 apporte quelques changements « révolutionnaires  »:

  • support pour les adaptateurs réseau USB, FireWire et gigabit Ethernet (c'est pour quand les signaux de fumée?),

  • support PPP amélioré: fusion de la couche PPP ISDN avec le PPP sur port série, et ajout du support PPPoE (PPP over Ethernet) dans le noyau;

  • le support du firewall et du masquage IP (IP masquerading) a de nouveau été complètement réécrit. Netfilter (iptables) apporte des améliorations de sécurité majeures par rapport au ipchains des noyaux 2.2. En plus de cela, iptables permet une configuration beaucoup plus puissante et facile du NAT (Network Address Translation), des serveurs proxy transparents et de la redirection (pensez répartition de charge, c'est-à-dire remplacer de façon transparente un serveur web par quatre!). En gros, Jay (le dirigeant de notre équipe sécurité et auteur de Bastille Linux) en rêve depuis des années;

    http://securityportal.com/cover/coverstory20010122.printerfriendly.html

Le noyau 2.4 propose également des contournements de bugs trouvés dans les piles réseau d'autres systèmes d'exploitation, une meilleure gestion des sockets et des architectures SMP, et même une stabilité meilleure que ce à quoi nous nous sommes habitués (est-ce possible?).

13.1.2. PCMCIA, USB, Firewire, ISA PnP

Dans les noyaux 2.2, le support du PCMCIA et du PNP ISA était apporté par des paquetages externes, et les noyaux 2.2 dans les distributions Linux-Mandrake 7.x incluaient un portage du support USB. C'était certes très utile, mais la qualité des paquetages externes et des portages ne peuvent rivaliser avec le noyau Linux officiel. Linux 2.4 inclut enfin le support natif pour ces périphériques. En combinaison avec la gestion centralisée des ressources, le support du PCMCIA, de l'USB et du FireWire devrait grandement s'améliorer dans le futur.

13.1.3. Vidéo et Multimédia

Le support du framebuffer amélioré, et l'ajout du DRI (Direct Rendering Infrastructure) rendent Linux 2.4 encore plus attractif pour les jeux (accélération vidéo) et les périphériques embarqués. Cela signifie, à terme, la mort de SVGAlib sur votre PC :-)

Le support des cartes son, TV et radio a également été grandement amélioré durant le cycle de développement des noyaux 2.4. Encore une fois, la plupart de ces changement ont été portés sur les 2.2 dans les distributions Linux-Mandrake 7.x. Vous avez été gâtés, non?

13.1.4. Systèmes de fichiers

Le changement le plus notable dans les systèmes de fichiers sur disque est l'arrivée de reiserfs, système de fichiers journalisé, dans l'arborescence officielle du noyau 2.4. Encore une fois, reiserfs était déjà présent dans nos distributions 7.x mais marqué comme expérimental. Côté réseau, Linux 2.4 gère enfin NFSv3, et le support SMB a également été amélioré. Malheureusement, aucun système de fichiers distribué n'est encore intégré à l'arborescence officielle du noyau, et le support NTFS est encore expérimental.

13.1.5. Note sur les patchs

Pas question ici de patchs anti-tabac, en fait il serait plutôt question de rustines. Pour le noyau, cela signifie des modifications de code qui apportent des fonctionnalités en plus. Nous donnons ici la liste des patchs les plus importants ajoutés par MandrakeSoft au noyau de base, maintenu par Linus Torvalds.

Alsa

Alsa (Advanced Linux Sound Architecture) est à la base un pilote pour les cartes son. Il fonctionne au-dessus du support de base du noyau, et améliore la qualité sonore. Il fournit aussi une interface commune aux applications de façon à rendre le son plus homogène sous Linux.

FreeS/WAN

FreeS/WAN est une implémentation de IPSEC et IKE pour Linux.

IPSEC signifie « Internet Protocol SECurity  ». IPSEC utilise du cryptage fort pour fournir à la fois l'authentification et le chiffrement. L'authentification permet de s'assurer que les paquets proviennent bien du bon envoyeur et n'ont pas été altérés durant le transit. Le chiffrement interdit la lecture non autorisée du contenu des paquets.

Cela vous permet de mettre en place des tunnels sécurisés à travers des réseaux non fiables. Tout ce qui passe par ledit réseau non fiable est chiffré par la passerelle IPSEC et déchiffré par la passerelle à l'autre bout. Le résultat est un réseau privé virtuel (Virtual Private Network, VPN). C'est un réseau qui est effectivement privé bien qu'il regroupe des machines situées sur différents sites le long de l'Internet.

Lm_sensors

Ceci est un patch du projet Lm_sensors pour observer certains paramètres du matériel (température du processeur, etc) sur les systèmes Linux qui contiennent un tel matériel, tel que les contrôleurs LM78 et LM75 (ainsi que beaucoup d'autres).

Pcmcia-cs

Card Services (le « -cs  » dans « Pcmcia-cs  ») est un paquetage complet de support PCMCIA. Il contient un ensemble de modules noyau implémentant la version 2.1 de l'API PCMCIA, des pilotes pour quelques cartes spécifiques ainsi qu'un serveur gestionnaire de cartes qui peut réagir à l'insertion et au retrait de cartes, en chargeant ou déchargeant les pilotes à la demande. Il supporte le branchement à chaud des cartes PCMCIA, donc vous pouvez retirer ou ajouter des cartes quand vous le souhaitez. Le paquetage actuel supporte beaucoup de cartes Ethernet ou SCSI, des modems, des cartes série et quelques cartes mémoire SRAM ou FLASH. Tous les contrôleurs PCMCIA classiques sont supportés, donc il devrait tourner sur pratiquement tous les portables pouvant faire tourner Linux.

Divers pilotes

Ces pilotes apportent le support de matériel très récents, qui n'ont pas encore été inclus dans le noyau jusqu'à maintenant. Il existe aussi d'autres pilotes spéciaux tels que SuperMount qui autorise le montage automatique des périphériques amovibles quand ils sont sollicités.

Pour finir, nous devons mentionner le fait que Linux-Mandrake ne vient pas avec un seul noyau mais beaucoup d'entre eux:

kernel22-*

Ce sont des noyaux construits autour de la version 2.2.

kernel

Le noyau standard installé par défaut sur les machines.

kernel-smp

Ce noyau est compilé avec le support multiprocesseur. Il sera installé automatiquement si l'installation détecte plusieurs processeurs.

kernel-linus

Le noyau tel que distribué par Linus Torvalds, sans aucun patch.

13.1.6. Qu'est-ce que kapm-idled?

Si vous avez déjà regardé la charge de votre processeur, vous avez sans doute remarqué un processus appelé kapm-idled qui mange la plupart des ressources système. Et vous avez dû vous demander « Qu'est-ce que c'est que ce machin qui me bouffe mon temps processeur!  »

En fait, c'est juste une tâche qui se voit attribuer tout les temps morts du processeur. D'où le nom[1]. Il est utilisé pour les besoins de l'APM, et il protège le processeur au lieu de lui faire du mal.

13.1.7. Le noyau fonctionne partout, mais...

Finalement, notons une fonctionnalité qui peut ne pas paraître importante aux utilisateurs de PC : le noyau Linux a été porté sur pratiquement tous les types de matériel existant aujourd'hui, depuis des petits périphériques utilisant Linux de façon embarquée jusqu'aux gros serveurs d'IBM. Les distributions Linux-Mandrake n'en font ni n'en feront jamais l'utilisation, car d'autres programmes doivent être portés, ou tout au moins recompilés et testés sur ces architectures. En particulier, l'installation DrakX et les programmes de configuration de matériel devraient être adaptés à chaque nouvelle plate-forme, ce qui coûte du temps, et de l'argent.

Néanmoins, le fait que le noyau ait été porté sur autant d'architectures signifie que son code source a été lu et relu encore, ce qui conduit au résultat final d'un noyau plus résistant pour toutes ces architectures. De plus, cela signifie que la distribution Linux-Mandrake (LM) peut être portée rapidement à d'autres architectures, si et quand un marché existera pour ces portages. Cela a déjà été fait avec les portages pour Sparc (Corporate server) and Alpha (LM 7.1), et le portage vers d'autres architectures est juste une question d'intérêt commercial. Bien que LM 8.0 soit uniquement disponible pour PC (Intel et compatibles) à l'heure actuelle, le support pour IA-64 sera disponible dès que cette plate-forme sera disponible sur le marché, et le port PowerPC est envisageable si cette plate-forme continue à avoir autant de succès que l'an passé.

Notes

[1]

En anglais, « idle  » veut dire « qui ne fait rien  »


Tux sur Étoile de MandrakeSoft Linux est une marque déposée de Linus Torvalds. Toutes les autres marques et copyrights sont la propriété de leurs auteurs respectifs.
Sauf mention contraire, tout le contenu de ces pages et toutes les images sont Copyright MandrakeSoft S.A. et MandrakeSoft Inc. 2000.
http://www.linux-mandrake.com/