红联Linux门户
Linux帮助

个人编译linux内核的方法请高人指教

发布时间:2011-04-04 22:31:41来源:红联作者:chinalxuserysy
[i=s] 本帖最后由 chinalxuserysy 于 2011-4-4 22:33 编辑 [/i]

在网上看到许多的关于内核编译的但是我还是看不懂,没办法就整了一本书来看。《linux内核技术手册》
看了照做后还真成功了梳理来分享一下。
我们一步一步来。
第一:下载内核代码不要告诉我你不知道,是在不知道那我告诉你那就是在这(http://www.kernel.org/pub/linux/kernel/)选择一个版本,建议不要下最早的,但是下一个比较早的我下了2.6.30。哦!我还下了补丁。
第二:审视自己的系统 主要是看看自己的系统里有没有必要的工具。
运行下列的命令:$gcc -v 版本要大于3.2(这一条可以忽略不计因为没那个发行版的gcc版本会低于4的)
$ld -v 版本大于2.12
$make -v 版本大于3.79.1
$fdformat -v 主要是用来控制磁盘的分区的创建和挂载,并操作系统的硬件时钟版本不低于2.10
$demod -v 这条命令是在确定系统中的module-init-tools包的版本这也是建立内核模块的必备条件。
$quota -v 如果你的系统要提供配额功能那就必须要查看一下版本不低于3.09。
其它的就没有必要了。
第三:处理内核源码 包括内核源码,补丁的放置
运行系列的命令:$mkdir ~/linux
$mv 源码所在的目录 ~/linux
$cd ~/linux
$tar zxvf linux-2.6.30.tar.gz || tar jxvf linux-2.6.30.tar.bz2
$mv 补丁文件所在目录 ~/linux
$bzip2 -dv patch文件
第四:应用补丁
运行下列命令:$cd linux-2.6.30
$head -n 5 Makefile
$patch -p1 < ../pathch文件
$head -n 5 Makefile 这一条的输出应该和第二条的输出有所区别
第五:创建内核
创建内核一般就是那么几个make config(需要一个一个的自己来决定没水平的话还是不要弄),make menuconfig(推荐用),make gconfig,make xconfig,make deconfig(默认的配置模式)
$make menuconfig我这人比较懒就直接select保存吧(注:这是懒人同时也是蠢人才这样的极力反对这样搞)同时也可以在这时候加上架构模式如:$make ARCH=X86_64 menuconfig
$make -j4 数字的大小是决定于你的cpu是几核的规定是你n*2比如你的是四核那就是 -j8(这样可以加快编译的速度)很多篇文章都写道要创建软链接目的就是不破坏源码,但是我们就只要一个O=目录
就会把输出移到指定的目录处。例:make O=~/linux/OUT_linux
下面就等吧!
第六:安装内核
一般的发行版本都提供installkernel的脚本来安装内核文件
#make modules_install
#make install
查看grub的配置文件看有没有多出来一个启动项,如果成功的话那就重启试试自己的新内核吧。
文档中可能和你的系统存在很大的差别也许不会成功,但是可以试试,存在错误的地方麻烦大家指出。
文章评论

共有 17 条评论

  1. 名门 于 2011-09-15 14:12:07发表:

    擦 牛A啊 先学习 学会了咱也编译一个{:3_113:}

  2. rainstonewu 于 2011-08-30 09:24:22发表:

    很不错的

  3. chocolateqin 于 2011-08-04 09:52:41发表:

    好东西,太需要了

  4. wq413732076 于 2011-08-03 21:23:35发表:

    感谢楼主分享我要学linux

  5. LiGValley 于 2011-06-01 21:31:48发表:

    (5ty(

  6. LiGValley 于 2011-06-01 21:31:40发表:

    :0w5ty(1

  7. dqwit 于 2011-05-31 21:35:35发表:

    牛B啊,谢谢楼主

  8. 画? 于 2011-05-30 12:59:24发表:

    回来好好看一下了

  9. qiaomiao209 于 2011-04-29 09:37:19发表:

    不太懂,

  10. hml1006 于 2011-04-21 11:49:40发表:

    内核头文件怎么安装

  11. bzrxcw 于 2011-04-19 00:02:03发表:

    新人糊涂中

  12. ftd505 于 2011-04-18 11:02:08发表:

    {:2_98:}

  13. lebnzx 于 2011-04-08 09:48:13发表:

    留下慢慢学。

  14. yangyoung 于 2011-04-05 15:40:56发表:

    学习了,收藏下,慢慢学习。

  15. gaochang2010 于 2011-04-05 14:07:06发表:

    学习一下!!等以后我会了,再来看!!

  16. Growth兆 于 2011-04-05 09:26:58发表:

    感谢chinalxuserysy的分享,本贴加入到论坛顶置的Linux应用贴中

  17. nxzcc 于 2011-04-05 08:45:06发表:

    强文强顶