Super !! . Mais qu'en est-il d'une compil avec grub ? . Je sais , je suis chiant , mais moi je l'aime bien ce grub . En tous cas c'est un excellent boulot ! .
Daniel Moyne wrote:
Quelqu'un m'ayant pos� la question de la proc�dure de compilation du noyau sous MDK 9.1 voici une petite proc�dure :
a) Pourquoi recompiler le noyau
Le noyau g�n�rique install� au moment de la mise en place d'une MDK 9.1 contient de nombreux modules inutiles qu'il est sage de retirer (par exemple tous les modules des cartes son, scsi, r�seau support�es sont install�s !) ; ces modules pr�sents dans le noyau natif n'�tant pas install�s, ils sont inutiles.
b) Commment recompiler le noyau "kernel-source-2.4.21-0.13mdk"
i) Installer le rpm du source, car � l'installation de la MDK 9.1 il n'est en g�n�ral pas mis en place ; alors dans "/usr/src" on voit :
- un fichier "linux" pointant sur "linux-2.4.21-0.13mdk",
- un fichier "linux-2.4.21-0.13mdk" contenant toutes les sources des composants installables.
ii) Copier ce fichier "linux-2.4.21-0.13mdk" sous par exemple le nom de "linux-2.4.21-0.13new"
iii) Cr�er un lien de "linux" vers "linux-2.4.21-0.13new",
iv) �diter le fichier "Makefile" et changer la ligne :
EXTRAVERSION = -0.13mdkcustom
en :
EXTRAVERSION = -0.13new
Ceci permettra d'installer les modules sous : "/lib/modules/linux-2.4.21-0.13new"
sans �craser les modules du noyau natif si on avait par exemple choisi :
EXTRAVERSION = -0.13mdk
sinon bonjour les d�g�ts.
Note : le nom du fichier contenant le source est sans importance mais par souci de coh�rence on harmonise les noms dans le "Makefile" et le nom du dossier source.
v) �diter le fichier "/etc/lilo.conf" et remplacer tous les liens par les composants point�s, car ceux-ci seront �cras�s par la compilation du nouveau noyau pour pointer vers ses propres composants (et l� en cas de probl�me adieu au retour au noyau natif). Explicitement :
"vmlinuz" par "linuz-2.4.21-0.13mdk" et :
"initrd.img" par "initrd-2.4.21-0.13mdk.img".
vi) Ex�cuter "lilo" pour ent�riner ces choix ; ceux qui doutent pourront au pr�alable cr�er une option suppl�mentaire sans lien, pour v�rifier qu'elle est amor�able, avant de supprimer l'option avec liens ; cette ex�cution doit se d�rouler sans probl�me, sinon retour au fichier original avant nouvel essai.
vii) Ouvrir une console et se logger sous "root" et faire :
$ cd "/usr/src/linux"
puis ex�cuter :
$ make xconfig
Il s'agit l� � mes yeux du meilleur utilitaire de configuration du noyau ; �viter l'utilitaire "K linuz - Config noyau" d'une lenteur affligeante et qui ne permet pas l'acc�s � toutes les options, en particulier celles qui modifient des valeurs comme par exemple "CONFIG_NLS_DEFAULT".
viii) Charger le fichier de configuration "/boot/config-2.4.21-0.13mdk" et modifier les param�tres de configuration selon vos choix avec prudence pour certains param�tres. Choisir de pr�f�rence "m" (pour module) � "y" (int�gration au noyau) et choisir "n" pour tout ce qui d'une mani�re �vidente ne pr�sente aucun int�r�t vis � vis de la configuration hardware ou des choix personnels. Attention "m" au lieu de "y" peut dans le cas des HD IDE �tre fatal (kernel panic � l'amor�age). Dans l'incertitude on laisse le param�trage propos� et on esaie l'option diff�rente � l'it�ration suivante.
ix) Quitter et sauver la configuration qui va se placer sous : "/usr/src/linux-2.4.21-0.13new/.config".
x) Lancer le script suivant nomm� "install_kernel" :
#!/bin/sh # # Install a new kernel as pointed by /usr/src/linux # # Phase v�rification d�pendances echo '===================================check dependencies' make dep # Phase nettoyage echo '===================================clean old object files' make clean # Phase construction kernel et installation modules echo '===================================build kernel and install modules' make bzImage && make modules && make modules_install # Phase installation kernel echo '===================================install kernel' make install echo '===================================install completed'
Cela risque d'�tre long. Mis � part des messages d'erreurs en cours d'ex�cution, ce qui compte est le message final.
xi) V�rifier la cr�ation sous "/lib/modules" du nouveau fichier contenant les modules de ce nouveau noyau et l'ajout dans "lilo" d'une nouvelle option pour l'amor�age avec ce nouveau noyau. Cette nouvelle option semble �tre cr��e avec le m�me mod�le que l'option de base (le m�me "append" par exemple).
xii) R�amorcer avec ce nouveau noyau ; si �a marche on peut poursuivre la modification de ce noyau en relan�ant la proc�dure ci-dessus ; certains conseillent l'ex�cution de :
$ make mrproper
avant toutes choses ! ; il y a l� un pi�ge : le fichier ".config" est d�truit ! ; avant on le sauvera sous le nom ".config_0" qui lui est un winner ; Personnellement je n'ex�cute pas cette commande.
c) Quelques conseils :
i) En g�n�ral les messages "kernel panic" sont � imputer � un mauvais param�trage:
- du Frame buffer,
- des fs (file system) n�cessaires (un fs install� physiquement et manquant),
- des options HD ide ou scsi.
ii) Les it�rations successives installant toujours les modules dans le m�me dossier sous "/lib/modules", il faut supprimer l'ancien dossier pour que la nouvelle installation refl�te parfaitement le nouveau fichier de configuration ".config" ; on sauvegarde les fichiers de configurations qui fonctionnent sous le nom ".config_n" avant l'it�ration n+1.
iii) � partir de la seconde it�ration, il peut y avoir doute sur l'ex�cution de la commande "/sbin/mkinitrd" qui cr�e le fichier "bootimage" du nouveau noyau ; dans ce cas ex�cuter le script suivant nomm� "install_kernel_image" :
!/bin/sh # # install a new kernel boot image in /boot # # Update kernel_version before executing this script kernel_version="2.4.21-0.13new" # Phase cr�ation kernel boot image echo "====installing kernel boot image $kernel_version" cd /boot /sbin/mkinitrd -f -v "initrd-$kernel_version.img" $kernel_version ln -sf "initrd-$kernel_version.img" initrd.img echo "====kernel boot image installed"
Il m'est arriv� de rendre une compilation de kernel amor�able apr�s ex�cution de ce script correctif.
iv) Enfin quand on est satisfait de sa compilation, on peut zipper tous les fichiers du dossier "/lib/modules/linux-2.4.21-0.13new" pour gagner de la place (extension *.gz support�es � l'amor�age).
Voil� bonne chance !
------------------------------------------------------------------------
Vous souhaitez acquerir votre Pack ou des Services MandrakeSoft? Rendez-vous sur "http://www.mandrakestore.com".
Foire Aux Questions de la liste : http://mdk.mondelinux.org
Vous souhaitez acquerir votre Pack ou des Services MandrakeSoft? Rendez-vous sur "http://www.mandrakestore.com".
Foire Aux Questions de la liste : http://mdk.mondelinux.org
