Linux 2.6内核编译比以前方便多了,本文描述了在FC8下升级linux内核为2.6.25的详细步骤.
1. 首先从如下网址得到linux-2.6.25.
http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.25.tar.bz2
2. 然后在/usr/src下untar这个包.
tar -xjfv linux-2.6.25.tar.bz2
3. 配置内核
cd /usr/src/linux-2.6.25
make mrproper(删除一些stable的文件,针对刚download下来的包这一步没必要)
make menuconfig(以菜单的方式显示, 可以定制Linux模块, 在菜单顶部有命令帮助)
3. 编译内核
make (这一步花的时间最多,我用了将近40分钟)
make modules_install
make install(系统将会把vmlinuz和System.map复制到/boot目录下同时修改grub)
在2.6以前需要make bzImage make modules, 而且还需要将vmlinuz和System.map复制到/boot目录.
要想得到更详细关于编译的描述, 可以参考/usr/src/linux-2.6.25的README. 每个Linux内核的发行都有这个文件.
4. 重启机器
shutdown -r now
这样在开始的grub菜单里你可以选择用新的内核来启动linux
如果启动时遇到这个错:
"Enforcing mode requested but no policy loaded. Halting now."
Kernel panic: Attempted to kill init!
可以用如下方法解决:
Try adding enforcing=0 to your grub.conf.
kernel /boot/bzImage-2.6.5 ro root=/dev/hda5 enforcing=0
或者在/etc/selinux/config文件中,将SELINUX的值设为disabled.
duanzhu 于 2008-12-01 20:45:04发表:
:0w5ty(1 路过来取经。
dhhbian 于 2008-07-16 21:38:50发表:
我在make menuconfig这一步出现了错误。错误信息如下:
[root@localhost linux]# make menuconfig
HOSTCC scripts/basic/fixdep
In file include from /usr/include/sys/socket.h:36,
from /usr/include/netinet/in.h:25,
from /usr/include/arpa/inet.h:23,
from scripts/basic/fixdep.c:117:
/usr/include/bits/socket.h:320:24: error: asm/socket.h:No such file or directory
make[1]:*** [scripts/basic/fixdep] Error 1
make: *** [scripts_basic] Error 2
请问怎么解决???????
marco.chan 于 2008-05-18 21:15:57发表:
楼主说的是自编译内核!
你说的是从源更新内核!
有很大的区别,自编译的好处是完全可以依照自己的需求编译!
wzl7222504 于 2008-05-18 11:18:32发表:
有个很简单的办法,只要你找到合适的源
yum install -y yumex
然后打开yumex搜索kernel看看有没有2.6.25内核,没有的话需要自己找源
delphi5-10 于 2008-05-17 23:49:07发表:
多谢楼主分享实践经验