免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 910 | 回复: 0
打印 上一主题 下一主题

linux核心编译过程 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-01-16 22:06 |只看该作者 |倒序浏览
一.将核心解压到/usr/src/目录下
    cd /usr/src
    tar -jxvf /root/linux-2.6.27.9.tar.bz2
二.进入linux-2.6.27.9目录
    cd linux-2.6.27.9
    make mrproper 删除以前编译留下的.o文件。
三.由于每个人对核心的要求不尽相同,Linux提供了多个工具来建立Makefile
    make menuconfig
    make xconfig
    make gconfig  
   通常使用make menuconfig
    对make menuconfig打开的界面的一些简单说明:
    最底下的可以使用左右键来移动光标;上下键可以在主框中移动,若该行有--->则表示该行内部还有子选项需要设定的意思;当以上下键选定好要设定的项目后,以左右键选择之后,按下Enter就进入该项目作更进行一 步的设定;在某个项目的设定当中,如果有[]或符号时,该项目才可以选择,用空格键设定;若设定为
  • 或表示要将该项目编译进核心;若设定为则表示编译成模块,在不知道该项目具体干什么且又有模块可以供选择时,那么就直接选为模块吧;
        在整个核心的内容选择上面,建议这样思考:
        1.肯定核心一定要的功能,直接编译进核心;
        2.可能会在未来使用到的功能,那么尽量编译成模块;
        3.不知道那个项目是用来干嘛,且看help也看不懂的话,那么就保留默认值,或者将其编译成为模块;
    四.设定好Makefile进入编译的流程:
        make clean
        make bzImage    制作核心档案,等待.....
        make modules    制作模块档案,等待.....
        等到以上步骤完成,你的核心与模块就编译好了,不过,编译好的数据还是放在/usr/src/linux-2.6.27.9这个目录下,并没有放到系统的相关路径当中,现在的新核心在/usr/src/linux-2.6.27.9/arch/i386/boot/目录下名为bzImage
    五.模块安装:
        我们知道Kernel的模块是放在/lib/modules/`uname-r`中。
        make modules_install
    六.核心安装:
        我们知道Kernel是在/boot目录下。
        cp /usr/src/linux-2.6.27.9/arch/i386/arch/boot/bzImage /boot/vmlinuz-2.6.27-9
        cp /usr/src/linux-2.6.27.9/System.map /boot/System.map-2.6.27-9
    七.修改grub配置文件menu.lst
        查看相关grub相关设定。然后reboot下,看看刚刚编译好的kernel是否好用!
                   
                   
                   

    本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/91412/showart_1800508.html
  • 您需要登录后才可以回帖 登录 | 注册

    本版积分规则 发表回复

      

    北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
    未成年举报专区
    中国互联网协会会员  联系我们:huangweiwei@itpub.net
    感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

    清除 Cookies - ChinaUnix - Archiver - WAP - TOP