OldGentooWiki:Maj noyau

De Gentoo-Quebec.

(Redirigé depuis Maj noyau)

Go-previous.png Index entretien et sauvegardes


Gentoo-quebec+Funtoo-quebec.png

mise à jour du noyau


Sommaire

Introduction

Ce document a pour but de décrire les différentes techniques de mise à jour du noyau. Les techniques diffèrent quelque peu selon le type de mise à jour à appliquer au noyau. En effet, il y a deux types de mise à jour à considérer.

La première se veut une mise à jour impliquant un changement de version ou une révision mineure. Un changement de version se produit lorsqu'une nouvelle version apparaît dans la même branche. Pour illustrer cette situation, prenez par exemple le passage du noyau 2.6.29 à 2.6.30. Une révision est une mise à jour qui se produit au niveau de la même version comme, par exemple, le passage de 2.6.30 à 2.6.30-r1. Une révision s'exprime toujours par la présence du suffixe r et d'un chiffre représentant le numéro de la révision.

Le second type de mise à jour implique le changement de branche. Supposez par exemple le passage de la branche 2.4 à la branche 2.6. Le numéro de la branche est le second chiffre dans le nom du noyau.

Quand faire une mise à jour

Vous devez faire une mise à jour du noyau lorsque la commande de mise à jour vous indique qu'un nouveau source du noyau va s'installer à la suite de la synchronisation de votre arbre Portage.

La commande de mise à jour est celle-ci.

Gnome-dev-computer.png
# emerge -auDNv world

Il y a une mise à jour du noyau à faire quand cette information apparaît dans le résultat de la commande précédente.

Exemple de code : Présence d'une nouvelle version de noyau

[ebuild  NS   ] sys-kernel/gentoo-sources-2.6.30-r4 [2.6.30-r2, 2.6.30-r3] USE="-build -symlink" 76 kB


Compte tenu que la commande de mise à jour a été exécutée avec le paramètre a, vous devez répondre Yes à la demande de mise à jour. Quand toutes les mises à jour auront été appliquées, procédez à la mise à jour selon l'une des approches décrites en introduction.

Avant de procéder à la mise à jour du noyau, veuillez vous assurer que la partition /boot, si vous en avez une, est bel et bien montée. La partition /boot n'est pas montée quand l'option NOAUTO est présente dans l'instruction de montage de la partition /boot du fichier /etc/fstab.

Exemple de code : Partition /boot non montée au démarrage

/dev/sda1		/boot		ext2		noauto,noatime	1 2


Pour monter la partition /boot suivant l'exemple ci-haut, la commande est :

Gnome-dev-computer.png
# mount /dev/sda1 /boot

Avec ou sans partition /boot, mettez maintenant le noyau de votre système à jour. Pour une mise à jour concernant un changement de version ou une révision, passez à Mise à jour changement de version ou révision. Pour une mise à jour versus un changement de branche, passez à Mise à jour changement de branche.

Mise à jour changement de version ou révision

Cette section décrit les étapes à effectuer pour mettre à jour le noyau lors d'un changement de version ou d'une révision.

Copie du fichier de configuration

La copie du fichier de configuration vous permet de copier votre configuration du noyau actuelle dans le fichier de configuration du nouveau noyau. Cela vous assure que votre configuration actuelle du noyau est reconduite telle quelle dans le fichier de configuration du nouveau noyau vous évitant ainsi à refaire toute votre configuration tel que vous l'aviez fait lors de la toute première installation de votre Gentoo Linux. Vous minimisez ainsi les oublis involontaires ou de possibles erreurs aboutissant sur un système boiteux.

Placez-vous tout d'abord dans le répertoire des sources.

Gnome-dev-computer.png
# cd /usr/src

Obtenez maintenant la liste des dossiers de ce répertoire incluant le lien symbolique vers le dossier de la version du noyau actuelle.

Gnome-dev-computer.png
# ls -l

Le résultat de la commande ls -l affichera ce type d'information.

Exemple de code : Sortie de la commande ls -l

total 12
lrwxrwxrwx  1 root root   22 jui  8 20:08 linux -> linux-2.6.30-gentoo-r2
drwxr-xr-x 23 root root 4096 jui  8 21:26 linux-2.6.30-gentoo-r2
drwxr-xr-x 22 root root 4096 jui 22 17:39 linux-2.6.30-gentoo-r3
drwxr-xr-x  7 root root 4096 avr 30 12:30 rpm


Le lien symbolique est sur la seconde ligne. Remarquez la présence de deux dossiers contenant le noyau. Le dossier du noyau actuel est selon cet exemple le linux-2.6.30-gentoo-r2 est c'est sur celui-ci que pointe le lien symbolique. Cela signifie que vous positionner sur le répertoire /usr/src/linux revient à la même chose que si vous vous positionniez sur le répertoire /usr/src/linux-2.6.30-gentoo-r2.

Le fichier de configuration est un fichier caché. Son nom est donc précédé d'un point. Pour copier le fichier de configuration du noyau actuel dans le fichier de configuration du nouveau noyau, exécutez la commande qui suit.

Gnome-dev-computer.png
# cp /usr/src/linux/.config /usr/src/linux-dos_nouvl_versn_noyau
Emblem-documents.png
Note !
Remplacez dos_nouvl_versn_noyau par le nom du répertoire contenant le source du nouveau noyau tel qu'affiché par l'exécution de la commande ls -l

Actualisation du lien symbolique

Le lien symbolique correspond au dossier des sources du noyau actuel. Pour être en mesure de finaliser la configuration du nouveau noyau, le compiler et le rendre disponible au démarrage, il faut actualiser le lien symbolique. Puisque vous êtes déjà dans le répertoire /usr/src, il suffit de la commande de création d'un lien symbolique.

Supposons que le dernier source installé soit sys-kernel/gentoo-sources-2.6.30-gentoo-r4, la commande sera :

Gnome-dev-computer.png
# ln -sfn linux-2.6.30-gentoo-r4 /usr/src/linux

Dès lors quand vous vous placez dans le répertoire /usr/src/linux, ce sont les fichiers source du nouveau noyau que vous voyez et non plus ceux du noyau actuel.

Emblem-documents.png
Note !
Vous n'avez pas à créer le nouveau lien symbolique si le USE flag symlink est déclaré dans votre fichier /etc/make.conf

Il est également possible d'actualiser le lien symbolique /usr/src/linux par le biais de la commande eselect. Pour que /usr/src/linux pointe vers /usr/src/linux-2.6.30-gentoo-r4 la commande à utiliser sera :

Gnome-dev-computer.png
# eselect kernel set linux-2.6.30-gentoo-r4

Si vous ne connaissez pas la version exacte, il est possible d'entrer la commande suivante qui vous donnera la liste de tous les sources de noyau présents sous /usr/src:

Gnome-dev-computer.png
# eselect kernel list

Il ne vous restera ensuite qu'à choisir le bon noyau soit par sa version comme indiqué ci-dessus soit par le numéro dans la liste retournée par eselect kernel list. Si par exemple linux-2.6.30-gentoo-r4 est le deuxième élément de la liste il faudra entrer :

Gnome-dev-computer.png
# eselect kernel set 2

Exécution de make oldconfig

La commande make oldconfig va modifier la configuration du noyau que vous avez copié précédemment. Cette modification applique les changements apportés par la nouvelle version du noyau.

Warning 64.png
Attention !
Positionnez-vous dans le dossier /usr/src/linux avant d'exécuter make oldconfig.
Gnome-dev-computer.png
# cd /usr/src/linux

Pour exécuter make oldconfig :

Gnome-dev-computer.png
# make oldconfig
Info 64.png
Information !
Lorsque make oldconfig vous pose une question, vous répondez en appuyant sur la touche ENTER. Ceci instruit make oldconfig d'appliquer la modification par défaut. En cas de doute ou pour en savoir plus, appuyer sur la touche ? avant de procéder.

Exemple de code : Exécution de make oldconfig

  HOSTCC  scripts/basic/fixdep
  HOSTCC  scripts/basic/docproc
  HOSTCC  scripts/basic/hash
  HOSTCC  scripts/kconfig/conf.o
scripts/kconfig/conf.c: In function ‘conf_askvalue’:
scripts/kconfig/conf.c:105: attention : ignoring return value of ‘fgets’, declared with attribute warn_unused_result
scripts/kconfig/conf.c: In function ‘conf_choice’:
scripts/kconfig/conf.c:307: attention : ignoring return value of ‘fgets’, declared with attribute warn_unused_result
  HOSTCC  scripts/kconfig/kxgettext.o
  SHIPPED scripts/kconfig/zconf.tab.c
  SHIPPED scripts/kconfig/lex.zconf.c
  SHIPPED scripts/kconfig/zconf.hash.c
  HOSTCC  scripts/kconfig/zconf.tab.o
In file included from scripts/kconfig/zconf.tab.c:2486:
scripts/kconfig/confdata.c: In function ‘conf_write’:
scripts/kconfig/confdata.c:501: attention : ignoring return value of ‘fwrite’, declared with attribute warn_unused_result
scripts/kconfig/confdata.c: In function ‘conf_write_autoconf’:
scripts/kconfig/confdata.c:739: attention : ignoring return value of ‘fwrite’, declared with attribute warn_unused_result
scripts/kconfig/confdata.c:740: attention : ignoring return value of ‘fwrite’, declared with attribute warn_unused_result
In file included from scripts/kconfig/zconf.tab.c:2487:
scripts/kconfig/expr.c: In function ‘expr_print_file_helper’:
scripts/kconfig/expr.c:1090: attention : ignoring return value of ‘fwrite’, declared with attribute warn_unused_result
  HOSTLD  scripts/kconfig/conf
scripts/kconfig/conf -o arch/x86/Kconfig
*
* Restart config...
*
*
* Processor type and features
*
Tickless System (Dynamic Ticks) (NO_HZ) [Y/n/?] y
High Resolution Timer Support (HIGH_RES_TIMERS) [Y/n/?] y
Symmetric multi-processing support (SMP) [Y/n/?] y
Support sparse irq numbering (SPARSE_IRQ) [N/y/?] n
Enable MPS table (X86_MPPARSE) [Y/n/?] y
Support for big SMP systems with more than 8 CPUs (X86_BIGSMP) [N/y/?] n
Support for extended (non-PC) x86 platforms (X86_EXTENDED_PLATFORM) [Y/n/?] y
AMD Elan (X86_ELAN) [N/y/?] n
RDC R-321x SoC (X86_RDC321X) [N/y/?] n
Support non-standard 32-bit SMP architectures (X86_32_NON_STANDARD) [N/y/?] n
Single-depth WCHAN output (SCHED_OMIT_FRAME_POINTER) [Y/n/?] y
Memtest (MEMTEST) [N/y/?] n
Processor family
  1. 386 (M386)
  2. 486 (M486)
  3. 586/K5/5x86/6x86/6x86MX (M586)
  4. Pentium-Classic (M586TSC)
  5. Pentium-MMX (M586MMX)
  6. Pentium-Pro (M686)
  7. Pentium-II/Celeron(pre-Coppermine) (MPENTIUMII)
  8. Pentium-III/Celeron(Coppermine)/Pentium-III Xeon (MPENTIUMIII)
  9. Pentium M (MPENTIUMM)
> 10. Pentium-4/Celeron(P4-based)/Pentium-4 M/older Xeon (MPENTIUM4)
  11. K6/K6-II/K6-III (MK6)
  12. Athlon/Duron/K7 (MK7)
  13. Opteron/Athlon64/Hammer/K8 (MK8)
  14. Crusoe (MCRUSOE)
  15. Efficeon (MEFFICEON)
  16. Winchip-C6 (MWINCHIPC6)
  17. Winchip-2/Winchip-2A/Winchip-3 (MWINCHIP3D)
  18. GeodeGX1 (MGEODEGX1)
  19. Geode GX/LX (MGEODE_LX)
  20. CyrixIII/VIA-C3 (MCYRIXIII)
  21. VIA C3-2 (Nehemiah) (MVIAC3_2)
  22. VIA C7 (MVIAC7)
  23. Core 2/newer Xeon (MCORE2)
choice[1-23]: 10
Generic x86 support (X86_GENERIC) [Y/n/?] y
HPET Timer Support (HPET_TIMER) [Y/n/?] y
Maximum number of CPUs (NR_CPUS) [2] 2
SMT (Hyperthreading) scheduler support (SCHED_SMT) [Y/n/?] y
Multi-core scheduler support (SCHED_MC) [Y/n/?] y
Preemption Model
  1. No Forced Preemption (Server) (PREEMPT_NONE)
  2. Voluntary Kernel Preemption (Desktop) (PREEMPT_VOLUNTARY)
> 3. Preemptible Kernel (Low-Latency Desktop) (PREEMPT)
choice[1-3]: 3
Reroute for broken boot IRQs (X86_REROUTE_FOR_BROKEN_BOOT_IRQS) [N/y/?] n
Machine Check Exception (X86_MCE) [Y/n/?] y
Check for non-fatal errors on AMD Athlon/Duron / Intel Pentium 4 (X86_MCE_NONFATAL) [Y/n/m/?] y
check for P4 thermal throttling interrupt. (X86_MCE_P4THERMAL) [Y/n/?] y
Toshiba Laptop support (TOSHIBA) [N/m/y/?] n
Dell laptop support (I8K) [N/m/y/?] n
Enable X86 board specific fixups for reboot (X86_REBOOTFIXUPS) [Y/n/?] y
/dev/cpu/microcode - microcode support (MICROCODE) [Y/n/m/?] y
  Intel microcode patch loading support (MICROCODE_INTEL) [Y/n/?] y
  AMD microcode patch loading support (MICROCODE_AMD) [N/y/?] n
/dev/cpu/*/msr - Model-specific register support (X86_MSR) [Y/n/m/?] y
/dev/cpu/*/cpuid - CPU information support (X86_CPUID) [Y/n/m/?] y
/sys/kernel/debug/x86/cpu/* - CPU Debug support (X86_CPU_DEBUG) [N/m/y/?] n
High Memory Support
  1. off (NOHIGHMEM)
> 2. 4GB (HIGHMEM4G)
  3. 64GB (HIGHMEM64G)
choice[1-3]: 2
Memory model
> 1. Flat Memory (FLATMEM_MANUAL)
  2. Sparse Memory (SPARSEMEM_MANUAL)
choice[1-2]: 1
Add LRU list to track non-evictable pages (UNEVICTABLE_LRU) [Y/n/?] y
Low address space to protect from user allocation (DEFAULT_MMAP_MIN_ADDR) [4096] (NEW) 
Allocate 3rd-level pagetables from highmem (HIGHPTE) [Y/n/?] y
Check for low memory corruption (X86_CHECK_BIOS_CORRUPTION) [N/y/?] n
Reserve low 64K of RAM on AMI/Phoenix BIOSen (X86_RESERVE_LOW_64K) [Y/n/?] y
Math emulation (MATH_EMULATION) [N/y/?] n
MTRR (Memory Type Range Register) support (MTRR) [Y/n/?] y
  MTRR cleanup support (MTRR_SANITIZER) [N/y/?] n
  x86 PAT support (X86_PAT) [Y/n/?] y
EFI runtime service support (EFI) [Y/n/?] y
Enable seccomp to safely compute untrusted bytecode (SECCOMP) [Y/n/?] y
Enable -fstack-protector buffer overflow detection (EXPERIMENTAL) (CC_STACKPROTECTOR) [Y/n/?] y
Timer frequency
  1. 100 HZ (HZ_100)
> 2. 250 HZ (HZ_250)
  3. 300 HZ (HZ_300)
  4. 1000 HZ (HZ_1000)
choice[1-4?]: 2
kexec system call (KEXEC) [Y/n/?] y
kernel crash dumps (CRASH_DUMP) [Y/n/?] y
kexec jump (EXPERIMENTAL) (KEXEC_JUMP) [N/y/?] n
Physical address where the kernel is loaded (PHYSICAL_START) [0x1000000] 0x1000000
Build a relocatable kernel (EXPERIMENTAL) (RELOCATABLE) [Y/n/?] y
Alignment value to which kernel should be aligned (PHYSICAL_ALIGN) [0x200000] 0x200000
Support for hot-pluggable CPUs (HOTPLUG_CPU) [Y/?] y
Compat VDSO support (COMPAT_VDSO) [N/y/?] n
Built-in kernel command line (CMDLINE_BOOL) [N/y/?] n
#
# configuration written to .config
#


Exécution de make menuconfig

L'opération précédente peut avoir entraîné des modifications au fichier de configuration, modifications que vous ne désirez pas. Ces modifications sont habituellement des éléments de configuration ajoutés ou d'autres qui ont été désactivés ou activés.

Pour vous en assurer et remédier à la situation le cas échéant, comparez le nouveau fichier de configuration avec celui du noyau actuel. Voyons comment faire à partir de l'exemple suivant.

Exemple de code : Commande ls -l

ls -l
total 16
lrwxrwxrwx  1 root root   22 jui 29 16:02 linux -> linux-2.6.30-gentoo-r4
drwxr-xr-x 23 root root 4096 jui  8 21:26 linux-2.6.30-gentoo-r2
drwxr-xr-x 22 root root 4096 jui 22 17:39 linux-2.6.30-gentoo-r3
drwxr-xr-x 22 root root 4096 jui 30 09:57 linux-2.6.30-gentoo-r4
drwxr-xr-x  7 root root 4096 avr 30 12:30 rpm


La commande ls -l a été exécutée à la racine du répertoire /usr/src. Vous vous souvenez que le lien symbolique pour le noyau a été modifié. Il pointe maintenant sur le dossier linux-2.6.30-gentoo-r4. Vous remarquez également qu'il y a deux autres dossiers contenant les sources du noyau. Lequel correspond à la version du noyau couramment utilisée ? La réponse vous est fournie par la commande uname.

Gnome-dev-computer.png
# uname -r

Dans le cadre de cet exemple, le résultat obtenu est le suivant.

Exemple de code : Commande uname -r

2.6.30-gentoo-r2


Vous savez maintenant que le système tourne actuellement sur le noyau 2.6.30-gentoo-r2 et que le nouveau noyau est le 2.6.30-gentoo-r4. Pour comparer le fichier de configuration du noyau actuel avec celui du nouveau noyau et éventuellement apporter des ajustements au fichier de configuration du nouveau noyau, vous utilisez la commande make menuconfig. Dans le terminal actuellement ouvert, placez-vous sur le dossier /usr/src/linux qui est celui du nouveau noyau et lancez l'outil de configuration.

Gnome-dev-computer.png
# cd /usr/src/linux
# make menuconfig

Ouvrez un second terminal. Placez-vous dans le dossier du noyau actuel soit linux-2.6.30-gentoo-r2 selon l'exemple utilisé. Lancez-y également l'outil de configuration.

Gnome-dev-computer.png
# cd /usr/src/linux-2.6.30-gentoo-r2
# make menuconfig

Placez les fenêtres des terminaux côte à côte (tel qu'illustré ci-après) et comparez les valeurs de chacune des options de configuration. Apportez les modifications nécessaires au fichier de configuration du nouveau noyau. N'oubliez pas de sauvegarder vos changements à la fin de l'opération.

Menuconfig-r2.png

menuconfig du noyau actuel

Menuconfig-r4.png

menuconfig du nouveau noyau


Menuconfig-save-config.png

Message pour confirmer la sauvegarde du fichier de configuration


Lorsque le fichier de configuration du nouveau noyau est prêt à être utilisé pour compiler la nouvelle version du noyau, passez à l'étape Compilation et copie du noyau.

Mise à jour changement de branche

Pour mettre à jour le noyau lors d'un changement de branche, vous adopterez une approche sécuritaire. Cette méthode est longue car vous reconfigurez votre noyau à la main comme vous le faites lors d'une installation. En fait, vous n'utilisez pas la commande make oldconfig.

Montage de la partition /boot

Vous devez monter votre partition /boot si :

  1. Vous en avez une ,
  2. Elle n'est pas montée automatiquement au démarrage.
Gnome-dev-computer.png
# mount /dev/sdaX /boot
Emblem-documents.png
Note !
Consultez le fichier /etc/fstab pour avoir les coordonnées pertinentes à votre partition /boot.

Actualisation du lien symbolique

Vérifiez le nom du répertoire contenant les fichiers de la nouvelle version du noyau.

Gnome-dev-computer.png
# cd /usr/src
 # ls-l

Placez-vous dans le dossier /usr/src/linux.

Gnome-dev-computer.png
# cd /usr/src/linux

Modifiez le lien symbolique de manière à ce que le dossier créé par emerge gentoo-sources pointe sur /usr/src/linux.

Gnome-dev-computer.png
# ln -sfn répertoire sources nouveau noyau /usr/src/linux

Configuration du noyau

Lancez l'utilitaire de configuration du noyau.

Gnome-dev-computer.png
# make menuconfig

Compilation et copie du noyau

Maintenant que le noyau est configuré, vous devez le compiler pour ensuite le copier dans la partition ou le répertoire /boot.

Compilation du noyau

Pour compiler le noyau :

Gnome-dev-computer.png
# make && make modules_install

Copie du noyau

Le nouveau noyau doit résider dans /boot, répertoire ou partition selon votre schéma de partitionnement, afin que l'ordinateur puisse démarrer dessus. Il y a trois fichiers à copier dans /boot dont le plus important est le noyau lui-même. Les deux autres ne sont pas essentiels au démarrage.

  1. L'image du noyau (le noyau lui-même) , bzImage ;
  2. Le fichier de mappage, System.map ;
  3. Le fichier de configuration, .config.
Warning 64.png
Attention !
Assurez-vous que la partition /boot soit montée avant d'effectuer les opérations de copie.

Les commandes de copie à exécuter en prenant soin d'être positionné dans /usr/src/linux :

Gnome-dev-computer.png
# cp arch/arch/boot/bzImage /boot/kernel-version noyau
# cp System.map /boot
# cp .config /boot/config-version noyau.config
Info 64.png
Information !

arch prend la valeur i386 ou x86_64 selon que vous avez compilé pour une architecture 32 bits ou 64 bits.

version noyau est par exemple 2.6.30-gentoo-r4 si vous avez compilé le fichier linux-2.6.30-gentoo-r4.

Le dernier geste à poser pour rendre le nouveau noyau disponible au démarrage est d'ajouter l'entrée nécessaire dans le fichier du gestionnaire d'amorçage. Éditez le fichier /boot/grub/grub.conf.

Gnome-dev-computer.png
# nano -w /boot/grub/grub.conf

Voici un exemple d'un fichier du gestionnaire d'amorçage.

Exemple de code : /boot/grub/grub.conf

default         0
timeout         10

# Hides the menu by default (press ESC to see the menu)
#hiddenmenu

# Pretty colours
#color cyan/blue white/blue

# Splash image
splashimage=(hd0,0)/grub/splash.xpm.gz

#
# examples
#
# title         Windows 95/98/NT/2000
# root          (hd0,0)
# makeactive
# chainloader   +1
#
# title         Linux
# root          (hd0,1)
# kernel        /vmlinuz root=/dev/hda2 ro
#

title           Funtoo-Gentoo 2.6.30-r2 - Xfce4 - Testing
uuid            0f295b57-89f0-4182-8657-c93bfcfcd604
#root            (hd0,0)
kernel          /kernel-2.6.30-gentoo-r2 root=/dev/sdb5 vga=795

title           Funtoo-Gentoo 2.6.30-r4 - Xfce4 - Testing
uuid            0f295b57-89f0-4182-8657-c93bfcfcd604
#root            (hd0,0)
kernel          /kernel-2.6.30-gentoo-r4 root=/dev/sdb5 vga=795

title           SystemRescueCd
root            (hd1,8)
kernel          /sysrcd/rescuecd subdir=sysrcd setkmap=cf
initrd          /sysrcd/initram.igz
boot


Dans cet exemple, le noyau kernel-2.6.30-gentoo-r4 a été ajouté aux options du gestionnaire d'amorçage. Notez que la partition /boot peut être identifiée par son UUID.

Warning 64.png
Attention !
Si vous n'utilisez pas de partition /boot, veuillez ajouter /boot devant kernel sur la ligne du même nom.

Recompilation des programmes qui dépendent du noyau

Lorsque vous changez de noyau, il faut vous assurer que les programmes qui dépendent du noyau ne vont pas se briser. Pour ce faire, on doit utiliser l'outil module-rebuild.

Est-ce que module-rebuild est installé ? Vérifiez avec par exemple la commande whereis.

Gnome-dev-computer.png
# whereis module-rebuild

Si vous obtenez une réponse différente de :

Exemple de code : whereis module-rebuild

module-rebuild: /usr/sbin/module-rebuild


c'est que l'outil n'est pas installé. Consultez ce guide pour l'installer.

Devez-vous exécuter module-rebuild ? La réponse se trouve dans l'information retrounée par :

Gnome-dev-computer.png
# module-rebuild list

Vous devez lancez module-rebuild, si vous obtenez une information comme celle-ci :

Exemple de code : module-rebuild list

** Packages which I will emerge are:
	=app-emulation/virtualbox-modules-3.0.2


Emblem-documents.png
Note !
C'est un exemple. La liste des applications à reconstruire peut différer.

L'exécution de module-rebuild pour reconstruire les modules du noyau est :

Gnome-dev-computer.png
# module-rebuild rebuild

Redémarrage de l'ordinateur

Rendu à cette étape, vous êtes maintenant prêt à redémarrer votre machine afin qu'elle tourne sur le nouveau noyau. Repositionnez-vous à la racine de votre système et démontez, si vous en avez une, la partition /boot.

Gnome-dev-computer.png
# cd /
# umount /boot

Si tout se passe bien, que vos applications tournent sans problème et que tous vos composants matériels réagissent bien, vous pouvez par la suite tout supprimer de l'ancien noyau.

Suppression des fichiers de l'ancien noyau

Pour supprimer les fichiers de l'ancien noyau, vous exécutez cette commande :

Gnome-dev-computer.png
# emerge -aP gentoo-sources

Vous aurez alors à confirmer la suppression.

Exemple de code : Confirmation de suppression des fichiers d'un noyau désuet

Calculating dependencies... done!
>>> Checking for lib consumers...

>>> These are the packages that would be unmerged:

 sys-kernel/gentoo-sources
    selected: 2.6.30-r2 2.6.30-r3 
   protected: none 
     omitted: 2.6.30-r4 

>>> 'Selected' packages are slated for removal.
>>> 'Protected' and 'omitted' packages will not be removed.

Would you like to unmerge these packages? [Yes/No] 


Vous répondez par Yes et les fichiers de l'ensemble figurant sur la ligne selected seront purgés.

L'intervention suivant la suppression des fichiers du noyau désuet consiste à supprimer le dossier de ce noyau.

Gnome-dev-computer.png
# rm -r /usr/src/linux-version

Remplacez version par la valeur affichée sur la ligne selected.

Finalement, il ne vous reste plus qu'à retirer du menu du gestionnaire d'amorçage les lignes concernant le lancement de l'ancienne version du noyau. Vous éditez le fichier /boot/grub/grub.conf après avoir monté la partition /boot si vous en avez une.


Outils personnels