Lufee

Fedora15 内核编译安装手记

摘要----

      初学linux内核编程,硬盘安装了Fedora15,找了两本教程想一步步的照葫芦画瓢编译内核,结果发现内容太旧,不是介绍2.4内核环境下编译2.6内核,就是基于ARM平台的,看的一头雾水。网上找了两篇介绍ferdora12的内核编译方法的文章以及内核源码树的README文件成功编译并安装。在此记录整个过程,供和我一样的初学者参考。

正文----

      对于学习linux内核编程来说,一个标准的内核源码树以及基于此内核的系统是必备的。对于Fedora15这样的发行版本,其内核源码是经过特殊修补的,不利于学习。因此尝试将Fedora15的内核:2.6.38.6-26.rc1.fc15.i686 替换为标准版内核2.6.38.8。

1.下载内核源码

   Fedora15 安装后有两个内核版本,一个是  2.6.40.6-26.rc1.fc15.i686,这个2.6.40版本据说是Fedora15专用版本,在kernel.org上找不到该版本,另一个版本是2.6.38.6-26.rc1.fc15.i686 ,为了尽量避免兼容问题,我选择kernel.org的2.6.38.8版本替换2.6.38.6-26.rc1.fc15.i686。

   下载地址:http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.38.8.tar.bz2

2.安装源码

    解压源码包到/usr/src目录下(也可以解压到其他目录)

    在压缩包所在目录以root权限执行以下命令:

     tar -jxvf linux-2.6.38.tar.bz2 -C /usr/src   

    网上有文章指出在编译安装内核后,出现由于该内核没有权限导致而启动失败的情况,需要手动赋予该内核文件权限。而我并没有遇到这个问题,我猜测出现没有权限问题可能与解压目录以及某些操作未使用root账户操作所致。为避免这些麻烦,建议大家登录root账户再执行所有操作,同时将内核源码解压到/usr/src 目录下。

3.配置内核选项

   内核源码包解压后生成 “/usr/src/linux-2.6.38.8/” 目录,这里就是内核源码了。

   进入这个目录:

   cd /usr/src/linux-2.6.38.8

   将当前系统的内核配置文件COPY到当前目录下,对于初学者而言,Fedora15的内核配置文件可以省去很多麻烦

   cp /boot/config-2.6.38.6-26.rc1.fc15.i686  .config

   上面的命令是将当前运行内核的配置文件config-2.6.38.6-26.rc1.fc15.i686 复制到当前目录cd /usr/src/linux-2.6.38.8,并更名为 .config

   接下来执行这个配置文件,根据内核README文档,可以采用make oldconfig命令,出现选择时能选y的就选y,没有Y的就选m 

   make mrproper (删除上次编译产生的垃圾,初次编译不需要) 

   make oldconfig

   注意:尝试过 make menuconfig 出现未按装某库的错误,解决方法:安装缺失库:yum install xxxx (xxxx为提示的库名)

   指定内核识别码,修改Makefile文件的EXTRAVERSION

  vi Makefile

  EXTRAVERSION = .custom-1 (第4行)

4.编译内核

  make -j2

   直接make也可以,但是速度太慢(大约1个半小时),-j2是make命令的选项,如果你的电脑是双核处理器,你可以用make -j2 加速编译

5.安装模块。安装模块到/lib/modules/
   sudo make modules_install

6.安装内核。把make 生成的vmlinuzSystem.map复制到/boot目录下同时修改grub /boot/grub/menu.lst.执行下面的命令就可自动完成上述操作。
  sudo make install

7.重启,大功告成

   由于时间仓促,可能过程描述的不够细致,本次实验成功主要是参阅了以下文章,给出链接:

   http://www.cnblogs.com/wishmiss/archive/2010/09/21/1832821.html

   http://tech.it168.com/a2009/1204/819/000000819629.shtml

   源码自带的README(个人感觉这个README写的不够细致,但还是可以看看的)


 

posted on 2011-08-30 23:29  Lufee  阅读(1051)  评论(0编辑  收藏  举报

导航