kerneld mini-HOWTO( 六 )





要载入超过一个模组时:“post-install”项目
有时,只把模组载入不足以使设备运作 。例如,如果你把音效卡编译为模组,你也会希望调整至适当音量 。问题题你的设定在下次载入时便会失去 。这里是由 Ben Galliart (bgallia@luc.edu) 提供的秘诀:

最终的解决方法需要安装 setmix-0.1
 ( ftp://sunsite.unc.edu/pub/Linux/apps/sound/mixers/setmix-0.1.tar.gz )

之後把以下一行加到我的 /etc/conf.modules:
 post-install sound /usr/local/bin/setmix -f /etc/volume.conf

这样,当音效的模组载入後,kerneld 会执行 "post-install sound" 项目的指令 。因此该模组会被 "/usr/local/bin/setmix -f /etc/volume.conf 指令设定好 。

这方法对其他模组也有用,例如 lp 模组可籍以下一句用 tunelp 程式设定好:

post-install lp tunelp

只有 1.3.69f 版或之後的 kerneld 才支援这些选项 。

注意: :此 mini-HOWTO 的较旧版本曾提及一个 "pre-remove" 选项,让你可在 kerneld 卸下一个模组时执行一个指令 。但这从未成功,因此并不鼓励使用 。这个选项多数会在未来版本的 kerneld 中消失 。所有有关模组 "设定" 的事情都在改变中,在你看到这文件时,可能已有所不同了 。



--------------------------------------------------------------------------------


侦察 kerneld
如果你什麽方法都已试过,但仍找不出核心在要在 kerneld 做什麽,你可用一个方法找出 kerneld 收到什麽要求,从而知道该加什麽到 /etc/conf.modules 。你需要 kdstat 程式 。

这个好用的程式已包括在 modules-package 中,但预定是不会编译及安装的 。你可用以下方法建立它:

cd /usr/src/modules-2.0.0/kerneld
make kdstat

之後,要使 kerneld 显示它正在做什麽,执行

kdstat debug

kerneld 便会开始在主控台印出其工作的资料 。当你执行所需的指令时,你会见到 kerneld 收到的要求 。这些要求可放到 /etc/conf.modules 中,加上所需模组的别名 (alias),便可使工作完成 。

要停止除错时,执行 "/sbin/kdstat nodebug" 。



--------------------------------------------------------------------------------


kerneld 的特殊用途
我知道你想问如何设定萤幕保护程式 (screensaver) 的模组…

modules-package 的 "kerneld/GOODIES" 目录中有一些和萤幕保护程式及主控台哔声支援有关的核心修补 (kernel patches) 。它们尚未在官方的核心出现 。所以你要自行修正及重新编译核心 。

要安装修补,你要用 "patch" 指令:

cd /usr/src/linux
patch -s -p1

推荐阅读