temps compilation noyau

Demande d'aide : c'est ici.
Répondre
m4d3x
Membre
Membre
Messages : 13
Inscription : 15 juin 2016, 01:50
Status : Hors-ligne

Bonjour, j'aimerais réduire le temp de compilation noyau (kernel.org).

Connaissez-vous des menus que je peux décocher qui permettent de réduire le temps de compilation ?

J'ai déjà enlever:
- la partie wifi depuis menu networking
- driver intel, radeon et amdgpu depuis devices / graphics


Ou faudra peut-être que j'y vais sur une "config" de base et ajoute le nécessaire pour mon matériel ?
Avatar de l’utilisateur
kitmale
Membre actif
Membre actif
Messages : 733
Inscription : 25 avr. 2016, 09:39
Status : Hors-ligne

Salut, peux tu être plus explicite?
http://player.lg1043.com/CHLGFM

"Do not fear to be eccentric in opinion, for every opinion now accepted was once eccentric. Bertrand Russell
m4d3x
Membre
Membre
Messages : 13
Inscription : 15 juin 2016, 01:50
Status : Hors-ligne

Pour résumer, (en cet période) je compile souvant les derniers noyau disponible, et ça dure environs 20 minutes et pour éviter trop d'attendre, j'aimerais réduire ce temps.

Ça compile trop de chose inutile genre des trucs sur le wifi, la radio, la tv, drivers en dehors de mon matériel. (La taille du répértoire de compilation environs 15G une fois fini.)


J'ai un peu jouer avec make localmodconfig et defconfig, j'ai pu réduire à 2-7 minutes la compilation (la taille du répértoire de compilation environs 5G).
Mais il y a des trucs manquant, genre module crc32 manquant lors du boot (j'ai charger via conf modules initfarms et maj), la vidéo fonctionne, mais le son et le réseau manquant, lsmod affichait peu de ligne, je sais pas s'il fallait charger manuellement les modules son, réseau.

Y a t il une méthode automatique pour produire une "config (de kernel)" spécifique à mon matériel ou je devrais le faire manuellement ?
etxeberrizahar
Contributeur
Contributeur
Messages : 19
Inscription : 25 avr. 2016, 18:44
Status : Hors-ligne

$ make help

Code : Tout sélectionner

 
Cleaning targets:
  clean		  - Remove most generated files but keep the config and
                    enough build support to build external modules
  mrproper	  - Remove all generated files + config + various backup files
  distclean	  - mrproper + remove editor backup and patch files

Configuration targets:
  config	  - Update current config utilising a line-oriented program
  nconfig         - Update current config utilising a ncurses menu based
                    program
  menuconfig	  - Update current config utilising a menu based program
  xconfig	  - Update current config utilising a Qt based front-end
  gconfig	  - Update current config utilising a GTK+ based front-end
  oldconfig	  - Update current config utilising a provided .config as base
  localmodconfig  - Update current config disabling modules not loaded
  localyesconfig  - Update current config converting local mods to core
  silentoldconfig - Same as oldconfig, but quietly, additionally update deps
  defconfig	  - New config with default from ARCH supplied defconfig
  savedefconfig   - Save current config as ./defconfig (minimal config)
  allnoconfig	  - New config where all options are answered with no
  allyesconfig	  - New config where all options are accepted with yes
  allmodconfig	  - New config selecting modules when possible
  alldefconfig    - New config with all symbols set to default
  randconfig	  - New config with random answer to all options
  listnewconfig   - List new options
  olddefconfig	  - Same as silentoldconfig but sets new symbols to their
                    default value
  kvmconfig	  - Enable additional options for kvm guest kernel support
  xenconfig       - Enable additional options for xen dom0 and guest kernel support
  tinyconfig	  - Configure the tiniest possible kernel


Service minimum: tinyconfig - le plus petit possible.

On peut se baser sur un noyau générique de la distribution pour voir ce qui se charge en utilisation courante et pour compiler un noyau plus récent sur cette base.

Commandes
lister les modules

Code : Tout sélectionner

 lsmod
lister les modules selon le matériel en présence

Code : Tout sélectionner

 lspci -v
et

Code : Tout sélectionner

 lsusb -t
Degraisser. Pour déselectionner des pans entiers, tu peux t'appuyer sur

Code : Tout sélectionner

 make menuconfig


J comme jobs.

Voir les capacités du processeur

Code : Tout sélectionner

 cat /proc/cpuinfo

selon le nombre de cœurs ajouter l'option -j ? à make ou CONCURRENCY_LEVEL à make-kpkg.
Certains préconisent j=nombre_de_cœurs+1. Teste in situ .
Répondre