柘植です。こんにちは。
良く理解してないんで口をはさむのも何なんですが・・・
knoppix-autocofigから呼ばれるhwsetupのソースを眺めると
hwsetup.c の 488-522行にこんな記述がありました。
---ここから
switch(d->class)
{
case CLASS_MOUSE: /* Choose serial over PS2/USB mouse IF present */
/* For some reason, PS/2 ALWAYS detects a mouse */
if(d->bus==BUS_SERIAL)
{ mouse=0; serialmouse=d; }
else if(d->bus==BUS_USB) /* Need usbdevfs for */
{ mouse=0; usbmouse=d; /* this to work */
load_mod(d->driver,verbose); }
if(!mouse)
writeconfig("/etc/sysconfig/mouse",d,verbose);
link_dev(d,"mouse",mouse++,verbose);
break;
case CLASS_CDROM: if(d->bus==BUS_USB) load_mod(d->driver,verbose);
link_dev(d,"cdrom", cdrom++,verbose); break;
case CLASS_MODEM: if(d->bus==BUS_USB) load_mod(d->driver,verbose);
link_dev(d,"modem", modem++,verbose); break;
case CLASS_SCANNER: if(d->bus==BUS_USB) load_mod(d->driver,verbose);
link_dev(d,"scanner",scanner++,verbose); break;
case CLASS_VIDEO: writeconfig("/etc/sysconfig/xserver",d,verbose);
break;
case CLASS_AUDIO: writeconfig("/etc/sysconfig/sound",d,verbose);
load_mod(d->driver,verbose); break;
case CLASS_NETWORK: writeconfig("/etc/sysconfig/netcard",d,verbose);
load_mod(d->driver,verbose); break;
case CLASS_FLOPPY: writeconfig("/etc/sysconfig/floppy",d,verbose);
load_mod(d->driver,verbose); break;
case CLASS_KEYBOARD:if(d->bus==BUS_USB) load_mod(d->driver,verbose);
break;
case CLASS_CAPTURE: /* Just load the module for these */
case CLASS_OTHER: /* Yet unsupported or "guessed" devices in kudzu. Mod
ule probe may hang here. */
case CLASS_RAID: load_mod(d->driver,verbose); break;
case CLASS_SOCKET: /* yenta_socket or similar is handled by knoppix-auto
config */
default: /* do nothing */ break;
}
---ここまで
このところで、検出したデバイスごとの処理を行なっているようなんですが、
(もしかしたら勘違い?)
'case CLASS_FLOPPY: 'で始まる箇所に'load_mod(d->driver,verbose);'
ってありますけど、これって何か関係あります?
--
Tsuge Akihide
|