On Mon, 8 Jan 2001, Marc Mongenet wrote:
> Attached devices:
> Host: scsi0 Channel: 00 Id: 00 Lun: 00
> Vendor: QUANTUM Model: XP34550S Rev: LXY4
> Type: Direct-Access ANSI SCSI revision: 02
> Host: scsi0 Channel: 00 Id: 01 Lun: 00
> Vendor: SEAGATE Model: ST51080N Rev: 0943
> Type: Direct-Access ANSI SCSI revision: 02
> Host: scsi0 Channel: 00 Id: 02 Lun: 00
> Vendor: PIONEER Model: CD-ROM DR-U24X Rev: 1.01
> Type: CD-ROM ANSI SCSI revision: 02
> Host: scsi0 Channel: 00 Id: 05 Lun: 00
> Vendor: IOMEGA Model: ZIP 100 Rev: J.02
> Type: Direct-Access ANSI SCSI revision: 02
>
> > et dmesg, il voit les périphériques disque ?
> Oui, c'est après qu'il y a un problème, pour lire les disques.
> Qu'est-ce qui manque au noyau pour que je reçoive une telle erreur ?
> ll_rw_block: Trying to read nonexistent block-device 08:00 (0)
Je ne sais pas trop. Mais une chose: je n'ai jamais utilisé un (b)zImage
avec SCSI_SUPPORT=no avec des modules SCSI_SUPPORT=m. Ca m'apprendra à
magouiller :)
C'est peut-être le gag: je vais donc te créer une image correcte cette
fois :)
> sda:<3>ll_rw_block: Trying to read nonexistent block-device 08:00 (0)
dev = NULL;
if ((major = MAJOR(bh[0]->b_dev)) < MAX_BLKDEV)
dev = blk_dev + major;
if (!dev || !dev->request_fn) {
printk(KERN_ERR
"ll_rw_block: Trying to read nonexistent block-device %s (%ld)\n",
kdevname(bh[0]->b_dev), bh[0]->b_blocknr);
goto sorry;
donc le message sera affiché s'il n'y a pas de fonctions d'exécution de
requêtes IO ou si MAX_BLKDEV est dépassé par le major du device, ce qui
n'est pas le cas (fixé à 255 dans /usr/src/linux/include/linux/major.h).
Donc
/* blk_dev_struct is:
* *request_fn
* *current_request
*/
struct blk_dev_struct blk_dev[MAX_BLKDEV]; /* initialized by blk_dev_init() */
Donc allons voir blk_dev_init():
commence par zéroer tout ça
ensuite pour tous les types de périphériques définis,
la fonction spécifique est appelée. P.ex. pour
SCSI, c'est via la fonction genhd_init() (fallait le
savoir :)), donc scsi_dev_init(), seulement appelé
si CONFIG_SCSI est mis (donc SCSI_SUPPORT=yes ou
SCSI_SUPPORT=m).
S'il y a un spécialiste dans la salle qu'il me corrige.
--
http://www-internal.alphanet.ch/linux-leman/ avant de poser
une question.