时间,你应该要知道这点。 在你没有音效卡时才考虑此功能。
注意: 你还可以阅读 /usr/src/sys/i386/isa/sound/sound.doc。
此外,你还必须建立相关的 device nodes 给音效卡使用。
_________________________________________________________________
5.3.10. 虚拟装置 (Pseudo-devices)
虚拟装置提供一些特殊的支援,但它们并不是真正的硬体介面。 有一部份的
网路相关的 虚拟装置并不在下列说明中。
pseudo-device gzip
gzip 让你可以执行被 gzip 压缩的 FreeBSD 程式,由於 /stand
中的程式都是被压缩过的, 因此奶J此功能是个好主意。
pseudo-device log
log 提供系统记录 (system log) 的功能, 这是必须的。
pseudo-device pty number
pty 代表 ``虚拟终端机 (pseudo-terminal)'' 或上线人数的多少。
许多程式如 telnet、rlogin、xtermx 和 emacs
等都会使用它。GENERIC kernel 内定只有 16 的 ttys,
你可能会想要将它提高到 32 或 64 以上。
pseudo-device snp number
监看装置 (Snoop device)。提供你监看其他 tty 的资讯 (使用
watch(8) 命令),这牵涉到系统安全以及
使用者隐私权的问题,是可有可无的功能。
pseudo-device vn
Vnode 驱动程式。允许将一个档案利用 vnconfig(8) 当成一个
partition 来使用。通常拿来建立 floppy disk image 或充当 swap
装置 (如跟 MS Windows 共享 swap file),是可有可无的功能。
_________________________________________________________________
5.3.11. 摇杆、PC 喇叭及其他杂七杂八的
本章及讨论 FreeBSD 支援的其他杂七杂八的装置, 这些都是 GENERIC kernel
所没有的功能。 你可能会想参照 LINT 设定档的内容。
device joy0 at isa? port ``IO_GAME''
PC 摇杆的支援。
pseudo-device speaker
支援 IBM BASIC 格式的 PC 喇叭音效。 有些有趣的程式 (如
/usr/sbin/splrtest、/usr/games/piano) 会使用到它。
有关 PC 喇叭的的数位音效请参阅 pca0 。
_________________________________________________________________
5.4. 建立 device nodes
几乎所有 kernel 支援的装置,都有一个在 /dev 下的 ``node''
来相对应。这些 nodes 看起来像是一般的档案,
但是实际上应用程式可以透过这些 nodes 来存取 kernel 的资料。 你可以用
shell script /dev/MAKEDEV 来帮助你建立 nodes。
虽然在安装过程中已经帮你建立一些必备的 nodes,
是你一定会想再新增你所需要的
nodes,尤其是增s功能或安装新硬体的时候。 假A想新增一台 IDE
CD-ROM,你必须在 kernel 设定档中奶J相关的钏w,如G
controller wcd0
这表示你必须看看在 /dev 下有没有 wcd0 的 nodes。 比方说是
wcd0c、rwcd0c 等等。 假设没有这些 nodes,你必须建立它们:
# cd /dev; sh MAKEDEV wcd0
当这个 script 执行完毕时,你应该会看到 wcd0c 或 rwcd0c 等 nodes。
又例如新增音效卡的 nodes:
# cd /dev; sh MAKEDEV snd0
这样将会建立音效卡所需的 nodes。
_________________________________________________________________
5.5. 发生问题的解决方法
再建立自订 kernel 时,有四种问题可能发生:
Config 发生错误
如果 config 抱怨这个错误时,你的 kernel 设定档可能有错误,
config 会指出哪些行错了,请重新检查那些行。 比方说你看到:
config: line 17: syntax error
表示你的 kernel 设定档的 17 行有错误,请用编辑器修正。
Make 失败
如果执行 make 时发生错误,有可能是你的 kernel 设定档有错误,
但是 config 程式并没有检查出来,请再检查 kernel
设定档是否有错误, 或是缺少该有的参数。 如果在编译过程中发生
"compiler internal error" 或 "signal 11" 等等,
可能你的硬体设备不是很稳定。
Kernel 无法开机
如果你的新 kernel 无法开机,或是无法侦测到你新左熊w体装置,
你可以在开机时,键入其他 kernel 的名称 (如 boot: /kernel.old),
如果连其他 kernel 都无法开机,你可以试试 kernel.GENERIC。
在用旧的 kernel 开机後,检查你的 kernel 钏w档是否有误,
修改後再重新编译一个新的 kernel。 你可以参考 /var/log/messages
中的开机记录,或是执行 dmesg(8)。
注意: 在 FreeBSD 中有另一种 file flag 来保护重要档案,
如果你无法移动或删除 /kernel,你可以执行:
# chflags noschg /kernel
如果你想保护 /kernel 避免人为疏失破坏它,请执行:
# chflags schg /kernel
Kernel 可以开机,但 ps 或是 w 发生错误
如果你更新 kernel 原始程式 (如从 2.1.0-RELEASE 升级到
2.2-CURRENT),你必须一更新 (或重新编译) 一些重要的档案, 如
ps(1)、vmstat(8)或是libkvm。
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!




