⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 kernelconfig-trouble.html

📁 FreeBSD安装说明概述 FreeBSD 提供了一个以文字为主
💻 HTML
字号:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta name="generator" content="HTML Tidy, see www.w3.org" /><title>如果出现问题怎么办</title><meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" /><link rel="HOME" title="FreeBSD 使用手册" href="index.html" /><link rel="UP" title="配置FreeBSD的内核" href="kernelconfig.html" /><link rel="PREVIOUS" title="创建设备节点" href="kernelconfig-nodes.html" /><link rel="NEXT" title="安全" href="security.html" /><link rel="STYLESHEET" type="text/css" href="docbook.css" /><meta http-equiv="Content-Type" content="text/html; charset=GB2312" /></head><body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"alink="#0000FF"><div class="NAVHEADER"><table summary="Header navigation table" width="100%" border="0" cellpadding="0"cellspacing="0"><tr><th colspan="3" align="center">FreeBSD 使用手册</th></tr><tr><td width="10%" align="left" valign="bottom"><a href="kernelconfig-nodes.html"accesskey="P">Prev</a></td><td width="80%" align="center" valign="bottom">Chapter 9. 配置FreeBSD的内核</td><td width="10%" align="right" valign="bottom"><a href="security.html"accesskey="N">Next</a></td></tr></table><hr align="LEFT" width="100%" /></div><div class="SECT1"><h1 class="SECT1"><a id="KERNELCONFIG-TROUBLE" name="KERNELCONFIG-TROUBLE">9.6.如果出现问题怎么办</a></h1><p>在定制一个内核时,可能会出现五种问题。它们是:</p><div class="VARIABLELIST"><dl><dt><tt class="COMMAND">config</tt>失败:</dt><dd><p>当你在内核描述中看到<span class="CITEREFENTRY"><spanclass="REFENTRYTITLE">config</span>(8)</span>命令失败,可能在某个地方发生了一个小错误。幸运的是, <span class="CITEREFENTRY"><spanclass="REFENTRYTITLE">config</span>(8)</span>会显示出错的那一行的行号,你可以用<bclass="APPLICATION">vi</b>编辑器做修改。 例如,如果你看到:</p><pre class="SCREEN">config: line 17: syntax error</pre><p>可以在<b class="APPLICATION">vi</b>中用命令模式输入<ttclass="COMMAND">17G</tt>来跳到17行。 比较<ttclass="FILENAME">GENERIC</tt>内核或其他参考资料,以确定你打对了关键字。</p></dd><dt><tt class="COMMAND">make</tt>失败:</dt><dd><p>如果<tt class="COMMAND">make</tt>失败,通常会在你的内核描述中提示一个错误, 但<spanclass="CITEREFENTRY"><span class="REFENTRYTITLE">config</span>(8)</span>并没有找出错误。另外,查看一下你的配置信息,如果你仍然无法解决这个问题, 可以把你的内核配置信息发邮件到<ahref="http://lists.FreeBSD.org/mailman/listinfo/freebsd-questions" target="_top">FreeBSDgeneral questions 邮件列表</a>,它将很快地被解决。</p></dd><dt>安装新内核失败:</dt><dd><p>如果内核编译没问题,但是安装失败(<tt class="COMMAND">make install</tt>或者 <ttclass="COMMAND">make installkernel</tt>命令失败),第一件是检查你的系统是否运行在安全级别1或者更高(参看<span class="CITEREFENTRY"><spanclass="REFENTRYTITLE">init</span>(8)</span>)。内核安装试图从你的内核移除不可改变标志,并设置新的不可改变标志,如果安全级别是1或者更高,这会阻止设置系统文件的不可改变标志。因此内核安装需要安全级别为0或者更低。</p></dd><dt>内核无法启动:<a id="KERNELCONFIG-NOBOOT" name="KERNELCONFIG-NOBOOT"></a></dt><dd><p>如果你的新内核无法启动,或无法识别你的硬件,不要担心,幸运的是,BSD有一个解决复杂内核错误的很好机制。 你可以在系统启动进行10计数的时候按<bclass="KEYCAP">Enter</b>以外的任何键, 接着键入<ttclass="COMMAND">unload</tt>命令,再键入<tt class="COMMAND">boot <varclass="REPLACEABLE">kernel.old</var></tt>,或者任何能正常启动的内核名字。当配置一个内核时,在手头保留一个能正常启动的内核是个好主意。</p><p>在用一个好的内核启动后,你可以检查一下配置文件,再设法重新建立一个内核。一个有帮助的文件是<tt class="FILENAME">/var/log/messages</tt>文件,它记载了每个成功启动的所有内核信息。当然,<span class="CITEREFENTRY"><spanclass="REFENTRYTITLE">dmesg</span>(8)</span>也会列出当前启动中的内核信息。</p><div class="NOTE"><blockquote class="NOTE"><p><b>Note:</b> 你在编译内核时,确信保留着一个<ttclass="FILENAME">GENERIC</tt>或以其他名字命名的内核。 你不能仅依靠<ttclass="FILENAME">kernel.old</tt>,因为当你安装一个新内核时, <ttclass="FILENAME">kernel.old</tt>会被上一次安装的内核所覆盖。所以,尽快将当前正常工作的<tt class="FILENAME">kernel</tt>移到不能正常工作的内核,可以用<span class="CITEREFENTRY"><spanclass="REFENTRYTITLE">ps</span>(1)</span>命令查一下。``解开''编译安装内核文件的正确命令是:</p><pre class="SCREEN"><samp class="PROMPT">#</samp> <kbd class="USERINPUT">chflags noschg /kernel</kbd></pre><p>如果你发现你不能这样做,你的系统的安全级别可能大于0了。在<ttclass="FILENAME">/etc/rc.conf</tt>里面编辑 <varclass="LITERAL">kern_securelevel</var>并把它设置为<var class="LITERAL">-1</var>然后重启。当你很满意这个内核的时候,你可以再把设置改回去。</p><p>另外,如果你要``锁住''内核或其他文件,以至它不能被移动或修改 ,可以用下面的命令:</p><pre class="SCREEN"><samp class="PROMPT">#</samp> <kbd class="USERINPUT">chflags schg /kernel</kbd></pre><p>在FreeBSD 5.X里面, 内核安装后不再有不可改变标志,所以上面这些问题你将不会遇到。</p></blockquote></div></dd><dt>内核工作,但是<span class="CITEREFENTRY"><spanclass="REFENTRYTITLE">ps</span>(1)</span>根本不工作:</dt><dd><p>如果你在系统中安装了一个不同版本的内核,例如,在3.x系统中安装了4.x内核,许多系统内建的命令像<span class="CITEREFENTRY"><spanclass="REFENTRYTITLE">ps</span>(1)</span>和<span class="CITEREFENTRY"><spanclass="REFENTRYTITLE">vmstat</span>(8)</span>根本不工作。你必须重新编译<ttclass="FILENAME">libkvm</tt>库以及这些程序。千万不要随意从其他系统拷贝不同版本的内核来使用。</p></dd></dl></div></div><div class="NAVFOOTER"><hr align="LEFT" width="100%" /><table summary="Footer navigation table" width="100%" border="0" cellpadding="0"cellspacing="0"><tr><td width="33%" align="left" valign="top"><a href="kernelconfig-nodes.html"accesskey="P">Prev</a></td><td width="34%" align="center" valign="top"><a href="index.html"accesskey="H">Home</a></td><td width="33%" align="right" valign="top"><a href="security.html"accesskey="N">Next</a></td></tr><tr><td width="33%" align="left" valign="top">创建设备节点</td><td width="34%" align="center" valign="top"><a href="kernelconfig.html"accesskey="U">Up</a></td><td width="33%" align="right" valign="top">安全</td></tr></table></div></body></html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -