Linux カーネルソースコードの大部分は、デバイスドライバのものである。 Linux デバイスドライバのソースのすべては、drivers にあるが、その ディレクトリはデバイスタイプによってさらに分岐している。

/block
IDE( ide.c) などのブロックデバイスドライバ。ファイルシステムを置くことができる すべてのデバイスがどのように初期化されるのかを見たい場合は、 drivers/block/genhd.c にある device_setup() を見るべき である。 それは、ハードディスクの初期化だけでなく、NFS ファイルシステムをマウントする ためにネットワークを必要とする際にはネットワークデバイスをも初期化する。 ブロックデバイスには、IDE ベースと SCSI ベースの両方のデバイスが含まれる。

/char
ここは、tty やシリアルポート、マウスなどのキャラクタベースのデバイスを 探すときに見る場所である。

/cdrom
Linux 上のすべての CD-ROM のコード。特定の CD-ROM デバイス(たとえば、 Soundblaster CD-ROM)がここに置かれている。IDE CD ドライバは drivers/block の ide-cd.c にあり、SCSI CD ドライバは drivers/scsi の scsi.c にあるので、注意すること。

/pci
ここには、PCI 仮想ドライバのためのソースがある。PCI サブシステムがマップされ 初期化される方法を見るのに適した場所である。 arch/alpha/kernel/bios32.c にある Alpha AXP PCI 修正(fixup)コード も見るに値するだろう。

/scsi
ここは、SCSI コードのすべてがある場所であり、Linux でサポートされている SCSI デバイスのすべてのドライバが置かれている場所である。

/net
ここは、DEC Chip 21040 PCI イーサネットドライバ( tulip.c)といったネットワークデバイスドライバが見つかる場所である。

/sound
ここは、すべてのサウンドカードドライバがある場所である。

前へ 次へ