Jump to content

[noyau] les options, leurs significations


tuXXX

Recommended Posts

Bon alors le noyau est la chose commune entre tous les linux de la planète ... et "linux" est d'ailleur le nom du noyau (oui, normalement, c'est GNU/linux...)

Enfin bref, vous m'avez compris...

Donc il serait bien de faire un topic commun (toutes les distribs, etc...) pour expliquer comment configurer un noyau "à la main", où sont les options importantes, quoi mettre, les modules, tout ça, quoi...

Bon je me rappelle pas par coeur les options, mais je télécharge les sources (ben oui, je suis sur le PC des mes parents...) et je reposte un peu plus tard avec le début...

Link to post
Share on other sites

En plus, ça va me permettre de lidter précisément comment tou faire pas à pas...

Bon alors déjà télécharger le noyau ...

=> aller sur http://www.kernel.org et télécharger les sources complètes (F) du dernier noyau (on va prendre le dernier stable, on verra pour les patches après...)

...déjà, on se logge en root :

 $ su root
cd /root

...disons qu'on met l'archive dans /root

...ensuite on le met dans /usr/src :

 $ mv /root/linux-2.6.7.tar.bz2 /usr/src

on y va, et on décompresse tout ça:

 $ cd /usr/src
$ tar -xvjf linux-2.6.7.tar.bz

l'option "x" dit qu'on veut décompresser...

"v" pour liste les fichiers décompresser (pas obligatoire)

"j" car l'archive est en .tar.bz2

"f" pour dire d'utiliser le fichier qui suit (et non pas l'entrée standard, je suppose) ...

... on obtient donc un dossier /usr/src/linux-2.6.7 avec tout ce qu'il faut dedans...

...mais pour des raisons de compatibilité, il va falloir créer un lien symbolique (en général, les applis d'install usilisent soit /usr/src/linux soit /usr/src/linux-`uname -r` :

 $ ln -s linux-2.6.7 linux

...C'est maintenant que les choses vont commencer à être intéressantes : la configuration du noyau ...

Link to post
Share on other sites

Ouinnn ça marche pas avec la knoppix ...'vai devoir attendre encore 2jours que je retrouve ma CM ...

bon, c'est grosbill aussi... 3 mois de SAV pour une CM qui marchait presque ... et on me dit qu'ils ont pas eu de réponse => CM neuve :incline: c'est cool, mais ils ont mis le temps ...

Mais bon, 7 jours que ça arrive, si ça arrive ...

...Si au final, tout marche niquel, je dirait rien... mais sinon, ça va péter ...

'fin bon, je me rappelle quand même un peu ... alors vous pouvez contribuer !

(en fait, sous knoppix, j'arrive pas à mettre à jour les packets ... j'ai presque réussi en bidouillant, mais finalement ça marche pas... :'( J'ai l'option du chroot sur mon DD gentoo, mais il faudrait que je monte ce DD sur l'ordi à mes parent, tout ça ... la flemme :craint: )

Link to post
Share on other sites

je n'ai pas trop trople temps en ce moment tuxxx, desole, j'ai pas mal de taf enfait, jusque fin de semaine prochaine. Mais apres, promis si tu as encore besoin je t'aide. Et si tu es ok, je te prendrais ptet le corps pour le mettre avec mon topic sur les noyaux et apres j'en ferais un beau pdf avec Latex.

Link to post
Share on other sites

ca fait déjà 2 jours que j'em.... rémi avec mes questions sur les options du kernel..... :francais:

donc c'est une super idée, je suis pret à participer avec mes modestes connaissances de newbie, j'ai un noyau à optimiser au max pour mon serveur, donc faudra forcément passer toutes les options une par une....

Link to post
Share on other sites

Bon ben déjà il faut bien choisir le processeur, et ensuite, pour le bipro, il y a "SMP" qu'il faut activer (ne pas mettre plus que ce qu'il y a besoin, à chaque fois ça augment la taille du noyau...)

...Ah oui, aussi il est bon d'activer les "Magic Sys Keys" (dans kernel hack) ...

Link to post
Share on other sites

je viens de trouver cet excellent site c'est encore trop sucsin à mon gout (niveau explication pour newB), mais en rajoutant quelques trucs et en francisant ca serait un bon début, non ???

oupps j'oubliais le lien

Link to post
Share on other sites

Bon en tout cas, ça va permettre d'avance, vu que j'ai pas de linux sous la main...

...Bon OK, on commence par le plus important :

:ouioui: Processor type and features

Subarchitecture Type [PC-compatible](1)

Processor family [Duron/AthlonXP](2)

[?]Generic x86 support(3)

[*]HPET Timer Support(4)

[ ]Symmetric multi-processing support(5)

[*]Preemptible Kernel(6)

[*]Local APIC support on uniprocessors(7)

[*]IO-APIC support on uniprocessors(:mdr:

[*]Machine Check Exception(9)

[*]Check for non-fatal errors on AMD Athlon/Duron / Intel Pentium 4 (10)

[?]Check for P4 thermal throttling interrupt(11)

< >Toshiba Laptop support(12)

< >Dell laptop support(13)

< >/dev/cpu/microcode - Intel IA32 CPU microcode support(14)

<?>/dev/cpu/*/msr - Model-specific register support(15)

<?>/dev/cpu/*/cpuid - CPU information support(16)

[off] High Memory Support(17)

[ ]Math emulation(18)

[*]MTRR (Memory Type Range Register) support(19)

[ ]Boot from EFI support (EXPERIMENTAL)(20)

(1)

(2)Mettez le processeur correspondant...

(3)C'est fait pour que le noyau soit compatible avec tous les x86 ... vous devriez pouvoir l'enlever (pas essayé mais ça doit marcher... y'a pas de raison)

(4)Pour activer le timer inclu dans le noyau...

(5)Si vous avez un ordinateur avec plusieurs processeurs, activez cette option et mettez le nombre exact de processeurs...

A activer aussi pour les P4 HT (il y a une option qui se rajoute plus bas)

(6)...Moi je le met...mais je ne sais pas trop l'impact sur les perfs, réactivité, etc... 'va falloir faire des test :oops:

(10)Permet de réparer certaines erreurs, et de les indiquer... (en cas d'overclocking/défaillance)

(11)j'ai pas de P4, mais ça devrait être à activer pour ceux qui en ont...

(12)Non sauf si vous avez un portable toshiba

(13)Non sauf si vous avez un portable dell

(14)Non ça sert à rien

(15)

(16)mutliprocesseurs seulement, et encore...

(17)à activer pour gérer plus de 1024Mo de RAM, sinon off pour les perfs...

(18)Non car inclus dans les proco maintenant

(19)Oui, Perfs AGP/PCI

(20)bon, pas de CM avec EFI pour l'instant

Link to post
Share on other sites

Je vais faire les plus importantes...

Et peut-être on pourra faire un "noyau PC INpact", compilation d'un noyau, de quelques patches éventuellement, et un fichier de conf ...

Link to post
Share on other sites

sur ce coup, je suis à 100% avec Tuxx, c'est ce qui manque le + pour un newbie, les explications de l'aide sont souvent longues et pas très clairs sur certaines options et carrément inexistantes sur d'autres. En plus ce genre de description est très rares sur internet, faire un truc assez complet serait un grand plus pour le forum d'INpact (enfin c'est un avis personnel). Je pense meme que ca ramènerais du monde...

Ma petite contrib du jour (j'essaierais de rajouter des options au fur et à mesure de mes compilations):

Le cas du multiprocesseur:

Processor type and features

  [*] Symmetric multi-processing support

  (2) Maximum number of CPUs  

Pour activer le multi-processeur (SMP ou Symmetric Multi Processing), cochez l'option, puis specifiez à la ligne suivante le nombre de processeurs (compris entre [2-255])

Character devices

  <*>	Enhanced Real Time Clock Support

Dernière étape activez l'option "Enhanced Real Time Clock Support", afin d'avoir une bonne gestion de l'horloge. Attention! cette option est indispensable pour le multiprosseceur, ne l'oubliez surtout pas

Link to post
Share on other sites

OK, donc :

[*] preemptible kernel (voit là pour l'interview)

[ ] EFI

...Je suis en train de regarder kerneltrap.org ...

Y'a aussi un patch de Con Kolivas (noyaux -ck) pour le SMT (Symetric Multi Threading, pour les P4 HT) qui a l'air pas mal ... allez je garde le lien :

http://kerneltrap.org/node/view/2591

...tient un patch pour le module bttv, pour qu'il reconnaisse les PCTV Pro achetées apres le moi de septembre 2003 ... détection de tuner mt2030 alors que celui de la carte PCTV Pro est un mt2050

http://dl.bytesex.org/patches/ (prendre le patch-2.x.-kraxel.gz, car c'est l'ensemble mis en 1) ...

...pour patcher, toujours pareil

$ cd /usr/src/linux

$ patch -p1 <patch

Tient y'a aussi le reiserfs4 ...

link : http://www.namesys.com/v4/v4.html

link pour install :

http://namesys.com/install_v4.html

link DL :

http://thebsh.namesys.com/snapshots/LATEST/

EDIT : le patch bttv ne semble pas marcher (à cause des mm-sources, ou bien de modifications...)

Le patch SMT est inclu dans les mm-sources...

Donc il reste :

:D mm-sources

:mdr: reiser4

 $ cd /usr/src
$ wget http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.7.tar.bz2
$ tar -xvjf linux-2.6.7.tar.bz2
$ ln -s linux-2.6.7 linux
$ cd /usr/src/linux
$ wget http://kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.7/2.6.7-mm3/2.6.7-mm3.bz2
$ cat 2.6.7-mm3.bz2 |  bzcat | patch -p1
$ wget http://www.namesys.com/snapshots/LATEST/all.diff.gz
$ cat all.diff.gz |  zcat | patch -p1

$ make mrproper

$ make menuconfig

$ make && make modules modules_install

$ cp arch/i386/boot/bzImage /boot/kernel-2.6.7-mm3
$ cp System.map /boot/System.map-2.6.7-mm3

:sm:

Link to post
Share on other sites

Hourra ... j'ai réussi à faire le make menuconfig sur une knoppix !!!

(stage 3 gentoo dans la ram pour avoir gcc compatible + chroot... :mdr: )

Bon alors c cool ...

(j'ai mis le numéro des lignes au début de chaque explication pour que ce soit le plus clair possible...)

(et <===== pour indiquer ce qui doit être changé en fonction de la config)

(et je ne met que le plus important, je vais pas tout expliquer, en général, tout est dans l'aide touche "?")

(et je tient à préciser que c'est pour un noyau 2.6.7 avec patch mm)

(les options sont pour mon bi-athlon XP2400+ :byebye: , mais bon, ça permet de voir le SMT... et puis, il vous suffit de modifier les <===== en fonction de votre matos...)

:craint: Code maturity level options --->

[*] Prompt for development and/or incomplete code/drivers
   [*]   Select only drivers expected to compile cleanly
   [*]   Select only drivers that don't need compile-time external firmware

1)Donc on demande d'afficher les drivers en développement...

2)mais seulement ceux qui sont supposés marcher et...

3)qui ne requirent pas de firmware spécifique.

:mdr: General setup --->

[*] Support for paging of anonymous memory
[*] System V IPC
[*] POSIX Message Queues
[ ] BSD Process Accounting
[*] Sysctl support
[*] Auditing support
[*]   Enable system-call auditing support
[*] Support for hot-pluggable devices
[ ] Kernel .config support
[ ] Remove kernel features (for embedded systems)  --->

1)Support pour la SWAP ;)

5)Pour activer certains contrôles du noyau "on the fly" :chinois: file:Documentation/sysctl/

9)permet d'avoir le .config du noyau dans /proc... ça doit l'alourdir (mais ça semble assez pratique)

10)On va pas toucher à ça, on veut pas faire un noyau pour système embarqué...

:mdr: Loadable module support --->

[*] Enable loadable module support
[*]   Module unloading
    [ ]     Forced module unloading (NEW)
[*]   Module versioning support (EXPERIMENTAL)
[*]   Automatic kernel module loading

1)Active le support des modules :byebye:

2)pouvoir enlever des modules (rmmod)

3)forcer à décharger les modules avec rmmod -f ...pas recommandé

4)ça peut être utile... donc tant qu'à faire...

5)utile pour charger automatiquement les dépendances des modules, obligatoire pour hotplug entre autres

;) Processor type and features --->

Subarchitecture Type [PC-compatible]
Processor family [Athlon/Duron/K7] <=====
[ ]Generic x86 support
[*]HPET Timer Support
[*] Symmetric multi-processing support <=====
(2)   Maximum number of CPUs (2-255) <=====
[ ]   SMT (Hyperthreading) scheduler support <=====
[*]Preemptible Kernel
[*]Local APIC support on uniprocessors
[*]IO-APIC support on uniprocessors
[*]Machine Check Exception
    [*]Check for non-fatal errors on AMD Athlon/Duron / Intel Pentium 4
    [ ]Check for P4 thermal throttling interrupt <=====
< >Toshiba Laptop support
< >Dell laptop support
< >/dev/cpu/microcode - Intel IA32 CPU microcode support
< >/dev/cpu/*/msr - Model-specific register support
< >/dev/cpu/*/cpuid - CPU information support
[off] High Memory Support
[ ]Math emulation
[*]MTRR (Memory Type Range Register) support
[ ]Boot from EFI support (EXPERIMENTAL)

2)Changer en fonction du processeur

3)Seulement pour que les distribs qoient largement compatibles

4)Pour activer le timer inclu dans le noyau...

5)Activer le support de plusieurs processeurs

6)Nombre précis de processeurs (chacun en plus du premier ajoute 8Ko au noyau inutilement)

8)A activer voir ICI

18)Activer si plus de 1Go de ram, sinon off pour performances

20)Accélère les bus PCI et AGP

:mdr: Power management options (ACPI, APM) --->

[*] Power Management support
[*]   Software Suspend (EXPERIMENTAL)
[ ]   Suspend-to-Disk Support
    ACPI (Advanced Configuration and Power Interface) Support  --->
    APM (Advanced Power Management) BIOS Support  --->
    CPU Frequency scaling  --->

2)très utile (veille prolongée, a besoin d'un script swsusp (ou d'un patch pour sysvinit :craint: ) )

3)Moins bien que 2) je crois... (à voir)

4)Mettre * les 5 premiers...

5)non, y'a déjà acpi...

6)non, inutile sur les desktops...

EDIT : bon, modifié par rapport aux patches (pour l'instant, mm-sources...)

(ajout notamment du SMT...)

Link to post
Share on other sites
  • 2 weeks later...
Un super site sur la conf du noyau : http://people.via.ecp.fr/~alexis/formation...nfig-noyau.html

Et pour les cartes son compatibles : http://www.alsa-project.org/alsa-doc/

Salut,

Effectivement ce tuto est super sympa, moi qui cherche justement à changer mon noyau....

Mon seul soucis, et que ma distribution Linux est une Suse 9.1 et que ce tuto est avant tout adressé à des utilisateurs de la Debian. D'où ma question, si j'installe l'apt sur ma suse 9.1 (comme le suggère ce lien: http://www.linuxfrench.net/gnu_linux/distr...ticle1449.html)

Est-ce que la procèdure à suivre avec la Suse sera exactement la même qu'avec la Debian?

Link to post
Share on other sites

non je te déconseille de mettre apt sur une SuSE... (enfin moi je trouve ça très bête...)

regarde au-dessus, j'ai marqué comment faire... (4 posts au dessus...)

Le site que j'ai donné est très bien pour les options...

Link to post
Share on other sites

Salut,

Comme je suis sur le point de changer mon noyau, j'aimerai faire un petit récapitulatif de ce qu'il faut faire (histoire de limiter les erreurs de newbie), et par là même poser quelques question complémentaires (qui vous sembleront peut-être "naïves"...mais bon, vu qu'il y-a pas 10 jours, je pensais que Linux c'est uniquement fait pour les mecs qui font de la programmation :sm: ). Donc, je me lance:

1ère étape: Je récupère le noyau 2.6.7 sur kernel.org, je viens de voir que le 2.6.7-mm6 est disponible depuis aujourd'hui (que signifie le -mm6? quels sont les avantages et les inconvénients de cette évolution?).

2ème étape: Une fois que j'ai gravé le noyau, j'installe les sources dans un nouveau répertoire. J'ai bien lu la procédure à suivre telle qu'elle est indiqué en début de sujet, mais dans la mesure où ma source se situe sur cdrom (et donc n'a pas été téléchargé directement sur ma Suse) n'y a t'il pas une commande supplémentaire à effectuer préalablement?

3ème étape: je configure mon nouveau noyau grâce à la commande make menuconfig. Je m'attarde pas sur cette étape, tout ou presque ayant été dit dans ce sujet sur le choix des options.

4ème étape: J'ajoute éventuellement des patchs....Ayant une ATI Radeon 9800 pro, est ce que vous me conseillez de mettre un patch particulier pour cette carte? (sachant que j'ai lu qu'il y avait pas mal de problème pour la prise en compte de l'accélération 3D de cette carte graphique sous Linux)

5ème étape: j'ai vu sur un vieux tuto qu'il fallait rechercher les éventuelles dépendances (grâce à la commande make dep), est-ce que c'est toujours le cas? Nouvelle question "bête": on fait quoi selon qu'on en trouve ou pas? S'il faut les supprimer, quelle est la procédure à suivre?

6ème étape: Si j'ai rien oublié, il ne me restera plus qu'à configurer Grub. Comment faut-il s'y prendre. Après ça, je pense qu'il n'y a plus qu' rebooter le PC pour que le nouveau noyau soit fonctionnel.....

J'oubliais! Finalement, recompiler le noyau, ça veut juste dire choisir les options dont on aura besoin, je me trompe?

Qu'est ce que vous en pensez, j'ai pas trop fait d'erreurs?

Link to post
Share on other sites

>>Salut

Salut !

>>Comme je suis sur le point de changer mon noyau, j'aimerai faire un petit

>>récapitulatif de ce qu'il faut faire (histoire de limiter les erreurs de newbie), et par >>là même poser quelques question complémentaires

Pas de problème, les forums sont fait pour ça! :bravo:

>>(qui vous sembleront peut-être "naïves"...mais bon, vu qu'il y-a pas 10 jours, je

>>pensais que Linux c'est uniquement fait pour les mecs qui font de la

>>programmation :fumer: ).

Non, pas de problème, on commence tous un jour !

>>Donc, je me lance:

>>1ère étape: Je récupère le noyau 2.6.7 sur kernel.org, je viens de voir que le

>>2.6.7-mm6 est disponible depuis aujourd'hui (que signifie le -mm6? quels sont les

>>avantages et les inconvénients de cette évolution?).

Jusque là, pas de problème, c'est exactement ça!

(le -mm représente le fait que c'est un patch de Andrew Morton ... le numéro concerne la révision, en l'occurence des patches contre les failles de sécurité et plein de patchs pour un meilleur support du matériel...)

>>2ème étape: Une fois que j'ai gravé le noyau, j'installe les sources dans un

>>nouveau répertoire.J'ai bien lu la procédure à suivre telle qu'elle est indiqué en

>>début de sujet, mais dans la mesure où ma source se situe sur cdrom (et donc n'a

>>pas été téléchargé directement sur ma Suse) n'y a t'il pas une commande

>>supplémentaire à effectuer préalablement?

C'est possible...

Tu envisage de graver le noyau et le patch sur un CD?

Alors pour accéder au CDrom, tu vas devoir le monter... (si tu connais déjà cette manip, je la rapelle au moins pour ceux qui ne savent pas...)

 (à taper dans une console...)
$ su root (pour passer root)
$ mount /mnt/cdrom (pour dir à linux de lire le cdrom et de le mettre dans /mnt/cdrom, si la distrib' a bien configuré...)
$ ls /mnt/cdrom (pour voir si ça a marché !)
$ cp /mnt/cdrom/* /usr/src (pour tout compier dans /usr/src...)

(ensuite, "cd /usr/src", "tar -xvjf linux-2.6.7.tar.bz2", "cp 2.7.6-mm6.bz2 linux-2.6.7", "rm /usr/src/linux", "ln -s /usr/src/linux-2.6.7 /usr/src/linuc", "cd linux", "cat 2.6.7-mm3.bz2 | bzcat | patch -p1", etc...)

>>3ème étape: je configure mon nouveau noyau grâce à la commande make

>>menuconfig. Je m'attarde pas sur cette étape, tout ou presque ayant été dit dans

>>ce sujet sur le choix des options.

tout n'a pas été dit, je n'ai parlé que de 2 parties, à toi maintenant de parcourir toutes les options, à toi de juger si c'est utile pour ton cas (en utilisant éventuellement la touche "?" ou <HELP>, et à toi de mettre ta carte son, chipse dans le noyau...

>>4ème étape: J'ajoute éventuellement des patchs....Ayant une ATI Radeon 9800

>>pro, est ce que vous me conseillez de mettre un patch particulier pour cette carte?

>>(sachant que j'ai lu qu'il y avait pas mal de problème pour la prise en compte de

>>l'accélération 3D de cette carte graphique sous Linux)

non, là les patches sont déjà appliqués (-mm6), et tu n'a pas besoin d'en mettre d'autre... ta 9800 sera utilisée par le driver de ati.com ... mais pour l'instant ne te préoccupe pas de ça...

>>5ème étape: j'ai vu sur un vieux tuto qu'il fallait rechercher les éventuelles

>>dépendances (grâce à la commande make dep), est-ce que c'est toujours le cas?

>>Nouvelle question "bête": on fait quoi selon qu'on en trouve ou pas? S'il faut les

>>supprimer, quelle est la procédure à suivre?

non, noyaux 2.4 uniquements, fait comme j'ai écrit et ça passera...

($ make mrproper)

($ make menuconfig)

($ make && make modules modules_install)

($ cp arch/i386/boot/bzImage /boot/kernel-2.6.7-mm3)

($ cp System.map /boot/System.map-2.6.7-mm3)

>>6ème étape: Si j'ai rien oublié, il ne me restera plus qu'à configurer Grub.

>>Comment faut-il s'y prendre. Après ça, je pense qu'il n'y a plus qu' rebooter le PC

>>pour que le nouveau noyau soit fonctionnel.....

oui, pour configurer grub, regarde /boot/grub/grub.conf (ou menu.lst), cherche un peu sur le net et tu ne devrait pas à avoir de problèmes... pour lilo, c'est /etc/lilo.conf, et il faut faire "lilo" après (pas pour grub...)

>>J'oubliais! Finalement, recompiler le noyau, ça veut juste dire choisir les options dont on aura besoin, je me trompe?

Non, c'est à peu près ça...

>>Qu'est ce que vous en pensez, j'ai pas trop fait d'erreurs?

Non, c'est parfait, des questions sensées, bien posées... bravo!

EDIT : édité suite à un problème de "QUOTE"

Link to post
Share on other sites

Merci beaucoup d'avoir répondu à mes interrogations :bravo:

Juste une petite précision, la commande pour accéder au cdrom: mount /mnt/cdrom ne fonctionne pas sur ma Suse 9.1. lors de l'install d'un rpm, j'avais du faire (conformément à ton conseil): rpm -i /media/dvd/nom du fichier.rpm. Dans mon cas, je suppose donc que je fais directement cp /media/dvd/* /usr/src (pour le reste je suis la procédure indiquée....).

Au passage le * lors de l'écriture d'une commande, ça sert à éviter de taper le ou les noms de fichiers, c'est ça?

Link to post
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...