All things are difficult before they are easy. 没有软件的裸机是一具僵尸,没有硬件的软件是一个幽灵。2012,专注于Linux和C语言,关注自动化、性能测试,关注开源社区和开源测试工具、方法,尝试测试团队管理!

Linux 内核编译过程

上一篇 / 下一篇  2011-05-30 22:59:15 / 个人分类:Linux

本文首发自我的博客: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.
配置内核,比如用命令make menuconfig,详见: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: kernel Linux linux make 配置 编译

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

smile665

smile665

Stay hungry, stay foolish. 得意之时谨记,一半命运还掌握在上帝手里;失意之时须知,一半命运还掌握在自己手里。

日历

« 2020-01-30  
   1234
567891011
12131415161718
19202122232425
262728293031 

数据统计

  • 访问量: 746013
  • 日志数: 220
  • 建立时间: 2008-11-06
  • 更新时间: 2012-10-06

RSS订阅

Open Toolbar