HP HOWTO: Guide d'utilisation et de configuration des produits HP sous Linux (Version 0.94) | ||
---|---|---|
Précédent | Suivant |
Lisez Wonderful World of Linux 2.4.
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.
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.
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.
D'une manière générale, Linux est compatible an 2000. Pour plus de détails, on se reportera à la page de FAQ.
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 .
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 .
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