[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: insmod: /lib/modules/2.2.17/block/xd.o: init_module: Device or resource busy



Le 28/11/2000 a 11h41, Georges Mariano a dit:

> insmod: /lib/modules/2.2.17/block/xd.o: init_module: Device or resource busy
> insmod: /lib/modules/2.2.17/block/xd.o: insmod block-major-13 failed

block-major-13 = le périphérique de type block avec un major égal à 13.
Autrement dit, si tu fais un "ls -l /dev" tu trouveras le coupable :
brw-rw----    1 root     disk      13,   0 Jul  5 17:43 xda
brw-rw----    1 root     disk      13,   1 Jul  5 17:43 xda1
brw-rw----    1 root     disk      13,   2 Jul  5 17:43 xda2
brw-rw----    1 root     disk      13,   3 Jul  5 17:43 xda3
(...)

Tu as un prog quelque part qui doit faire un appel système quelconque sur 
un de ces fichiers. Le noyau cherche donc à savoir qui est responsable (le
driver) des périph de major 13. Il ne trouve personne, il va alors demander
à kmod ou kerneld de chercher le module.

modprobe est lancé : s'il ne trouve pas le module correspondant, boum, il
abandonne, et c'est fini.

Dans ton cas c'est autre chose : modprobe trouve le module, mais ce module
ne veut pas se charger (Device or resource busy). Savoir pourquoi est une
autre histoire.

> le hic, c'est que j'ai jamais rien demandé explicitement (en install) 
> ayant un rapport avec ce module (c'est à peine si je sais à quoi il
> sert...)

XT hard disk support
CONFIG_BLK_DEV_XD
  Very old 8 bit hard disk controllers used in the IBM XT computer
  will be supported if you say Y here. 

> Question générique (digne de la FAQ)
> comment régler les problèmes de la forme :
> modprobe: modprobe: Can't locate module block-major-8/char-major-5/etc

Pour trouver le périphérique incriminé, il faut chercher dans /dev le
fichier qui a le type indique (block=b, char=c) et le major donné (8 ou
5 avec les exemples ci-dessus). Je ne sais pas si find ou ls sait le
faire automatiquement, sinon un petit :
	
	/bin/ls -l /dev | grep "^b.* 8,"

te donnera la liste des noms des fichiers de type "block-major-8" (disques
SCSI en l'occurence).

Ensuite, deux cas :

1) Si cet alias correspond un fichier /dev (donc à un périphérique) que tu
désire utiliser, alors il faut indiquer à modprobe quel module charger. Pour
cela, utiliser la technique des alias dans /etc/modules.conf. Exemple :
alias char-major-81     bttv
alias char-major-108    ppp_generic
[Note: sur debian, ne pas toucher à modules.conf mais modifier
/etc/modutils/aliases et lancer "/sbin/update-modules"]

2) Si cet alias correspond à un périph dont tu te fous comme de l'an 2000,
dans ce cas même technique (alias) mais avec le mot-clef off. Exemples :
alias net-pf-4 off	# IPX
alias net-pf-10 off 	# IPv6


a+
-- 
Thomas NOEL <thomas.noel@auf-francophonie.org> 
Systèmes et Réseaux du Campus numérique francophone de Dakar
Bureau Afrique de l'Ouest / Agence Universitaire de la Francophonie 
BP 10017, Dakar - Liberté, Sénégal. Tél : (221) 824 29 27 (poste 107)



Reply to: