Chapitre 5. Foire Aux Questions (FAQ)

5.1. "Quoi de neuf dans le noyau 2.2 ?"
5.2. "Quoi de neuf dans le noyau 2.4 ?"
5.3. "Comment faire reconnaître plus de 1 Go de mémoire sur mon NetServer ?"
5.4. "Comment faire reconnaître plus de 128 Mo de swap sur mon NetServer ?"
5.5. "Comment utiliser les autres processeurs de mon NetServer ?"
5.6. " Linux est-il compatible avec l'an 2000 ?"
5.7. "Comment augmenter le nombre de processus gérés par le noyau ?"
5.8. "Comment augmenter le nombre de périphérique de loopback gérés par le noyau ?"
5.9. "Comment obtenir des fichiers de plus de 2 Go sur ext2 ?"

5.1. "Quoi de neuf dans le noyau 2.2 ?"

5.2. "Quoi de neuf dans le noyau 2.4 ?"

5.3. "Comment faire reconnaître plus de 1 Go de mémoire sur mon NetServer ?"

Les informations suivantes sont adaptées et traduites depuis la page de Rik van Riel. Elles s'appliquent aussi bien au noyau 2.0.x qu'aux noyaux 2.2.x et 2.4.x.

Tout d'abord l'architecture Intel IA32 est limitée par construction dans sa gestion de la mémoire à 4 Go. Espace qui doit lui-même être séparé en mémoire virtuelle et mémoire physique. Ce qui signifie que si l'on choisit de reconnaître davantage de mémoire vive, la taille maximale pour un programme diminue.

Néanmoins, Linux ne peut gérer que jusqu'à 1 Go de mémoire par défaut. Pour aller au delà, en fait jusqu'à 2 Go aujourd'hui car Linux ne peut gérer davantage de mémoire pour le moment, il faut modifier 2 fichiers fournis avec les sources du noyau et le recompiler. Les 2 sources en questions sont /usr/src/linux/include/asm-i386/page.h et /usr/src/linux/arch/i386/vmlinux.lds.

A partir des noyaux 2.0.37 et 2.2.12, la rustine a été intégrée dans le noyau et est activable lors du make {menu,x}config.

A partir du noyau 2.3.23, la taille maximum gérable en version i386 est de 64 Go.

5.4. "Comment faire reconnaître plus de 128 Mo de swap sur mon NetServer ?"

Jusqu'à la version 2.8x du paquetage util-linux, la commande mkswap ne pouvait créer des partitions de swap que de 128 Mo au maximum. Il fallait alors en créer autant que nécessaire. Depuis la version 2.9, incluse en standard dans les distributions RedHat 6.0 et suivantes, il est possible de créer directement des partitions de swap jusqu'à concurrence de 2 Go par partition et de 8 partitions.

5.5. "Comment utiliser les autres processeurs de mon NetServer ?"

Le multi-processeur est pris en charge de façon opérationnelle par Linux depuis la version 2.0 du noyau. Pour un noyau 2.0.x, il faut le recompiler en positionnant notamment le flag SMP à 1 dans le Makefile. Pour un noyau 2.2.x ou 2.4.x, il faut le positionner dans le make {menu,x}config. Pour plus de détails, consultez le SMP-HOWTO.

5.6. " Linux est-il compatible avec l'an 2000 ?"

D'une manière générale, Linux est compatible an 2000. Pour plus de détails, on se reportera à la page de FAQ.

5.7. "Comment augmenter le nombre de processus gérés par le noyau ?"

Pour les noyaux 2.2.x, il faut éditer le fichier /usr/src/linux/include/linux/tasks.h, modifier la valeur de la constante NR_TASKS (par défaut à 512) et la positionner à une valeur ne dépassant pas 4092 ou 4090 si l'APM est configuré. Il peut être utile de positionner MAX_TASKS_PER_USER par la même occasion à une valeur en relation. Puis recompiler son noyau en suivant les procédures habituelles .

5.8. "Comment augmenter le nombre de périphérique de loopback gérés par le noyau ?"

Il faut éditer le fichier /usr/src/linux/drivers/block/loop.c, Pour les noyaux 2.2.x, il faut modifier la valeur de la constante MAXLOOP (par défaut à 8). Pour les noyaux 2.4.x, il faut modifier la valeur de la variable static int max_loop. Puis recompiler son noyau en suivant les procédures habituelles .

5.9. "Comment obtenir des fichiers de plus de 2 Go sur ext2 ?"

Il faut avoir un noyau 2.4.x, glibc 2.1.3 ou plus et que les outils adéquats aient été recompilés. Voir http://www.suse.de/~aj/linux_lfs.html