Chinaunix首页 | 论坛 | 博客
  • 博客访问: 340901
  • 博文数量: 54
  • 博客积分: 446
  • 博客等级: 下士
  • 技术积分: 821
  • 用 户 组: 普通用户
  • 注册时间: 2011-04-30 17:37
文章分类

全部博文(54)

文章存档

2015年(35)

2014年(19)

我的朋友

分类: LINUX

2015-09-28 09:02:27

完全编译过程(以下步骤都是在内核源代码目录/usr/src/linux-3.5.7 下进行):
1. 清理以前编译时留下的临时文件:
     sudo make mrproper
2. 将以前的配置拷贝过来(选做):
     cp /boot/config-`uname -r`  ./.config
3. 配置内核选项
    sudo make menuconfig
   这时会弹出图形菜单,根据自己需要及机器情况,选择CPU,Device drive等选项
4. 编译内核
    sudo make-kpkg clean
    sudo make-kpkg -initrd --initrd --append-to-version=dell1400 kernel_image kernel-headers
根据配置情况,编译过程大约需要1~2个小时

一般情况下仅对内核的部分文件做小的改动(加入日志等等),这样就不需要对内核进行全编译,全编译既耗时,而且如果配置选项没有正确设置,很可能造成编译安装失败,所以正常情况下我们只对内核做增量编译,下面列一下步骤:
        cd /usr/src/linux
        make
        depmod
这个过程应该很快(根据改动文件大小),然后生成两个文件:system.map   bzImage
将这两个文件移动到开机目录下:
        mv  /usr/src/linux/system.map   /boot/system.map
        mv  /usr/src/linux/arch/x86/boot/bzImage   /boot/vmlinuz
如果有必要的话修改开机菜单(/boot/grub/grub.cfg),重启系统则编译后的新内核会启用

下面再简单说一下make mrproper与make clean的区别:

make mrproper命令会删除所有的编译生成文件、内核配置文件(.config文件)和各种备份文件,所以几乎只在第一次执行内核编译前才用这条命令。

make clean命令则是用于删除大多数的编译生成文件,但是会保留内核的配置文件.config,还有足够的编译支持来建立扩展模块。所以你若只想删除前一次编译过程的残留数据,只需执行make clean命令。

总而言之,make mrproper删除的范围比make clean大,实际上,make mrproper在具体执行时第一步就是调用make clean



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