- 论坛徽章:
- 0
|
2.6内核编译比以前方便多了,本文描述了在Fedora 8下升级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模块, 在菜单顶部有命令帮助)
如果出现Your display is too small to run Menuconfig!
It must be at least 19 lines by 80 columns.字样是因为终端窗口过小,最大化就可以了。
4. 编译内核
#make dep
编译内核:
#make bzImage
编译成功后,make会在最后输出
Kernel:arch/x86/boot/bzImage is ready(#1)
内核编译成功后,下面开始编译可加载模块:
#make modules
#make modules_install
在此之前最好先备份一下/boot/grub/grub.conf文件
#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内核
的发行都有这个文件.
注:如果对内核编译的make选项不太清楚,可以输入:
#make help查看详细解释
5. 重启机器
#shutdown -r now
这样在开始的grub菜单里你可以选择用新的内核来启动linux
如果不选择新内核,还是以旧的内核启动
如想以后自动使用新内核启动
# vi /etc/grub.conf
把其中的default值改成对应的新的内核顺序值
#boot=/dev/hda
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.28)
root (hd0,0)
kernel /vmlinuz-2.6.28 ro root=LABEL=/
initrd /initrd-2.6.28.img
title CentOS (2.6.18-92.el5)
root (hd0,0)
kernel /vmlinuz-2.6.18-92.el5 ro root=LABEL=/
initrd /initrd-2.6.18-92.el5.img
如果启动时遇到这个错:
"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.
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/94590/showart_1900513.html |
|