Ubuntu Server 11.04 i686 sur plus de 8 CPU

Récemment, j'ai pu tester l'installation d'un Ubuntu Server 11.04 i686 sur un serveur contenant 2 CPU Intel® Xeon® Processor X5650, ce qui fait pas moins de 24 CPUs visibles sous nunux. La demande était expresse : OS 32 bits imposé, donc aucune discussion possible. Et là surprise : à la fin de l'install, on ne voit plus que 8 CPU. Alors forcément, on se pose des questions... Enfin, on pose des questions à dmesg, qui nous renvoie un joli : WARNING: NR_CPUS limit of 8 reached. Pour cela, il existe une solution : recompiler le noyau avec les bonnes options :) Pas de panique ni de make menuconfig, sous Ubuntu, la procédure est standardisée. Au cas où le lien n'est plus valide :
sudo apt-get install fakeroot build-essential crash kexec-tools makedumpfile kernel-wedge
sudo apt-get build-dep linux
sudo apt-get install git-core libncurses5 libncurses5-dev libelf-dev asciidoc binutils-dev

fakeroot debian/rules clean
sudo apt-get build-dep --no-install-recommends linux-image-$(uname -r)
apt-get source linux-image-$(uname -r)
A partir de là, il suffit juste d'éditer linux-2.6.38/debian.master/config/i386/config.flavour.generic-pae (enfin pour moi, à modifier pour votre cas de figure), et de stipuler en plus 2 options :
CONFIG_NR_CPUS=32
CONFIG_X86_BIGSMP=y
Pourquoi 32 ? D'une, il s'agit en fait d'une limite, donc pas besoin de mettre 24 dans la mesure où Ubuntu va lui-même détecter le bon nombre de CPU présent. Et de deux, pour l'avoir testé avec 24, j'ai pu constater qu'en fait, il pouvait voir 32 slots possibles -sûrement la capacité d'accueil de la carte mère-, donc au cas où je décide de rajouter des processeurs (on ne sait jamais), autant la fixer au max :) Ne pas oublier le chmod des scripts :
chmod -R u+x debian/scripts/*
Update de la config :
debian/rules updateconfigs
On recompile en adoptant l'option skipabi (car pour moi ça partait en erreur):
DEB_BUILD_OPTIONS=parallel=2 AUTOBUILD=1 NOEXTRAS=1 skipabi=true fakeroot debian/rules binary-generic-pae
Si vous tombez sur une question vous demandant de choisir entre Sparse et Discontinious Memory et que vous ne savez absolument pas de quoi il en retourne, mieux vaut choisir la Discontinuous Memory, car la Sparse est à titre expérimentale. Toute l'information est ici. Et c'est parti pour la génération des .deb ! Il ne restera plus qu'à dpkg -i les .deb, rebooter et vous avez un serveur prêt, frais et dispo !!
Vus : 1614
Publié par K-Tux : 59