FuntooHowTo-Kernel

Print Friendly, PDF & Email


 

FuntooHowTo-Kernel

 

 

1      Documentation/référence.1

2      Mise à jour du noyau.1

2.1       Lien_ 1

3      Permière configuration.1

3.1       make oldconfig : pas conseillé.1

3.2       Make defconfig_ 1

4      Etapes de compilation du noyau.2

4.1       Compilation et installation du noyau_ 2

4.2       Batch_ 2

4.3       Modules rebuild_ 2

5      Désinstallation  des sources noyau_ 3

6      Noyaux disponibles.4

6.1       Listes de noyaux_ 4

6.2       Choix noyau.4

 

1         Documentation/référence.

2         Mise à jour du noyau.

Un nouveau noyau peut-être installé lors d’un emerge du système.

2.1      Lien

Le lien vers le noyau est vérifié par un : eselect kernel list

Et peut être selectionner par : eselect kernel set <version>

3         Permière configuration.

3.1      make oldconfig : pas conseillé.

Une fois le lien redirigé, le fichier config peut être récupéré de l’ancien noyau.

Il y a moyen de reprendre l’ancienne version du .config  pour l’appliquer au noyau actuel. L’option oldconfig de la commande make accomplit cette tâche make oldconfig

Ceci est une opération assez longue et n’est pas conseillé.

3.2      Make defconfig

La 2ème méthode consiste à construire un kernel minimum puis à remplir les options dont vous aurez besoin. Cette commande va construire un .config minimum qui est fourni par les mainteneur du kernel :

make defconfig

4         Etapes de compilation du noyau.

uname -a

http://www.funtoo-quebec.org/wiki/index.php/Formation_%C3%A0_Funtoo_GNU/Linux_-_Atelier_4

4.1      Compilation et installation du noyau

·         make && make modules_install
·         make install

La commande make modules_install crée la liste des modules qui seront chargés au démarrage par la commande modprobe. La commande make install copie dans /boot les fichiers :

  • vmlinuz
  • System.map
  • config

Le premier est le noyau lui-même et le nom est complété par le numéro de version de celui-ci. Le second est une image système et le dernier est une copie intégrale du fichier /usr/src/linux/.config. Ces deux fichiers portent églament le numéro de la version du noyau.

Il faut mette à jour le lanceur Grub et  le fichier /boot/grub/grub.cfg : boot-update –V

Si nécessaire :

·        emerge –av $(qlist -IC x11-drivers)

4.2      Batch

La commande suivante compile, installe les modules, installe le noyau avec le nom générique vmlinuz dans /boot et recompile toutes les packages qui ont des modules qui s’insère dans le noyau via la librarie /lib/modules.

·        make && make modules_install && make install && boot-update -V && module-rebuild populate && module-rebuild rebuild && emerge $(qlist -IC x11-drivers)
 

4.3      Modules rebuild

When you upgrade your kernel you need to also reinstall the kernel modules that you built from portage, for example nvidia-drivers, alsa-driver, and so on.
If you can't remember which kernel modules you built from portage or you just want a tool to manage them module-rebuild comes in handy. It's a simple tool with no man page or even --help just run it by itself to see which options and actions it offers.
·        First, you'll need to install the package: emerge -av module-rebuild
·        Now you can run the command. module-rebuild populate
·        Then get the modules rebuilt to work with your new kernel: module-rebuild rebuild
 
module-rebuild rebuild
** Preparing to merge modules:
** Packages which I will emerge are:
               =x11-drivers/nvidia-drivers-290.10
 

 

5         Désinstallation  des sources noyau

Après avoir roulé quelques temps sous la nouvelle version du noyau et que tout se passe bien, vous pouvez épurer votre système du noyau antérieur devenu désuet. Pour supprimer l’ancien noyau :

emerge –ask –prune gentoo-sources

Pour supprimer le dossier :

rm -r /usr/src/linux-…

rm -r /lib/modules/…

 

6         Noyaux disponibles.

6.1      Listes de noyaux

D’abord, faire un : eix-update

Reading Portage settings ..

Building database (/var/cache/eix) ..

[0] “gentoo” /usr/portage/ (cache: metadata-md5-or-flat)

     Reading category 154|154 (100%) Finished            

Applying masks ..

Calculating hash tables ..

Writing database file /var/cache/eix ..

Database contains 15549 packages in 154 categories.

 

Ensuite, unn : eix sys-kernel/gentoo-sources

 

[D] sys-kernel/gentoo-sources

     Available versions: 

            (2.6.32-r29)   2.6.32-r29!b!s

            (2.6.32-r39)   [m]~2.6.32-r39!b!s

            (2.6.32-r40)   [m]~2.6.32-r40!b!s

            (2.6.32-r41)   [m]~2.6.32-r41!b!s

            (3.0.17-r2)     [m]3.0.17-r2!b!s

            (3.0.20)          [m]~3.0.20!b!s

            (3.0.22)          [m]~3.0.22!b!s

            (3.1.10-r1)     [m]3.1.10-r1!b!s

            (3.2.1-r2)        [m]3.2.1-r2!b!s

            (3.2.2) [m]~3.2.2!b!s

            (3.2.5) [m]~3.2.5!b!s

            (3.2.6) [m]~3.2.6!b!s

            (3.2.9) [m]~3.2.9!b!s

            {build deblob symlink}

     Installed versions:  3.2.1-r2(3.2.1-r2)!b!s(02:46:53 PM 03/06/2012)(-build -deblob -symlink)

     Homepage:            http://dev.gentoo.org/~mpagano/genpatches

     Description:         Full sources including the Gentoo patchset for the 3.2 kernel tree

6.2      Choix noyau.

Dans
/etc/portage/package.mask →
>=sys-kernel/gentoo-sources-2.6.32-r39

Un emerge va donner : emerge -av gentoo-sources

[ebuild  NS    ] sys-kernel/gentoo-sources-2.6.32-r29 [3.2.1-r2] USE=”-build -deblob -symlink” 63,768 kB

 

Total: 1 package (1 in new slot), Size of downloads: 63,768 kB

 

!!! The following installed packages are masked:

– sys-kernel/gentoo-sources-3.2.1-r2::gentoo (masked by: package.mask)

/etc/portage/package.mask:

#dev-libs/gobject-introspection