0
Posted by alex on Feb 9th, 2008

blog.alexou.net.jpg

Voici un petit guide qui résume comment compiler linux et l'installer dans grub. C'est très simple comme démarche, la partie la plus difficile est de configurer le kernel, mais bien souvent la configuration par défaut suffit.

Préalable: Un environement de développement bien installé avec GCC et toutes ses librairies, vous aurez besoin des librairies ncurses aussi.

Tout d'abord vous devez récuperer les sources du kernel le plus récent sur kernel.org, vous pouvez placer les fichiers n'importe où, mais normallement on les place dans /usr/src/linux-2.x.x ou encore simplement /usr/src/linux si vous ne comptez pas maintenir plusieurs kernel.

Connectez vous en root sur la console, et tappez les commandes suivantes:

bash# cd /usr/src
bash# wget "http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.24.tar.gz"
bash# tar zxvf linux-2.6.24.tar.gz
bash# rm linux
bash# ln -s linux-2.6.2.4 linux

Explications: On télécharge l'archive tar.gz du kernel avec wget, on la décompresse avec tar , et on crée un lien symbolique du répertoire vers "linux" avec ln; comme ça on peut gerer plusieurs versions du kernel et /usr/src/linux pointera toujours vers la dernière version.

Maintenant qu'on a les sources, on doit configurer le kernel .

bash# cd linux
bash# zcat /dev/config.gz > .config # Optionnel, permet de commencer avec les parametres actuels.
bash# make menuconfig

make menuconfig va afficher un menu, vous pourrez alors choisir quelles options vous souhaitez compiler dans le kernel, en module, ou exclure. N'oubliez pas de sauvegarder avant de quitter. Il est temps de compiler !

bash# make bzImage
bash# make modules modules_install
bash# make install
bash# make clean

Ces quatres dernières étapes peuvent être très longues, dépendement de la puissance de votre PC. Le make clean peut être omis, mais il est préférable de tout nettoyer.

Si tout s'est bien déroulé vous voici avec un beau kernel tout frais :) . Il ne reste qu'à configurer GRUB et à redémarrer.

bash# vi /boot/grub/menu.lst

 

Vous devez rajouter:

title Mon Nouveau Kernel (2.6.24)
root (hd0,0)
kernel /boot/vmlinuz-2.6.24 ro root=LABEL=/12 rhgb quiet
initrd /boot/initrd-2.6.24.img

Regarder les paramêtres déja présents dans le fichier pour vous assurez que le root(...) est correct et que le ro root=LABEL=/12 rhgb quiet est adapté à votre système.

 

Si jamais vous compiler un kernel à distance, que vous n'avez pas d'accès physique à la machine, je vous conseille fortement de parametrer grub pour qu'il démarre une seule fois avec le nouveau kernel, comme ça en cas de panic du kernel, l'ordinateur vas pouvoir redémarrer sous l'ancien kernel:

Dans la console en tant que super utilisateur:

 

bash# grub
grub> savedefault --default=0 --once
grub> quit

 

Ici remplacer 0 par la position du kernel dans le fichier de config /boot/grub/menu.lst , on compte de haut en bas en partant de 0.

Si vous ne pouvez pas rebooter la machine à distance, alors vous pouvez ajouter panic=2 aux parametres du kernel pour qu'il redémarre en cas de panic après 2 secondes. Mais si il plante durement, alors vous êtes mal foutu :( .

 

Bonne chance :)

0 comment
Connectez-vous ou postez en tant qu'invité:
Your Name Your Email


Vérification: 1045
Go to Top