Linux 内核编译过程 转

上一篇 / 下一篇  2011-06-02 18:27:15

本文首发自我的博客:http://renyongjie668.blog.163.com/blog/static/16005312011430103536109/

编译Linux内核是学习kernel的最基本的步骤之一,本文简单介绍一下linux kernel编译步骤。

先看一下启动相关的几个文件吧:

/boot
/boot/vmlinuz-<version>       :用于启动的压缩内核镜像,它也就是/arch/<arch>/boot中的压缩镜像.
/boot/system.map-<version>  :存储内核符号地址.
/boot/initrd.img-<version>     :初始化RAM硬盘时,用来存储挂载根文件系统所需的模块.
/boot/grub/grub.conf             : grub配置文件. (不同的发行版中它可能位于不同位置,也可能为menu.lst


简单地说,内核编译可以分为如下几个步骤:
1.
下载kernel源代码并解压(如果需要的话,可以下载补丁,并且patch -p1 < patch-x.y.z命令给源代码打上补丁;可在http://kernel.org/处获得kernelpatch的源码)
2.
配置内核,比如用命令makemenuconfig,详见:http://renyongjie668.blog.163.com/blog/static/1600531201143010295156/
3.编
译内核:make -j4  -j后的数字,有人推荐为CPU逻辑core数的2倍)
4.
安装内核模块:make modules_install   #内核模块复制到/lib/modules/<kernel-version>/目录下。
5.
安装内核:make install     #a.复制内核镜像bzImage文件到/boot,目录;b.生成initrd-<kernel-version>.img;配置grub等引导程序
6.
重启进入新的内核(重启前可以先检查一下grub或者LILO有没有修改好,这是在make install中做的)

其实,编译内核中还有很多细节的东西,见如下参考文档吧,里面挺详细的:
编译Linux2.6内核总结: http://www.cublog.cn/u/13991/showart.php?id=79823

编译内核:
http://my.chinaunix.net/space.php?uid=25806768&do=blog&id=302764

内核_.config内核配置及Makefilehttp://www.cnblogs.com/parrynee/archive/2010/05/13/1734689.html


TAG: Linux 内核编译

 

评分:0

我来说两句

日历

« 2024-05-19  
   1234
567891011
12131415161718
19202122232425
262728293031 

数据统计

  • 访问量: 4401
  • 日志数: 7
  • 建立时间: 2011-04-14
  • 更新时间: 2011-06-02

RSS订阅

Open Toolbar