内核不能编译
当用户输入“make bzImage modules”并按下输入键的时候,出现了内核不能编译或者其他的奇怪现象 。此时最好的方法就是重新启动系统,然后使用“rpm -e”命令移除Kernel configuration tools这个内核配置工具 。接着再重新安装这个工具(请使用“rpm -I”或“rpm -Uvh”命令来安装),如果能正确安装,那么问题就简单多了,此时再重新配置内核和再编译应该就能成功 。如果还是不能编译内核,请检查硬件设备是不是有问题 。
系统重复启动
出现这种情况,十有八九是因为在对内核做完修改之后忘记使用LILO来注册新的映象到启动加载程序 。LILO需要内核的扇区位置,因此即使是拷贝映象也会将其迁移到新的扇区中,这将使得LILO存储的老指针挂在一个深渊上 。
为了解决这个问题,请从软驱启动并运行LILO命令,或使用挽救磁盘启动并安装启动分区到“/mnt”,同时使用如下命令:lilo -r /mnt 。内核重编译对很多Linux爱好者来说是一个不小的挑战 。笔者认为,很多Linux用户对内核通常有一种误解,他们认为普通用户是不能调整内核的 。其实,就实际情况而言,这种认识是不全面的 。应该说,内核重编译是具有一定深度和复杂性的,同时也是易失败的配置工作 。
如果大家留意那些比较权威的Linux参考工具书的话,就会发现很多原版书籍都把内核重编译作为一个很重要的章节进行介绍 。本文将要向读者介绍的并不是如何去一步步的对Linux内核进行重编译,而是收集整理了几个在Linux内核重编译中最常见的故障及其解决方法,如果您在编译内核过程中遇到了类似的故障,那么本文将会对您有所帮助 。
Linux内核重编译常见故障介绍
在介绍Linux内核重编译常见故障前,假设我们已经按照参考工具书上的步骤对Linux内核进行了相应的配置 。
Linux内核重编译通常包括了许多步骤 。如果“幸运”的话,Linux内核重编译是可以一次性编译成功的 。如果在编译完成后,启动计算机或者内核的时候系统有错误信息的提示,那么最有可能出现的是以下5个:1.内核不能启动;2.异常I/O错误;3.内核反映缓慢;4.内核不能正确编译;5.系统重复启动 。
故障分析及其解决方法
内核不能启动
当我们重新创建Linux内核时,主要是选择用户需要或不需要在系统中使用的设备及服务 。从2.0版内核开始,Linux引入了一个全新的设计特征到内核中并提供了折中方案:组件可以动态的、随时的调入和调出内核 。例如我们在修改/etc/lilo.conf之后都要重新启动系统,如果你的内核不能启动,并且在屏幕上看到了下面的信息:
Warning: unable to open an initial console Kernel panic: no init found. Try passing init= option to kernel
这个错误最大的可能就是我们没有正确的给/etc/lilo.conf 中的“root=”提供参数 。例如,在一个Linux系统中有root=dev/hdc5这样的配置方式,那么这是错误的,正确的应该是root=/dev/hdc5,不要小看只是多了一个 “/”,这是给root提供的重要参数 。没有“/”则Linux内核无法确认root到底该从哪里启动 。很多朋友往往忽略了这个小细节而造成内核引导失败 。下面给出/etc/lilo.conf的一个正确的配置清单,仅供参考 。
/etc/lilo.conf示例
―――――――――――
boot=/dev/hdc5
map=/boot/map
prompt
timeout=50
image=/boot/vmlinuz-2.2.2-1
label=Linux
root=/dev/hdc5
inirtd=/boot/initrd-2.2.2-1.img
read-only
other=/dev/hda1
label=dos
table=/dev/hda
异常I/O错误
如果您重新创建了一个Linux内核,并且能正确启动,但在使用新内核过程中,系统经常出现崩溃、死机等异常现象 。那么很可能是I/O出现了问题 。I/O异常除了使得系统频繁出现莫名其妙的故障之外,更重要的是会使Linux内核降级,导致整个系统系能严重下降 。
推荐阅读
- 称重量的工具有几种
- Linux中文件的压缩与解压缩
- Linux下如何实现IP与Mac地址的捆绑?
- 如何用 Linux 拨号上网
- 嵌入式Linux 试试一张软盘可装下Linux
- 受到重视造句 受到重视的造句
- 两个excel表快速核对重复名字
- 三 Linux 99问
- 让linux支持你的DMA66硬盘
- Linux 网管 123 --- 第13章. 其他的问题 2.哪里可以找到帮助