OVH Cloud OVH Cloud

Kernel : dev fs -kernel panic

4 réponses
Avatar
patrice
Bonjour
je bute souvent sur les pbs de compil de kernel et je passe trop de
temps a debugger car je fais souvent des erreurs lié à mon manque de
comprehension ... ou manque de logique...
Qui peut m'eclaircir sur les point point suivant :
-difference entre mettre en dur ou en modules
pour moi en modules, c'est charger et decharger en memoire en fonction
de l'utilsation (ex clé usb) mais un file system , un disque dur : c'est
en dur ou en modules?
- souvent je vois des modules qui sont mal charger , mais je ne sais
pas ou trouver la correspondance entre le nom du modules (sd_mod,
ata_piix, devfs...)
et si je veux les activer dans le noyau, je suis perdu car je ne les
trouve pas ds mon .config et dans le make menuconfig.... je ne sais pas
dans quelle section ni ou quelle option de la sous rubrique a cocher...
- le role de initrd ?
mkinitrd -d /etc/initrd -o /boot/init.img.version version_du_modules

- a quoi sert devfs et ou l'activer ds le noyau ? idem pour VFS ? j ai
souvent des kerneel panic a cause d'eux...grrr
Merci de vos ecaircissements

4 réponses

Avatar
Clorish
Le Tue, 19 Sep 2006 10:22:30 +0200, patrice a écrit:

Bonjour
je bute souvent sur les pbs de compil de kernel et je passe trop de
temps a debugger car je fais souvent des erreurs lié à mon manque de
comprehension ... ou manque de logique...
Qui peut m'eclaircir sur les point point suivant :
-difference entre mettre en dur ou en modules
pour moi en modules, c'est charger et decharger en memoire en fonction
de l'utilsation (ex clé usb) mais un file system , un disque dur : c'est
en dur ou en modules?


Je ne saurais repondre qu'a ce point mais c'est deja ca :)
Un module est un bout de code permettant de gerer tel ou tel materiel (ou
autre).
Le mettre en tant que module, sous entent qu'il est a part des binaires du
kernel, et il est chargé dynamiquement au demarrage. L'avantage c'est que
l'on peux le desactiver ou l'activer sans necessiter uen recompilation du
noyeau. Ideal pour gerer certains materiels dont l'utilisation est peu
frequente, ou qui sont amené a changer souvent, voir juste pour tester.

Le compiler en dur, inclu le code du module dans les binaires du kernel.
Sont avantage est qu'il est chargé beaucoup plus rapidement qu'en tant que
module. Par contre, le supprimer sous entent recompiler le noyeau .. pour
en extraire le code de ce module.
C'est une option ideale, pour les materiels peut souvent changés, ou dont
on est sur du module.

Pour ton cas, je dirais que le HDD serais a mettre en dur, vu que a priori
tu ne change pas de HDD tous les jours :)

- souvent je vois des modules qui sont mal charger , mais je ne sais
pas ou trouver la correspondance entre le nom du modules (sd_mod,
ata_piix, devfs...)
et si je veux les activer dans le noyau, je suis perdu car je ne les
trouve pas ds mon .config et dans le make menuconfig.... je ne sais pas
dans quelle section ni ou quelle option de la sous rubrique a cocher...
- le role de initrd ?
mkinitrd -d /etc/initrd -o /boot/init.img.version version_du_modules

- a quoi sert devfs et ou l'activer ds le noyau ? idem pour VFS ? j ai
souvent des kerneel panic a cause d'eux...grrr
Merci de vos ecaircissements




--
Utilisant M2, le client e-mail révolutionnaire d'Opera :
http://www.opera.com/

Avatar
BROTO Laurent
Bonjour
je bute souvent sur les pbs de compil de kernel et je passe trop de
temps a debugger car je fais souvent des erreurs lié à mon manque de
comprehension ... ou manque de logique...
Qui peut m'eclaircir sur les point point suivant :
-difference entre mettre en dur ou en modules
pour moi en modules, c'est charger et decharger en memoire en fonction
de l'utilsation (ex clé usb) mais un file system , un disque dur : c'est
en dur ou en modules?


En dur: compilé dans le noyau. En module: édition de lien dynamique lors
d'un appel à insmod (ou modprobe).

- souvent je vois des modules qui sont mal charger , mais je ne sais
pas ou trouver la correspondance entre le nom du modules (sd_mod,
ata_piix, devfs...)


Je n'ai pas compris la question. Cependant, si ton modules s'appelle
sd_mod, tu le trouvera dans /lib/modules/`uname -r`/ à l'aide d'un find
du genre:
$ find /lib/modules/`uname -r`/ -name "sd_mod*" -print (
/lib/modules/2.6.17-2-686/kernel/drivers/scsi/sd_mod.ko
) chez moi.

et si je veux les activer dans le noyau, je suis perdu car je ne les
trouve pas ds mon .config et dans le make menuconfig.... je ne sais pas
dans quelle section ni ou quelle option de la sous rubrique a cocher...


Normal, dans le make menuconfig, tu ne trouves pas le nom des modules en
clair, mais leur description (genre: Système de fichier ext3).

- le role de initrd ?
mkinitrd -d /etc/initrd -o /boot/init.img.version version_du_modules



L'initrd est un disque virtuel qui permet de charger les modules
obligatoires au démarrage du système.
Exemple: tu met ext3 en module, tu ne pourras pas monter / tant que tu
n'auras pas charger le module ext3. Oui mais voilà, le module ext3 est
dans /lib/modules... Tu mettras donc dans ton initrd le module ext3.
Ce disque est aussi hyper utilisé dans toutes les live version, il
permet, entre autre, de retrouver les lecteurs de CD.
Pour voir ce qu'il y a dessus, tu peux le monter en boucle (mount -o
loop). N'oublie pas de le décompresser avant. Les choses interessantes
sont dans linuxrc.

- a quoi sert devfs et ou l'activer ds le noyau ? idem pour VFS ? j ai
souvent des kerneel panic a cause d'eux...grrr


devfs est un système de fichier virtuel pour des devices. Aujourd'hui,
on utilisera plutôt udev, udev avec lequel j'ai qq problèmes. Je ne
connais pas VFS par contre.

--
Laurent

Avatar
Kevin Denis
Le 19-09-2006, BROTO Laurent a écrit :
- a quoi sert devfs et ou l'activer ds le noyau ? idem pour VFS ? j ai
souvent des kerneel panic a cause d'eux...grrr


devfs est un système de fichier virtuel pour des devices. Aujourd'hui,
on utilisera plutôt udev, udev avec lequel j'ai qq problèmes. Je ne
connais pas VFS par contre.

VFS: file system virtuel. En gros, c'est une couche intermediaire entre

le filesystem et le noyau.
Le noyau est sur de parler au VFS, et le module fait l'interface avec le
filesystem.
C'est pour cela que des droits s'affichent meme sur des fichiers qui
n'en ont pas: exemple sur des peripheriques en FAT32, on voit un user,
un group, des droits de lecture, etc.. alors qu'ils n'existent pas.
C'est VFS qui s'occupe de ca.


Avatar
pat
Merci a tous pour vos reponses...mais j ai toujours du mal a trouver le
lien dans le menu config et les options et les modules.
ex : comment avoir le sd_mod activé? devfs mounté?
Merci

- a quoi sert devfs et ou l'activer ds le noyau ? idem pour VFS ? j ai
souvent des kerneel panic a cause d'eux...grrr
devfs est un système de fichier virtuel pour des devices. Aujourd'hui,

on utilisera plutôt udev, udev avec lequel j'ai qq problèmes. Je ne
connais pas VFS par contre.

VFS: file system virtuel. En gros, c'est une couche intermediaire entre

le filesystem et le noyau.
Le noyau est sur de parler au VFS, et le module fait l'interface avec le
filesystem.
C'est pour cela que des droits s'affichent meme sur des fichiers qui
n'en ont pas: exemple sur des peripheriques en FAT32, on voit un user,
un group, des droits de lecture, etc.. alors qu'ils n'existent pas.
C'est VFS qui s'occupe de ca.