« ConfigurationNoyauLinux » : différence entre les versions

De WikiBR
Aucun résumé des modifications
(Ajout de eselect)
Ligne 3 : Ligne 3 :
Pour info: http://www.gentoo-wiki.info/Kernel/Configuring
Pour info: http://www.gentoo-wiki.info/Kernel/Configuring


= Process =
= Configuration =
* {{c|cd /usr/src/linux}} qui est un symlink vers le noyau le plus récent normalement (voir le use flag symlink)
* {{c|menuconfig}} pour configurer le noyau
* vérifier que {{c|/boot}} est bien monté, sinon il va installer le noyau dans le bon dossier, mais sur la mauvaise partition :p
* {{c|make && make install && make modules install}}
 
Une bonne idée, c'est d'utiliser screen avec un fenêtre qui contient {{c|make menuconfig}} du noyau en cours : ça permet de savoir ce qui a été choisi pour cette machine la dernière fois.
 
= Process de la configuration =
* Parcourir le materiel, et vérifier que le materiel est activé (les disques, les bus, les cartes réseau, etc...) avec {{c|lspci}}, et notament l'option {{c|-k}} . On peut chercher avec la touche {{c|/}} (slash).
* Parcourir le materiel, et vérifier que le materiel est activé (les disques, les bus, les cartes réseau, etc...) avec {{c|lspci}}, et notament l'option {{c|-k}} . On peut chercher avec la touche {{c|/}} (slash).
* Parcourir l'arbre de {{c|menuconfig}}, et essayer de comprendre à quoi ça correspond. C'est dur parfois, mais l'aide (touche {{c|?}}) aide beaucoup.
* Parcourir l'arbre de {{c|menuconfig}}, et essayer de comprendre à quoi ça correspond. C'est dur parfois, mais l'aide (touche {{c|?}}) aide beaucoup.


= Checklist de Configuration =
= Checklist de configuration =
* General
* General
** Kernel {{c|.config}} support
** Kernel {{c|.config}} support
Ligne 31 : Ligne 23 :
* Kernel hacking
* Kernel hacking
** Magic SysRq key -- permet dans certaines situation de limiter la casse en cas de plantage. (Rappel : ordre des touches = REISUB)
** Magic SysRq key -- permet dans certaines situation de limiter la casse en cas de plantage. (Rappel : ordre des touches = REISUB)
'''Attention''': les disques SATA utilisent souvent des transports SCSI. Ainsi, il faut activer SATA '''et''' SCSI dans la configuration.
= Compilation =
* Se placer dans {{c|/usr/src/linux}} qui est un symlink vers le noyau le plus récent normalement (voir le use flag symlink)
* {{c|make nconfig}} (anciennement {{c|menuconfig}}) pour configurer le noyau
* vérifier que {{c|/boot}} est bien monté, sinon il va installer le noyau dans le bon dossier, mais sur la mauvaise partition :p
* compilation et installation :
make && make install && make modules_install
Une bonne idée, c'est d'utiliser screen avec un fenêtre qui contient {{c|make nconfig}} du noyau en cours : ça permet de savoir ce qui a été choisi pour cette machine la dernière fois.
= Mise à jour du noyau =
Après avoir installé un paquet linux pour un nouveau kernel, il faut le configurer. Pour cela, il faut aller dans le dossier /usr/src/linux... adéquat et exécuter
make oldconfig
Ensuite, il faut éventuellement faire {{c|make nconfig}} si l'on s'est trompé sur un paramètre, puis compiler et installer le nouveau noyau comme précédemment.
Les liens symboliques /usr/src/linux, /boot/config, /boot/System.map et /boot/vmlinuz sont gérés par {{c|eselect}} de la manière suivante :
eselect kernel list
Available kernel symlink targets:
  [1]  linux-3.0.4-hardened-r5
  [2]  linux-3.2.2-hardened-r1 *
eselect kernel set 2

Version du 24 mars 2012 à 18:17

Le noyau est essentiellement le logiciel de plus bas niveau qui tourne (la virtualisation exceptée). Le configurer nécessite du bon sens, et des connaissances.

Pour info: http://www.gentoo-wiki.info/Kernel/Configuring

Configuration

  • Parcourir le materiel, et vérifier que le materiel est activé (les disques, les bus, les cartes réseau, etc...) avec lspci, et notament l'option -k . On peut chercher avec la touche / (slash).
  • Parcourir l'arbre de menuconfig, et essayer de comprendre à quoi ça correspond. C'est dur parfois, mais l'aide (touche ?) aide beaucoup.

Checklist de configuration

  • General
    • Kernel .config support
    • Enable access to .config through /proc/config.gz -- Très utile pour avoir la conf du noyau qui tourne.
    • Export task/process statistics through netlink -- Pour suivre l'utilisation du disque par iotop
      • Enable per-task delay accounting -- idem
  • Processor type and features -> Processor family
  • Networking support
    • Networking options -- Rien d'autre. Pas besoin de tant de choses que ça: prendre;
      • TCP/IP networking
      • INET: socket monitoring interface
      • Network packet filtering framework (Netfilter) -- C'est iptables! D'ailleurs dans les options pour ça, on doit trouver de choses intéressantes, comme par exemple le module owner.
      • 802.1Q VLAN Support -- Peut-être, enfin c'est pas con
  • File systems - mount pour vérifier le type des partitions.
  • Kernel hacking
    • Magic SysRq key -- permet dans certaines situation de limiter la casse en cas de plantage. (Rappel : ordre des touches = REISUB)

Attention: les disques SATA utilisent souvent des transports SCSI. Ainsi, il faut activer SATA et SCSI dans la configuration.

Compilation

  • Se placer dans /usr/src/linux qui est un symlink vers le noyau le plus récent normalement (voir le use flag symlink)
  • make nconfig (anciennement menuconfig) pour configurer le noyau
  • vérifier que /boot est bien monté, sinon il va installer le noyau dans le bon dossier, mais sur la mauvaise partition :p
  • compilation et installation :
make && make install && make modules_install

Une bonne idée, c'est d'utiliser screen avec un fenêtre qui contient make nconfig du noyau en cours : ça permet de savoir ce qui a été choisi pour cette machine la dernière fois.

Mise à jour du noyau

Après avoir installé un paquet linux pour un nouveau kernel, il faut le configurer. Pour cela, il faut aller dans le dossier /usr/src/linux... adéquat et exécuter

make oldconfig

Ensuite, il faut éventuellement faire make nconfig si l'on s'est trompé sur un paramètre, puis compiler et installer le nouveau noyau comme précédemment.

Les liens symboliques /usr/src/linux, /boot/config, /boot/System.map et /boot/vmlinuz sont gérés par eselect de la manière suivante :

eselect kernel list
Available kernel symlink targets:
  [1]   linux-3.0.4-hardened-r5
  [2]   linux-3.2.2-hardened-r1 *
eselect kernel set 2