Chinaunix首页 | 论坛 | 博客
  • 博客访问: 380363
  • 博文数量: 181
  • 博客积分: 215
  • 博客等级: 民兵
  • 技术积分: 313
  • 用 户 组: 普通用户
  • 注册时间: 2012-05-17 19:39
个人简介

王的男人

文章分类

全部博文(181)

文章存档

2016年(2)

2015年(35)

2014年(17)

2013年(84)

2012年(49)

我的朋友

分类: LINUX

2013-03-29 22:23:33

原文地址:Linux内核编译步骤 作者:zhbnx

1、下载相关内核源码:

     

2、将其拷贝到/usr/src/目录下:

    cp   /usr/src/

3、解压

    tar  zxvf 

4、进入linux-3.8目录

    cd  linux-3.8

5、准备编译

1)、#make mrproper

    该命令确保源代码目录下没有不正确的.o文件以及文件的互相依赖

2)、配置内核:

    #make config(基于文本的最为传统的配置界面,不推荐使用)

    #make menuconfig(基于文本选单的配置界面,字符终端下推荐使用)

    #make xconfig(基于图形窗口模式的配置界面,Xwindow下推荐使用)

    #make oldconfig(如果只想在原来内核配置的基础上修改一些小地方,会省去不少麻烦)
3)、#make dep

    该命令实际上读取配置过程生成的配置文件,来创建对应于配置的依赖关系树,从而决定哪些需要编译而那些不需要;

4)、#make clean

    完成删除前面步骤留下的文件,以避免出现一些错误;

5)、#make zImage/bzImage

    实现完全编译内核,二者生成的内核都是使用gzip压缩的,只要使用一个就够了,它们的区别在于使用make bzImage可以生成大一点的内核,

    比如在编译2.4.0版本的内核时如果使用make zImage命令,那么就会出现system too big的错误提示。

6)、#make modules

    该命令将之前在配置中选中的项目以模块的形式编译进内核。

7)、#make modules_install

    该命令把模块拷贝到需要的目录中。

8)、#depmod -a

    严格说来,该命令命令和编译过程并没有关系,它是生成模块间的依赖关系,这样你启动新内核之后,使用modprobe命令加载模块时就能正确地定位模块。

9)、使用新内核

    #mv  /boot/System.map  /boot/System.map.old; mv /boot/vmlinuz  /boot/vmlinuz.old

    #cp /usr/src/linux/System.map /boot/

    #cp /usr/src/linux/zImage /boot/vmlinuz

6、编译完成,重启,选中新编译的内核启动。

    #shutdown -r now

 

阅读(294) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~