📄 kerneld.txt
字号:
在核心想重绘萤幕时,它会送出一个 SIGQUIT 讯号到正执行 /sbin/screenblanker 的行程 (process)。你的命令稿或萤幕保护程式要捕捉 (trap) 这讯号及结□。记著之後还要把萤幕还原到原本的文字模式 (text mode)。 _________________________________________________________________ 常见问题及你可能怀疑的事情 为何当我执行 ifconfig 时为何我会得到 "Cannot locate module for net-pf-X" 讯息 在核心 1.3.80 左右,网络的程式修改至容许把通诉协定 (protocol families, 如 IPX, AX.25 和 AppleTalk) 载入为模组。这导致额外的 kerneld 要求 :net-pf-X,X 是一个用以辨别通讯协定的数字(参看 /usr/src/linux/include/linux/socket.h 来找出不同数字的意思)。 不幸地,ifconfig 会意外地造成这些讯息,所以很多人会在开机期间执行 ifconfig 来设定回归设备 (loopback device) 时收到。这些讯息并无坏处,你 可在 /etc/conf.modules 中加入以下数行来避免它们: alias net-pf-3 off # Forget AX.25 alias net-pf-4 off # Forget IPX alias net-pf-5 off # Forget AppleTalk 当然,如果你把 IPX 编译了为模组,你不可加上和它有关的一行。 开始 Kerneld 後,启动 PPP 连线会使我的电脑慢如蜗牛 已经有多个这类个案。这似乎是因为 kerneld 和部分系统用来设定和监察 PPP 连线的 tkPPP script 不正常地互相影向所致。因为那 script 在执行 ifconfig 时好像用到回圈 (loops)。这样会触发 kerneld 找寻 net-pf-X 模组 (见前),增加系统工作量和可能导致系统纪录 (system log) 中出现大量 "Cannot locate module for net-pf-X" 讯息。除了不使用 tkPPP 或改用其他方 法来监察连线,这问题未有其他解决方法。 kerneld 不载入我的 SCSI 驱动程式! 在你的 /etc/conf.modules 中加上一个 SCSI 配接器的项目。详情这看之前有关 [35]scsi_hostadapter 的部分。 modprobe 投诉 'gcc2_compiled' 未定义 (undefined) 这是 module-utilities 的一个错误。它只在使用 binutils 2.6.0.9 或更新版 本时出现,而且已在 binutils 的出版说明 (release note) 中说明。所以你应 该看看它。你也可更新 module-utilities,如 modules-2.0.0 来解决这问题。 我的音响驱动程式 (sound driver) 老是忘记音量之类设定 模组载入後的设定是储存在模组之内的。所以,当 kerneld 自动卸下模组时,你 所做的设定都会被忘掉,下次载入时又回复原状。 你可使 kerneld 在自动载入模组後执行一个程式,以作出设定。请参看[36]以上 有关 'post-install' 项目的部分。 DOSEMU 需要一些模组,我怎样使 kerneld 载入它们? 你不能。不论是官方 (official) 或开发 (development) 版的 dosemu,都不支 援用 kerneld 载入 dosemu 模组。不过,如果你有 2.0.26 或更新的核心,你不 再需要那些 dosemu 模组 -- 你只需要更新 dosemu 至 0.66.1 版。(译按∶目 前最新的 DOSEMU 稳定版本 (stable version) 是 0.66.7。) 为何会有 "Ouch, kerneld timed out, message failed" 这讯息? 当核心对 kerneld 作出要求时,它会期望在 1 秒之内得到应答 (acknowledgement)。如果 kerneld 不作出回应,这个讯息会被记录下来 (logged)。这要求会再被提出,直到完成为止。 这通常在系统负荷 (load) 非常高时发生。因为 kerneld 也是一个使用者行程 (user-process),它会如其他程序般排程 (scheduling)。负荷高时,它可能来不 及在核心超时 (time out) 前作出回应。 如果这问题在负荷低时也发生,请再启动 kerneld (杀掉 kerneld 行程,以 /usr/sbin/kerneld指令来重新开始它)。如果仍有问题,你应该寄一份错误报告 给[37]linux-kernel@vger.rutgers.edu,但在寄出前请先确保你的核心和 kerneld 都是最新的。 mount 不等待 kerneld 载入档案系统模组 已经收到一定数目有关 mount (8) 指令不等待 kerneld 载入档案系统模组的报 告。 ismod 显示模组已被载入,如果你立刻再执行 mount 的话便会成功。这似 乎是 module-utilities 1.3.69f 版中一个会影响 Debian 使用者的错误,使用 一个新版的 module-utilities 可解决这问题。 kerneld 不能载入 ncpfs 模组 你编译 ncpfs utilities 时要用 -DHAVE_KERNELD。请参阅 ncpfs 的 Makefile 。 kerneld 不能载入 smbfs 模组 你在使用一个旧的 smbmount utilities。请从 [38]ftp://tsx-11.mit.edu/pub/linux/filesystems/smbfs/ 下载最新版本 (0.10 或之後)。 我把所有东西都编译成模组,现在我的系统不能启动 kerneld 不能载入根档案系统 (root filesystem) 模组。 你不可把所有东西都编译成模组∶核心要有足够的驱动程式以使它能挂上 (mount) 根档案系统,和执行所有要用於启动 kerneld 的程式。所以你不能把以 下东西模组化∶ * 根档案系统所在的硬碟的驱动程式 * 根档案系统的驱动程式 * init, kerneld和其他程式的二元格式载入程式 (binary format loader) [事实上,这并不正确。新的 1.3.x 及所有 2.0.x 核心都容许 LILO 或 LOADLIN 载入初始的 ram-disk,而你可以在启动的早期在这『磁碟』中载入模组 。做法可在核心原程式码中的 Documentation/initrd.txt 档中可找到。] kerneld 不能在启动时载入 -- 投诉 libgdbm 较新版的 kerneld 要 GNU dbm 程式库 libgdbm.so 才能执行。大多数的安装程 式都会把这档案放在 /usr/lib,而你多数是在挂上 /usr 档案系统前执行了 kerneld。这问题的其中一个症状是 kerneld 在启动时不能籍 rc-scripts 载入 ,但如果你在启动系统後自己开始它,它便没有问题。解决方法,一是把 kerneld 的启动放在挂上 /usr 後,另一是把 gdbm 程式库放到你的根档案系统 ,如 /lib。 我重新设定核心至没有 xxx 支援後出现 "Cannot load module xxx" Slackware(其他也可能)会在安装时籍执行 modprobe 来建立一个预设的 /etc/rc.d/rc.modules。modprode 得出来的结果会因原本的核心的设定而异。你 可能在重新设定时排除了一些在 rc.modules 的模组,因此造成错误。你可把你 在 rc.modules 中不用的模组变为注释 (comment out),或删除 rc.modules,让 kerneld 在需要模组时自行载入。 我重新建立了核心及模组,但在启动时仍出现未分辨的符号 (unresolved symbol) 讯息 你可能在设定或建立新核心时排除了一些模组,但已不用的旧模组仍在 /lib/modules 目录下。最简单的解决方法是删除你的 /lib/modules/x.y.z 目录 及在核心的源程式码的目录下做一次 'make modules_install'。这问题只在重新 设定同一版本的核心时发生。如果你在更新核心时遇到此问题,你有其他问题。 我安装了 Linux 2.1 後不能载入任何模组 Linux 2.1 是目前的开发核心 (development kernel)。也就是说,它随时可能出 现错误。其中一样大幅改变的是模组的处理方法,及核心和模组载入到什麽地方 。Richard Henderson 现正负责核心的模组发展。 总结一句,如果你想在 2.1 版核心使用模组,你要∶ * 阅读 Documentation/Changes 档案及找出更新你的系统所需的模组 * 使用最新的 modutils,可从以下地方得 到[39]ftp://ftp.redhat.com/pub/alphabits/ 或 在[40]ftp://tsx-11.mit.edu/pub/linux/packages/alphabits/ 的映像站 (mirror site) 如果你想在 2.1 版核心使用模组的话,我会建议最少使用 2.1.29 版的核心。 自选拨号 (dial-on-demand) 网络又怎样? kerneld 对有需要时建立网络连线原本有些支援。尝试在没有连线时传送讯息包 (packet) 会使 kerneld 执行 /sbin/request_route 命令稿来建立 PPP 或 SLIP 连线。 这并不是一个好方法。Linux 网络发展人员 Alan Cox 在 Linux 核心的通信论坛 (Mailing List) 中批评∶ 路径要求 (request-route) 的东西是过时、不对及无用的 [...],它已在 2.1.x 的源程式码中消失。 我诚心建议你从 http://www.dna.lth.se/~erics/diald.html 取 Eric Schenk 的 [41]diald 套装软件来安装,而不要使用路径要求及 kerneld。 _________________________________________________________________ 版权讯息 This document is Copyright (c) Henrik Storner, 1996, 1997. Unless otherwise stated, Linux HOWTO documents are copyrighted by their respective authors. Linux HOWTO documents may be reproduced and distributed in whole or in part, in any medium physical or electronic, as long as this copyright notice is retained on all copies. Commercial redistribution is allowed and encouraged; however, the author would like to be notified of any such distributions. All translations, derivative works, or aggregate works incorporating any Linux HOWTO documents must be covered under this copyright notice. That is, you may not produce a derivative work from a HOWTO and impose additional restrictions on its distribution. Exceptions to these rules may be granted under certain conditions; please contact the Linux HOWTO coordinator at the address given below. In short, we wish to promote dissemination of this information through as many channels as possible. However, we do wish to retain copyright on the HOWTO documents, and would like to be notified of any plans to redistribute the HOWTOs. If you have questions, please contact Tim Bynum, the Linux HOWTO coordinator, at linux-howto@sunsite.unc.edu via email.References 1. mailto:storner@osiris.ping.dk 2. mailto:a9504480@graduate.hku.hk 3. file://localhost/home/ftp/pub/CLDP/howto-translations/mini/Kerneld.html#Introduction 4. file://localhost/home/ftp/pub/CLDP/howto-translations/mini/Kerneld.html#Why 5. file://localhost/home/ftp/pub/CLDP/howto-translations/mini/Kerneld.html#Where 6. file://localhost/home/ftp/pub/CLDP/howto-translations/mini/Kerneld.html#Setup 7. file://localhost/home/ftp/pub/CLDP/howto-translations/mini/Kerneld.html#Configuration 8. file://localhost/home/ftp/pub/CLDP/howto-translations/mini/Kerneld.html#Spying 9. file://localhost/home/ftp/pub/CLDP/howto-translations/mini/Kerneld.html#Goodies 10. file://localhost/home/ftp/pub/CLDP/howto-translations/mini/Kerneld.html#CommonProblems 11. file://localhost/home/ftp/pub/CLDP/howto-translations/mini/kerneld-mini-HOWTO.html 12. http://www.linux.org.tw/CLDP/mini/Kerneld.html 13. file://localhost/home/ftp/pub/CLDP/howto-translations/mini/kern.html 14. mailto:bj0rn@blox.se 15. ftp://sunsite.unc.edu/pub/Linux/kernel/v2.0 16. ftp://tsx-11.mit.edu/pub/linux/sources/system/v2.0 17. ftp://ftp.funet.fi/pub/OS/Linux/PEOPLE/Linus/v2.0 18. ftp://sunsite.unc.edu/pub/Linux/kernel/modules-2.0.0.tar.gz 19. ftp://tsx-11.mit.edu/pub/linux/sources/sbin/ 20. ftp://ftp.funet.fi/pub/OS/Linux/tools/ 21. file://localhost/home/ftp/pub/CLDP/howto-translations/mini/Kerneld.html#2-1-problems 22. http://sunsite.unc.edu/mdw/HOWTO/Kernel-HOWTO.html 23. http://www.linux.org.tw/CLDP/Kernel-HOWTO.html 24. file://localhost/home/ftp/pub/CLDP/howto-translations/mini/Kerneld.html#blockdev 25. file://localhost/home/ftp/pub/CLDP/howto-translations/mini/Kerneld.html#chardev 26. file://localhost/home/ftp/pub/CLDP/howto-translations/mini/Kerneld.html#binfmt 27. file://localhost/home/ftp/pub/CLDP/howto-translations/mini/Kerneld.html#ldisc 28. file://localhost/home/ftp/pub/CLDP/howto-translations/mini/Kerneld.html#fs 29. file://localhost/home/ftp/pub/CLDP/howto-translations/mini/Kerneld.html#eth0 30. file://localhost/home/ftp/pub/CLDP/howto-translations/mini/Kerneld.html#net-pf 31. file://localhost/home/ftp/pub/CLDP/howto-translations/mini/Kerneld.html#CommonProblems 32. file://localhost/home/ftp/pub/CLDP/howto-translations/mini/Kerneld.html#miscdevs 33. file://localhost/home/ftp/pub/CLDP/howto-translations/mini/Kerneld.html#scsidevs 34. file://localhost/home/ftp/pub/CLDP/howto-translations/mini/Kerneld.html#pre_post 35. file://localhost/home/ftp/pub/CLDP/howto-translations/mini/Kerneld.html#scsidevs 36. file://localhost/home/ftp/pub/CLDP/howto-translations/mini/Kerneld.html#pre_post 37. mailto:linux-kernel@vger.rutgers.edu 38. ftp://tsx-11.mit.edu/pub/linux/filesystems/smbfs/ 39. ftp://ftp.redhat.com/pub/alphabits/ 40. ftp://tsx-11.mit.edu/pub/linux/packages/alphabits/ 41. http://www.dna.lth.se/~erics/diald.html
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -