Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[SCRIPT]Maintenir à jour son noyau
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index French
View previous topic :: View next topic  
Author Message
_Seth_
Guru
Guru


Joined: 15 Sep 2004
Posts: 539
Location: encore paumé dans un labo ;)

PostPosted: Sun Apr 01, 2007 2:52 am    Post subject: [SCRIPT]Maintenir à jour son noyau Reply with quote

Salut,
En bon fainéant, je n'aime pas trop faire 2 fois les mêmes recherches sur les différentes commandes à réaliser lorsque je souhaite mettre à jour mon noyau. J'ai donc écrit ce script, qui est loin d'être parfait mais qui me simplifie pas mal la vie.

I - Préambule
1- il faut avoir installé sys-kernel/module-rebuild, l'outil qui simplifie la vie pour la gestion des modules externes.
2- idem pour app-admin/eselect, mais difficile d'être sous gentoo sans connaitre cet utilitaire.
3- je n'apporte aucune garantie sur le bon fonctionnement de ce programme et il est sous GPL-2.
4- ça fait longtemps que je dit qu'il faut que j'écrive un script comme celui là, je l'ai fait et posté ici mais s'il me convient bien, il n'est pas dit que vous le trouviez adapté pour vos besoin. Je reste à votre disposition pour intégrer des modifs.
5- avoir monté préalablement sa partoche /boot.

II - Installation
Copier le script dans un fichier (je l'appelle make-new-kernel, ça vaut ce que ça vaut). Lui donner les droits en execution et le rendre accessible dans le PATH :
Code:
chmod a+x make-new-kernel && ln -s /la/ou/est/make-new-kernel /usr/local/sbin/make-new-kernel


III - Utilisation
Ce script ne fait vraiment pas grand chose, mais m'évite d'avoir à retrouver le fichier texte avec les commandes-qui-vont-bien ou d'aller fouiller les how-to...
Il faut l'exécuter en root, choisir le kernel qu'on veut installer, le configurer (faut pas rêver !) et si on est satisfait de la configuration réalisée, on peut lancer l'installation proprement dite. Vous remarquerez que j'utilise le make install qui ajoute automatiquement le bzImage, le .config et le System.map (avec les noms qui vont bien) dans /boot. Il suffit d'une entrée qui pointe sur vmlinuz (et vmlinuz.old) dans votre grub.conf ou lilo.conf et le tour est joué : vous avez une entrée qui pointe vers le dernier noyau compilé (vmlinuz) et vers le précédent (vmlinuz.old). Ensuite le script se charge de re-emerger les modules externes (alsa, nvidia, ...) et termine par reconfigurer correctement le module nvidia. Comme je n'ai pas d'autres chipsets, je n'ai pas inclus l'étape de reconfigurations pour les ATI, etc...

IV - Le script
make-new-kernel:
#!/bin/bash
#/usr/local/sbin/make-new-kernel

PROG=`basename ${0}`
CURRENT_KERNEL=`uname -r`

if [ ! `whoami` = "root" ]; then
   echo "Error: you must be root." >&2
   exit 1
fi

if [ $# -eq 1 ] ; then
   echo "Usage: $PROG" >&2
   exit 1
fi

echo "Current kernel : $CURRENT_KERNEL"

echo "Populating current module list"
module-rebuild populate

eselect kernel list

echo -n "Which kernel do you want to install ? "
read ANSWER

#echo $ANSWER
eselect kernel set $ANSWER
if [ $? -ne 0 ] ; then
         echo "Unknown value for kernel selection" >&2
         exit 1
fi

cd /usr/src/linux
READY=0
while [ $READY -eq 0 ]; do
         make menuconfig
         echo -n "Are you ready to install the kernel with this configuration (No, configure it again/Yes/Exit) ? "
         read ANSWER
         case "$ANSWER" in
                  [yY]) echo "Let's start the kernel compilation"
                        READY=1 ;;

                  [eE]) echo "Good bye !"
                        exit 0 ;;

                  *)    echo "Configure the kernel again" ;;
         esac
done

make && make modules_install install

echo; echo "Rebuild external modules"; echo;

module-rebuild rebuild

echo; echo -n "Do you use Nvidia drivers (N/Y)? "
read ANSWER

case $ANSWER in
         [yY]) echo "Update nvidia module"; echo;
               modprobe nvidia && modules-update && eselect opengl set nvidia
               echo; echo "Ok, all done, quit."; echo;;
         *) echo "Only Nvidia supported yet"
            echo "You must finish the reconfiguration of your modules by yourself ;) Quitting"; echo;;
esac

exit 0


PS: je ne sais plus s'il est toujours recommandé de faire la majeure partie de la manip en user normal (et pas en root), si vous pouvez m'éclairer sur le sujet :?:
_________________
no tears to cry, no feelings left
the species has amused itself to death
amused itself to death
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index French All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum