Compiler et installer un noyau Linux sur Mandriva

- Compilez le noyau avec make rpm, installez le RPM généré, créez un initrd puis mettez à jour LILO. Vérifiez le noyau actif avec uname -r et conservez une entrée de secours dans /etc/lilo.conf.
5 Construire le noyau
Pour construire le noyau, exécutez simplement la commande suivante :
make rpm
Soyez patient : la compilation du noyau peut prendre plusieurs heures selon la configuration du noyau et la vitesse du processeur.
Important : « make rpm » génère des paquets source (.src.rpm) et binaire (.rpm) adaptés à votre architecture et à la politique RPM de Mandriva.
6 Installer le nouveau noyau
Après la compilation réussie du noyau, un fichier src.rpm et un paquet rpm binaire sont créés. Le paquet src.rpm se trouve généralement dans /usr/src/rpm/SRPMS/. Pour connaître son nom :
ls -l /usr/src/rpm/SRPMS/
Sur le système d’exemple, il était nommé kernel-2.6.18.3default-1.src.rpm.
Le paquet binaire se situe dans /usr/src/rpm/RPMS/i386/, /usr/src/rpm/RPMS/i586/, /usr/src/rpm/RPMS/i686/, /usr/src/rpm/RPMS/x86_64/, etc., selon votre architecture. Dans l’exemple il était dans /usr/src/rpm/RPMS/i386/ ; pour afficher son nom :
ls -l /usr/src/rpm/RPMS/i386/
Dans cet exemple le nom était kernel-2.6.18.3default-1.i386.rpm.
Pour installer le paquet rpm du noyau :
cd /usr/src/rpm/RPMS/i386/
rpm -ivh kernel-2.6.18.3default-1.i386.rpm
Astuce : vous pouvez transférer ce RPM sur d’autres machines Mandriva et l’installer sans recompiler.
Ensuite, créez un ramdisk (initrd) pour le nouveau noyau ; sans initrd le système risque de ne pas démarrer :
mkinitrd /boot/initrd-2.6.18.3-default.img 2.6.18.3-default
Notes : mkinitrd génère l’image d’initialisation qui contient les modules nécessaires au montage du système de fichiers racine et au démarrage.
7 Configurer le chargeur d’amorçage LILO
Nous devons maintenant configurer LILO afin que le nouveau noyau démarre au redémarrage.
Pour repérer le noyau et le ramdisk créés :
ls -l /boot
Les noms typiques commencent par vmlinuz (ex. vmlinuz-2.6.18.3-default) et initrd (ex. initrd-2.6.18.3-default.img).
Éditez /etc/lilo.conf. Examinez d’abord une strophe de noyau fonctionnelle existante et utilisez-la comme modèle pour la nouvelle strophe. Remplacez les chemins kernel et initrd, puis ajoutez la nouvelle strophe au-dessus de toutes les autres. Spécifiez un label unique (ligne label) et indiquez exactement le même nom dans la ligne default pour que ce noyau soit celui choisi au démarrage.
Pour éditer :
vi /etc/lilo.conf
Par exemple, lilo.conf avant l’ajout de la nouvelle strophe :
| # File generated by DrakX/drakboot # WARNING: do not forget to run lilo after modifying this file default="linux" boot=/dev/sda map=/boot/map keytable=/boot/us.klt menu-scheme=wb:bw:wb:bw compact prompt nowarn timeout=100 message=/boot/message image=/boot/vmlinuz label="linux" root=/dev/sda6 initrd=/boot/initrd.img append=" resume=/dev/sda5 splash=silent" vga=788 image=/boot/vmlinuz label="linux-nonfb" root=/dev/sda6 initrd=/boot/initrd.img append=" resume=/dev/sda5" image=/boot/vmlinuz label="failsafe" root=/dev/sda6 initrd=/boot/initrd.img append=" failsafe resume=/dev/sda5"
|
Et après l’ajout de la nouvelle strophe (gardez à l’esprit le label et la ligne default) :
| # File generated by DrakX/drakboot # WARNING: do not forget to run lilo after modifying this file default="linux-2.6.18.3-default" boot=/dev/sda map=/boot/map keytable=/boot/us.klt menu-scheme=wb:bw:wb:bw compact prompt nowarn timeout=100 message=/boot/message image=/boot/vmlinuz-2.6.18.3-default label="linux-2.6.18.3-default" root=/dev/sda6 initrd=/boot/initrd-2.6.18.3-default.img append=" resume=/dev/sda5 splash=silent" vga=788 image=/boot/vmlinuz label="linux" root=/dev/sda6 initrd=/boot/initrd.img append=" resume=/dev/sda5 splash=silent" vga=788 image=/boot/vmlinuz label="linux-nonfb" root=/dev/sda6 initrd=/boot/initrd.img append=" resume=/dev/sda5" image=/boot/vmlinuz label="failsafe" root=/dev/sda6 initrd=/boot/initrd.img append=" failsafe resume=/dev/sda5"
|
Ensuite exécutez :
lilo
Puis redémarrez :
shutdown -r now
Si tout s’est bien passé, le système doit démarrer avec le nouveau noyau. Vérifiez la version active :
uname -r
La sortie devrait ressembler à :
2.6.18.3-default
Si le système ne démarre pas, relancez-le et, au menu LILO, sélectionnez l’ancien noyau pour démarrer :
Vous pouvez ensuite retravailler la compilation du noyau. N’oubliez pas de supprimer la strophe correspondant au noyau défaillant dans /etc/lilo.conf, puis d’exécuter :
lilo
après chaque modification de /etc/lilo.conf.
8 Liens utiles
- Mandriva: http://www.mandriva.com
- The Linux Kernel Archives: http://www.kernel.org
Boîte récapitulative : étapes clés
- make rpm — construire les paquets
- localiser et installer le RPM binaire (rpm -ivh)
- mkinitrd — créer l’image d’initialisation
- éditer /etc/lilo.conf et ajouter la strophe du nouveau noyau
- exécuter lilo puis reboot
- vérifier avec uname -r
Critères d’acceptation
- Le paquet RPM du noyau s’installe sans erreur.
- /boot contient vmlinuz-
et initrd- .img. - LILO contient une strophe valide avec label unique et default pointant sur ce label.
- Le système boot après reboot et uname -r affiche la version attendue.
Liste de vérification pour l’administrateur
- Sauvegarder /etc/lilo.conf actuel
- Conserver au moins une entrée de noyau fonctionnelle dans lilo.conf
- Vérifier l’espace libre sur /boot
- Noter le périphérique racine (ex. /dev/sda6) avant modification
- Tester le RPM sur une machine non critique si possible
Dépannage et cas d’échec (quand ça coince)
- Échec d’installation RPM : vérifier les dépendances et l’architecture (i386 vs x86_64).
- Absence d’initrd ou mkinitrd échoue : assurez-vous que les outils nécessaires sont installés et que les modules liés au disque et au contrôleur sont présents dans la config du noyau.
- LILO refuse d’écrire : vérifier que /boot est monté en écriture et que vous êtes root.
- Kernel panic au démarrage : démarrer sur l’ancien noyau, vérifier dmesg et recompiler avec plus de modules intégrés si nécessaire.
Diagramme décisionnel pour le démarrage (Mermaid)
flowchart TD
A[Démarrage après installation] --> B{Le noyau démarre ?}
B -- Oui --> C[Vérifier uname -r]
C --> D[Terminé]
B -- Non --> E[Accéder au menu LILO]
E --> F{L'ancien noyau démarre ?}
F -- Oui --> G[Recompiler / corriger configuration]
F -- Non --> H[Utiliser médium de secours 'Live CD' / restaurer sauvegarde]
G --> I[Supprimer strophe défaillante et exécuter lilo]
I --> D
H --> D
Alternatives et approches complémentaires
- Utiliser GRUB au lieu de LILO si vous préférez un chargeur plus moderne et dynamique.
- Pour déploiement à grande échelle, automatiser la compilation et le packaging via un serveur CI afin d’éviter les recompilations manuelles sur chaque machine.
Checklist de tests post-installation
- uname -r retourne la version attendue
- Les modules requis se chargent (lsmod)
- Les périphériques critiques (disque, réseau) fonctionnent
- Pas d’erreurs critiques dans dmesg
Résumé
- Compiler un noyau via make rpm produit des paquets réutilisables.
- Toujours créer initrd et mettre à jour le chargeur (lilo) avant de redémarrer.
- Conserver une configuration de secours et tester sur un système non critique quand c’est possible.
Important : ne modifiez pas /etc/lilo.conf sans sauvegarde et n’oubliez pas d’exécuter lilo après chaque modification.
Matériaux similaires

Lire e‑mails en texte brut — Gmail, Outlook, Thunderbird

Annuler abonnement Midjourney — guide rapide

Filtres AR Instagram et intégration SDK

Activer le mode sombre dans Google Search

Pokémon GO sur PC : émulateur et faux GPS
