发信人: neal()
整理人: hahalee(1999-04-22 02:54:16), 站内信件
|
要在 FreeBSD 下使用 ISA PnP 界片卡,必须 patch 你的 kernel,以下 以 SB32 PnP 为例,简单介绍一下如何驱动 ISA PnP。 (PCI 的卡并不需要如此) 1. 取得 PnP kernel patch (适用於 FreeBSD-2.1.x, 2.2.x) $ cd /tmp $ fetch ftp://freebsd.csie.nctu.edu.tw/pub/jdli/collect/isa_pnp/ \ FreeBSD-pnp.tgz $ tar xvfz FreeBSD-pnp.tgz 2. patch 你的 kernel source $ cd /usr/src/sys (或是 cd /sys) $ patch -p0 < /tmp/FreeBSD-pnp/kernel.patch.2.2-current (如果是 FreeBSD-2.1.x 请用 kernel.patch.2.1.5) 3. 编译 pnpinfo 指令,并取得 ISA PnP 装置资讯 $ cd /tmp/FreeBSD-pnp/pnpinfo $ make $ ./pnpinfo > output 4. 修改 /sys/i386/isa/pnp.c 这是最麻烦的一个步骤,你必须手动修改 /sys/i386/isa/pnp.c,依照 output 的内容,加入适当的 ISA PnP 装置定义,你可以从 /tmp/FreeBSD-pnp/sample/ 找到一些□例,一样画葫芦把你的 ISA PnP 装置定义加到 /sys/i386/isa/pnp.c 的 cinfo[] (约在 line 50) 中。 你必须特别注意 pnpinfo output 中的『Board Serial Number』 『IRQ』 『DMA』『I/O Range』等定义。 5. 在 kernel config file 中加入『controller pnp0』 6. 在 kernel config file 中加入该装置的驱动程式,例如: a) NE2000 相容卡需要: device ed0 b) SB16/32 PnP 需要 controller snd0 device sb0 at isa? port 0x220 irq 5 conflicts drq 1 vector sbintr device sbxvi0 at isa? drq 5 device sbmidi0 at isa? port 0x330 device opl0 at isa? port 0x388 device awe0 at isa? port 0x620 7. 重新编译 kernel。如果是音效卡,请在 /dev 下执行 ./MAKEDEV snd0 以建立 sound device。 PS. 如果你有在利用 CTM/CVSup 不断更新您的系统,你最好另外 copy 一份 /usr/src/sys 到 /tmp/ 下,然後将 kernel patch 到 /tmp/ 下的那一份,以免影响你原来的 /usr/src/sys。
-- ※ 来源:.网易 BBS bbs.netease.com.[FROM: dmx320.resnet.ust.hk]
|
|