来源:http://www.linuxidc.com/Linux/2011-01/31457.htm


传统方式编译,至于Fedora RPM特色的编译方式,大家可以看http://www.linuxidc.com/Linux/2011-01/31456.htm 

 

 

 

准备工作

 
su -c 'yum install rpmdevtools'            (安装rpmdevtools)
yum-utils也要安装,不过默认已经安装好了。

 

第一步:下载kernel源码包     

 

官方网址:www.kernel.org. 当前最新版本:2.6.38-2

  

第二步:解压源码包

  (这里有些人说要将源码解压到/usr/src目录下,其实是不正确的,你可以解压到任何目录)

  tar -jxvf linux-2.6.38-2.tar.bz2

  

第三步:配置选项


cd linux-2.6.38-2
cp
/boot/config-`uname -r` .config
make mrproper (删除上次编译产生的垃圾,初次编译不需要)

make menuconfig (启动内核选项配置界面)

 

先选择倒数第二项,OK;然后,退出。

  说明一下,make menuconfig会寻找linux-2.6.38-2目录下的.config配置文件,如果找不到,则使用与CPU相关的config文件作为默认的配置。当然,我们也可以拷贝当前系统的配置作为对照,如cp /boot/config-`uname -r` .config (.config是隐藏文件 ls -a查看)


第四步(1):传统方式编译

  make -j4 all

    (如果是双核就用该命令,若是单核CPU使用-j2,其他CPU类似,-jx   :  x为CPU个数的2倍,为了让编译更快点而已,多线程)

 

  make modules_install (安装模块到/lib/modules/2.6.38-rc1)

  make install (系统将会把vmlinuz和System.map复制到/boot目录下同时修改grub/boot/grub/menu.lst)

  

第五步:重启系统。

     等待BISO自检之后,按ESC键,进入Grub引导菜单,选择Fedora 2.6.38-2


删除自己编译的内核:


一、编译后的内核主要出现在以下几个文件夹下:

             /lib/modules/      /usr/src/kernels/   /boot/

二、删除以上文件夹下的内核文件,指令如下

     sudo rm -rf /lib/modules/the_kernel_you_want_to_delete
     sudo rm -rf /usr/src/kernels/the_kernel_you_want_to_delete

     sudo rm /boot/the_kernel_you_want_to_delete

三、手动修改menu.lst,指令为:

      sudo vim /boot/grub/menu.lst

[四]、删掉欲删除条款。

    运行如下指令(Fedora 下好像没有)

      update-grub

Logo

更多推荐