Je me suis lanc� � l'abordage de la proc�dure d'installation du noyau 2.4.2
en partant d'une distribution Mandrake 7.2 voulant savoir comment
s'affranchir d'une pseudo-tutelle Mandrake dans le monde du logiciel libre !
Disons le de suite le noyau est install�, mais le fruit est amer : j'ai un
nouveau moteur dans ma voiture mais l'autoradio (plus de son pas trop grave)
et la bo�te de vitesses (plus de Kppp) ne fonctionnent plus. Malgr� tout je
suis satisfait de l'exercice qui m'a permis de d�mystifier cette proc�dure
tant redout� de tous. J'ai m�me r�ussi � int�grer le nouveau module 1.32 de
ma carte Tekram DC395 UW en le compilant s�par�ment !
Tout ce qui est d�crit ci dessous correspond au choix de l'option
CONFIG_MODVERSION is not set
tel que conseill� dans tout ce que j'ai lu. Qu'ai je appris :
I - Proc�dure d'installation avec "make xconfig"
- le fichier noyau est d�compact� en "2.4.2" sous "/usr/src/" et le chier
"linux" est modifi� pour point� sur 2.4.2. Avant il pointait vers "2.2.17".
M�me s'il reste sur ce nouveau noyau exp�rimental cela ne semble pas avoir de
cons�quence sur le retour � une utilisation normale du noyau 2.2.17-21mdk !
- Quand on commence on ne peut pas b�n�ficier de l'ancien fichier de
configuration du noyau 2.2.17-21mdk. En. ce qui me concerne je ne l'ai pas
trouv�. En fait il faudrait que Mandrake recr�e le chirer de configuration
apr�s installation puisque leur proc�dure est quelque peu diff�rente : elle
part d'un reconnaissance du mat�riel et pr�pare le noyau en cons�quence.
Suggestion � faire ?
- CONFIG_MODVERSION is not set
- Pour ceux qui comme moi s'interrogeait sur le probl�me de Power down qui
n'�teignait pas l'ordinateur : il faut s�lectionner :
- CONFIG_APM=y
surtout que tous les commentaires sur ce point pr�cis laissent entendre une
application sp�cifiques au portables, ce qui est faux.
- CONFIG_*_FS : pr�f�r� "y" voir plus bas les probl�mes li�s au options "m".
Conserver chaque fichier de configuration pour comprendre l'effet d'un
nouvelle option activ�e.
- l'utilisation d'un script regroupant les commandes importantes est
conseill�. Chez moi Install_kernel :
#!/bin/bash
#
# Ce script se lance dans le source du noyau � installer en root
#
echo Phase de nettoyage
make dep && make clean
echo Phase de compilation
make bzImage && make modules && make modules_install
echo Phase installation noyau
make install
echo Phase initr
#mkinitrd -f -v /boot/initrd-2.4.2.img 2.4.2
Je n'ai pas inclus la derni�re ligne car je fais une op�ration manuelle de
mise � jour du module scsi avant son ex�cution (voir plus bas).
- Apr�s ex�cution de ce script on retouve un dossier "2.2.4" dans
/lib/modules" et les dossiers "vmlinuz" et "vmlinuz-2.4.2" dans /boot ainsi
que "System.map" qui pointe sur "System.map2.4.2". Le fichier "System.map" se
remet automatiquement � jour pour pointer sur le bon fichier au boot d'un
noyau donn�, l'ancien noyau 2.2.17-21mdk par exemple.
II - Options "m"
- les modules d�crivant le(s) file system(s) de root (situ�s en g�n�ral dans
le dossier "fs" du source) doivent avoir l'attribut "y", c'est � dire qu'ils
doivent �tre int�gr�s au noyau sinon comment lire les informations de la
partition root (celles d�crivant les modules) !
- quand on poss�de une carte scsi et qu'on a opt� pour l'option
"CONFIG_MODVERSION is not set" il faut absolument qu'elle soit reconnue
avant montage du file syst�me correspondant et donc l� il faut lancer la
commande :
mkinitrd -f -v /boot/initrd-2.4.2.img 2.4.2
qui va cr�er ce qu'on appelle une image initiale ramdisk de nom
"initrd-2.4.2.img" sous "/boot" et qui sera lanc�e � condition d'ajouter la
ligne suivante :
initrd=/boot/initrd-2.4.2.img
dans la section boot correspondante du fichier "lilo.conf". Aussi chez moi
cette nouvelle section est ainsi :
# Section noyau Linux-2.4.2new
image=/boot/vmlinuz
label=linux-2.4.2new
root=/dev/hdb5
initrd=/boot/initrd-2.4.2.img
vga=788
read-only
Que fait cette commande : elle utilise le fichier "/etc/modules.conf" pour y
trouver chez moi l'entr�e du type :
alias scsi_hostadapter dc395x_trm
Donc gros probl�me : cette info est caract�ristique chez moi du noyau
2.2.17-21mdk avec les modules correspondants tels que contenus dans
/lib/modules/2.2.17-21mdk, mais quand on va lancer la commande :
mkinitrd -f -v /boot/initrd-2.4.2.img 2.4.2
le syst�me va faire une recherche dans "/lib/modules/2.4.2 o� chez moi le
fichier dc395x_trm.o n'existe pas et cette erreur est bien signal�e �
l'ex�cution de la commande ! Comment faire : tout simplement recopier le
fichier de votre ancien noyau 2.2.17-21mdk dans le dossier scsi correspondant
du nouveau noyau 2.4.2 et mettre � jour la liste "modules.dep" bien sur dans
"/lib/modules/2.4.2" et relancer la commande mkinitrd.
Cette commande utilise aussi "fstab" pour y lire des information relatives
au(x) file system(s) install�s sur le support scsi.
III - /boot et LILO
- le fichier "vmlinuz" tel que cr�� par le proc�dure de cr�ation et
d'installation du nouveau noyau 2.4.2 pointe (lien) vers le fichier
"vmlinuz-2.4.2" car il a �cras� (beurk....!) le fichier de m�me nom qui avant
pointait vers le noyau "vmlinuz-2.2.17-21mdk" ne pas oubliez de corriger LILO
pour conserver la possibilit� d'acc�s au noyau qui fonctionne : le
2.2.17-21mdk, sinon adios ....! Ainsi chez moi :
# Section noyau Linux 2.2.17-21mdk
image=/boot/vmlinuz-2.2.17-21mdk
label=linux
root=/dev/hdb5
initrd=/boot/initrd-2.2.17-21mdk.img
vga=788
read-only
et idem pour les sections variantes du m�me noyau.
A noter aussi que "initrd" pointe vers "initrd-2.2.17-21mdk.img". J'ignore si
c'�tait comme �a � l'origine, o� par l'interm�diaire d'un lien (car je l'ai
peut-�tre modifi� ?), mais in fine �a a maintenant le m�me effet qu'avant et
c'est �a l'important.
Donc pour r�sumer apr�s compilation une mise ne coh�rence de "lilo.conf" et
du contenu de /boot s'impose. Toute erreur fait mal tr�s mal !
Une derni�re chose concernant chaque section les indentations correspondent �
des TAB, ce ne sont donc pas des espaces sinon �a plante. Vous constaterez
l'effet d'une suppression du premier caract�re .
- Ne pas oublier d'ex�cuter la commande $lilo qui vous fait appara�tre toutes
vos possibilit� de boot. A v�rifier encore et encore pour s'assurer que
l'ancien noyau d�crit dans sa section est parfaitement accessible avant de
faire "arr�t/red�marrer".
IV - Les modules en g�n�ral
- gros probl�me de d�nomination : on ne retrouve pas forc�ment les m�mes
noms. Par exemple le module "supermount.o" n'existe pas dans le nouveau noyau
et cette option activ�e chez moi dans "fstab" sur zip, floppy et cdroom ne
peut �tre activ�e ce qui en plus apr�s boot sur le noyau 2.4.2 me fait perdre
l'utilisation de ces media.
- le module "ppp" n�cessaire � Kppp n'existant pas dans le nouveau noyau
n'est pas charg� et donc adios les connections Internet !
- ceci doit s'appliquer � d'autre utilitaires que je n'ai pas encore recenc�s.
V - R�flexions g�n�rales
Ce qui est au-dessus r�sume l'ensemble des op�rations d'installation du noyau
2.4.2 r�alis�es ces jours derniers. Il me reste � tenter l'option :
CONFIG_MODVERSION=y
qui elle va peut-�tre me permettre d'acc�der aux ressources du noyau
2.2.17-21mdk sans p�pins !
Je suis malgr� tout convaicu qu'une description du mat�riel a posteriori est
une erreur. Une vraie proc�dure d'installation doit faire le choix de ses
ressources par reconnaissance mat�rielle pr�lable finalement en :
- prenant dans l'ancien noyau et dans le nouveau tout ce qui est n�cessaire,
- ne conservant pour ce qui est des modules de m�mes nom que les plus r�cents
sur accord de l'utilisateur,
- en construisant ainsi /boot et lib/modules/nouveau kernel sur lancement
d'une proc�dure de compilation et d'installation enti�rement transparente,
- en conservant surtout la possibilit� de lancement du noyau stable (ce qui
n'est pas le cas aujourd'hui car des liens importants sont supprim�s).
Vos commentaires constructifs sont �videmment les bienvenus.
--
Daniel Moyne (ARMada French fan Club)
PC Celeron 400 Mhz 128 Mo Ram Lecteur CD 40X Ide
Carte graphique AGP 3Dfx Lecteur Zip Iomega SCSI
HD Ide (M) 4 Go + (S) 20 Go \\|// Modem OLITEC Speed Voice 56000
Carte SCSI Tekram DC-395UW / --- \ Imprimante DeskJet HP 850C
Vision Master 17" Iiyama Monitor (' o-o ') Scanner UMAX Astra 1220S SCSI
--------------------------------oOO-(_)-OOo------------------------------------