Fedora编译安装内核
Fedora下编译安装新内核的过程,以Fedora 11和2.6.31版本的内核为例
1、下载内核的源码
从http://www.kernel.org下载内核的源码,选Full Source,
在~目录下建立kernel目录,用 wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.31.tar.bz2 命令下载,
然后执行 tar xjv linux-2.6.31.tar.bz2 解压内核源码
2、给内核源码打补丁
从下载内核的BFS222补丁
在kernel目录 wget http://ck.kolivas.org/patches/bfs/2.6.31-sched-bfs-222.patch
开始打补丁 patch -p1 < 2.6.31-sched-bfs-222.patch
3、 开始编译内核
在kernel目录执行 cp /boot/config-`uname -r` ./.config ,把目前内核的配置文件拷贝到当前目录
执行 make menuconfig 配置内核,可以读取默认配置
然后执行 make rpm 开始编译
4、安装内核
执行cd ~/rpmbuild/RPMS/i386进入编译后的目标文件的目录
执行 rpm -ivh kernel-2.6.31bfs222-1.i386.rpm
创建新的引导文件 mkinitrd /boot/initrd-2.6.31-bfs222.img 2.6.31-bfs222
5、添加引导
编辑/etc/grub/menu.lst文件,添加启动引导项
title Fedora (2.6.31-bfs222)
root (hd0,9)
kernel /vmlinuz-2.6.31-bfs222 ro root=/dev/mapper/(参照其它的引导项) rhgb quiet
initrd /initrd-2.6.31-bfs222.img
6、重启系统
执行 shuntdown -r now
然后在启动菜单里就可以看到新的内核选项了
7、卸载内核
把以前的内核卸载掉
执行 rpm -qa | grep kernel ,列出所有的内核列表
执行 sudo rpm -e kernel-PAE-2.6.29.4-167.fc11.i686 kernel-PAE-devel-2.6.29.4-167.fc11.i686
删除无用的2.6.29.4内核
1、下载内核的源码
从http://www.kernel.org下载内核的源码,选Full Source,
在~目录下建立kernel目录,用 wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.31.tar.bz2 命令下载,
然后执行 tar xjv linux-2.6.31.tar.bz2 解压内核源码
2、给内核源码打补丁
从下载内核的BFS222补丁
在kernel目录 wget http://ck.kolivas.org/patches/bfs/2.6.31-sched-bfs-222.patch
开始打补丁 patch -p1 < 2.6.31-sched-bfs-222.patch
3、 开始编译内核
在kernel目录执行 cp /boot/config-`uname -r` ./.config ,把目前内核的配置文件拷贝到当前目录
执行 make menuconfig 配置内核,可以读取默认配置
然后执行 make rpm 开始编译
4、安装内核
执行cd ~/rpmbuild/RPMS/i386进入编译后的目标文件的目录
执行 rpm -ivh kernel-2.6.31bfs222-1.i386.rpm
创建新的引导文件 mkinitrd /boot/initrd-2.6.31-bfs222.img 2.6.31-bfs222
5、添加引导
编辑/etc/grub/menu.lst文件,添加启动引导项
title Fedora (2.6.31-bfs222)
root (hd0,9)
kernel /vmlinuz-2.6.31-bfs222 ro root=/dev/mapper/(参照其它的引导项) rhgb quiet
initrd /initrd-2.6.31-bfs222.img
6、重启系统
执行 shuntdown -r now
然后在启动菜单里就可以看到新的内核选项了
7、卸载内核
把以前的内核卸载掉
执行 rpm -qa | grep kernel ,列出所有的内核列表
执行 sudo rpm -e kernel-PAE-2.6.29.4-167.fc11.i686 kernel-PAE-devel-2.6.29.4-167.fc11.i686
删除无用的2.6.29.4内核