分享

编译内核,构造内核树

 AwayFly 2011-11-28
 首先要声明一下,本人其实也是凭借一腔热血刚刚学习linux及其内核,在这里只是我把我刚学东西与大家分享,希望对跟我一样的初学者有所帮助。
    大家都知道,在进入linux内核编程之前,需要构造具有源代码的内核树。但是往往大家一想到编译内核,就总是很恐惧,不敢去尝试,两天之前我也是这样,对此望而生畏。但是当你真的想编写驱动时,这是你必须面对的事情。在网上一搜,资料太大,说的太复杂,于是就自己下了源代码,开始读README,总结了一下,原来可以很简单,居然让我一次就成功了。我使用的内核是2.6.20.1,我的目标很简单就是想让我的内核有源码,可以编写内核程序,所以我下载了2.6.20.7,也算是“升级”阿!下面看看我的步骤有多简单阿!
    1.下载源码,(网址我想,不用我说了吧www.kernel.org)你可以选择某一版本的两种格式之一下载,例如        linux-2.6.xx.tar.gz,linux-2.6.xx.tar.bz2
    2.解压
     对应着两种源码格式,也有两种解压方法,
     gzip -cd  linux-2.6.xx.tar.gz | tar xvf -
     bzip2 -dc linux-2.6.xx.tar.bz2 | tar xvf -
    3.配置内核
      make oldconfig (由于这里以前已经装有2.6的内核,很多配制已经选好,所以你完全可以这么做,只需要配制一些新的特性)
    4.编译内核
      a.make
      b.make modules_install
      c.make install
    5.finished
    你可以看看你的/boot/grub/grub.conf里面是不是已经有了你新编译的内核,如果是的话,恭喜你,你已经成功的编译了一个属于你的,可以加载modules的内核了.
    看到这里可能很多人会质疑我的步骤是不是漏掉了什么,其实我没有漏掉什么东西,因为2.6的内核已经很人性化了,Makefile已经帮我做了很多工作了.我们不需要这里讨论太多的东西,关于patch,lilo,grub的用法,基本上用不上(相对于我们的初衷),所以不说了,只会你觉得更加麻烦.
    最后需要说明的是,我们只是想有一个源码的内核,然后可以编驱动之类的内核模块,所以本文很简单,假如你是没有一点基本知识,按上边的步骤,其实你一样可以成功.另外我的linux是fedoral 7,经过上述步骤,成功安装,如果你遇见什么问题安不上,请不要骂我,你可以看看README和Changes,我也只是把它们的东西通过中文很简单的告诉你.

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多