| | ze_mouton | Posté le 26/07/2005 @ 03:09 | Petit astucien
143 Messages
| Salut !
Voici la question : combien de temps prendrait la compilation d'un noyaux 2.4.20-8 sur mon serveur (config 3 dans le profil) ?
je suis pas expert en compilation cependant la première fois que j'ai compilé un noyaux, j'ai eu un gros problème d'espace disque... est-ce que les 1go de libre sur le / suffiront ?
Et question RAM et Swap sachant que la RAM est quasiment tout le temps à 100 % ne risque-t-il pas d'y avoir saturation aussi ?
Pour gagner du temps je pensais compiler le noyaux sur une grosse config comme mes config 1 et 2, puis après rebalancer le noyaux dans le serveur. qu'elle est la difficulté de cette manoeuvre de compilation "externe" ?
| | |
| |
| Publicité |
|
| | koala01 | Posté le 26/07/2005 à 12:23 | Astucien
4715 Messages
| Salut,
Le temps de compilation est en grande partie dépendant de la configuration de la machine, mais aussi, et surtout, dépendant de ce que tu décides de mettre dans ton noyau et comme modules...
Sur une configuration aussi "légere" que ton serveur, il faudra sand doute malgré tout compter sur une fourchette d'une demi heure une heure, en fonction de la configuration que tu auras donnée...
L'un dans l'autre, tu n'a que peu de risques de voir ton serveur saturé, tant en espace disque qu'en mémoire (fusse-t-elle swap) lors de la compilation...
En effet, le noyau en lui meme ne fait qu'à peu pres la taille d'une disquette (1,44Mb), parfois un peu plus, parfois un peu moins, et les modules prennent rarement plus d'une centaine de méga, quand tu les prend tous ou presque...
Il n'y a pas non plus de risques majeurs à effectuer la compilation sur une autre machine que celle sur laquelle il est prévu que le noyau tourne, pour autant que tu te base sur la configuration de la machine de destination, et que tu prennes certaines précautions classiques...
Une fois le noyau et les modules compilés, tu trouvera en effet tout ce qu'il faut pour le placer sur le serveur.
Si tu fais un make modules_install install sur la machine "de compilation", tu trouveras l'image du noyau dans /boot/linux-version-sousversion-extraversion, sans doute juste à coté d'une image système de fichier initrd-version-sousversion-extraversion et les modules adaptés à cette configuration dans /lib/modules/linux-version-sousversion-extraversion
Il suffira de copier les deux fichiers et le dossier modules sur le serveur et de modifier la liste de son gestionnaire de démarrage (grub ou lilo) pour rendre le noyau accessible.
Evidemment, la précaution classique à prendre n'est rien d'autre que le fait de laisser dans un premier temps l'acces à ton ancien noyau, en cas de besoin [clindoeil] | | | | | ze_mouton | Posté le 26/07/2005 à 15:35 | Petit astucien
143 Messages
| Merci de ta réponse, ça me rassure [smile]
Sinon pour garder dès le début le noyau d'origine, j'ai commencé par faire une copie du dossier des sources de /usr/src/linux-2.4.20-8 vers /usr/src/linux-2.4-20-8_new.
(je note qu'il y a un lien linux-2.4 qui pointe sur le premier dossier)
Le nouveau nom de ce dossier suffira-t-il pour ne pas écraser l'ancien noyau (dans tous les dossiers où vont être copiés des fichiers pour le noyau) ?
Alors effectivement actuellement j'ai (pas encore compilé) dans /boot un vmlinuz-2.4.... et un vmlinux-2.4.... et un initrd... Mais ça me dit pas lequel démarre vraiment. (respectivement 1Mo, 3Mo, 150Ko)
Grub fait référence à vmlinuz... alors quel est l'interet du vmlinux ?
Dans /lib/modules il va créer un nouveau dossier différent tout seul ?
Voilà car la précaution classique je veux absolument l'utiliser !
J'espère avoir été assez clair, et merci encore ! | | | | | koala01 | Posté le 26/07/2005 à 16:14 | Astucien
4715 Messages
| Bon, concernant le vmlinuz et le vmlinux, il y a de fortes chances que l'un soit un lien vers l'autre...
Pour t'en assurer, tu peux tout simplement lancer la commande
ls -l /boot.
Tu verra tout de suite lequel est le lien de l'autre[clindoeil]
Concernant le lien /usr/src/linux, il faut savoir que c'est sur base de ce lien que de nombreuses applications qui pourraient avoir besoin des informations sur le noyau vont aller les chercher.
Il faut donc qu'il pointe vers le dossier qui contient les sources du noyau actif.
Enfin, la copie de ton dossier de sources n'est pas une mauvaise idée (très loin de là) mais ne suffit pas à elle seule de s'assurer que, si tu recompile un noyau déjà existant, le nouveau noyau aura un autre nom.
Le nom donné au dossier /lib/modules/linux-version-sousversion-extraversion et aux fichiers placés dans le dossier /boot est à modifier manuellement dans le fichier Makefile du dossier source.
Les premières lignes du fichier Makefile ont trait à la déclaration des variables version, patchlevel, sublevel et extraversion
Elles se présentent généralement sous la forme de
VERSION = 2
PATCHLEVEL = 6
SUBLEVEL = 12
EXTRAVERSION =
et c'est sur base de ces variables que le nom est créé sous la forme de
linux-VERSION.PATCHLEVEL.SUBLEVEL-EXTRAVERSION ...
Si donc, tu souhaites recompiler un noyau déjà existant sur ta machine sans risquer de le bousiller, il suffit de modifier une de ces quatre lignes (idéalement la ligne extraversion, histoire de ne pas se retrouver avec un noyau 2.6.12 nommé 3.19.26[clinddoeil])
Le dossier d'acces des modules sera créé dés le moment où tu lance la commande make modules_install (sauf si il existe, ca va de soi) | | | | | ze_mouton | Posté le 26/07/2005 à 16:22 | Petit astucien
143 Messages
| voici la réponse de ls :
-rw-r--r-- 1 root root 3036023 mar 13 2003 vmlinux-2.4.20-8
lrwxrwxrwx 1 root root 16 sep 21 2004 vmlinuz -> vmlinuz-2.4.20-8
-rw-r--r-- 1 root root 1096436 mar 13 2003 vmlinuz-2.4.20-8
Donc il y a bien un lien vmlinuz, mais il y a aussi un vmlinuX. [confus] (je précise que Grub n'a qu'une seule entrée de boot, celle vers le vmlinuZ-2.4.20-8 pas vers le lien)
Sinon merci pour le Makefile ainsi je pense que tout restera en sécurité pour l'ancien noyau.
Modifié par ze_mouton le 26/07/2005 16:24 | | | | | ze_mouton | Posté le 26/07/2005 à 19:46 | Petit astucien
143 Messages
| [triste] Gros problème !
Erreur 2 lors du make modules !
Après une bonne heure de compile sur make bzImage soudain make module en même pas 20 secondes se quitte et me donne le message make: *** [_mod_drivers] Erreur 2.
Je suis perdu face à cette erreur, que puis-je faire ?
Où est le problème ? (Est-ce vraiment génant ?) | | | |
| | Haut de la page |
| | Inscrivez-vous ! |
- Posez vos questions
- Résolvez vos problèmes
- Aidez les autres
- Participez et créez vos discussions
- Dialoguez en privé avec d'autres membres
- Suivez vos sujets préférés
- Affichez les signatures des membres
|
|