西西软件园多重安全检测下载网站、值得信赖的软件下载站!
软件
软件
文章
搜索

首页编程开发其它知识 → Ubuntu/Debian用户 可以用make-kpkg简化系统内核编译过程

Ubuntu/Debian用户 可以用make-kpkg简化系统内核编译过程

相关软件相关文章发表评论 来源:本站整理时间:2011/1/8 9:04:47字体大小:A-A+

作者:佚名点击:888次评论:0次标签: Ubuntu

PPS for Ubuntu1.0.0.1 官方安装版
  • 类型:网络电视大小:1.5M语言:中文 评分:6.6
  • 标签:
立即下载

本文介绍的make-kpkg可以用于所有Debian系的发行版如Debian、Ubuntu、Linux Mint等。

传统编译方式
通常,如果我们需要编译Linux内核,大概要经历以下几个步骤:

1、配置内核
最常用的配置内核的方法是“make menuconfig”。“make config”太简陋,“make xconfig”虽然更加直观,但需要庞大的qt类库支持,menuconfig应该是最佳的折中。

2、编译内核和模块
依次执行“make”、“make modules”、“make modules_install”、“make install”,如果前面的配置没有问题的话,耐心等待一段时间就可以得到编译好的内核和模块了。

3、生成initramfs并配置Grub
经过第二个步骤的“make install”,kbuild系统会把生成的内核镜像拷贝到INSTALL_PATH路径下(默认这个路径是/boot),但这时并不能使用,我们必须配置手动Grub才可以。另外,很多发行版会使用initramfs来做引导之用(还有部分发行版采用initrd),我们还需要为我们的新内核手动生成initramfs镜像(请参考制作initramfs/initrd镜像)。


make-kpkg
如果您是Ubuntu/Debian的用户,可以使用make-kpkg简化这个流程,而且还能带来其他额外的好处。

在Ubuntu下,安装kernel-package这个包之后,就可以使用make-kpkg了。

sudo apt-get install kernel-package


使用make-kpkg编译内核,第一个步骤“配置内核”还是必不可少的,在这里,我比较建议在发行版默认的config的基础上再进行配置,这样配置出的内核和发行版本身才会有更好的相容性。比如Ubuntu 10.10,可以在运行“make menuconfig”之前执行命令“cp /boot/config-2.6.35-24-generic .config”,或者在menuconfig里先把/boot/config-2.6.35-24-generic load进来。



这个配置的过程也可以放到make-kpkg里,在执行make-kpkg命令时,加入参数“--config menuconfig”即可,但这样做其实并没有带来什么便利之处。

配置完内核之后,接下来要执行真正的编译过程。通常我们可以这样下命令:


make-kpkg --initrd --revision wwang.001 --append-to-version -20110107 kernel_image


1、--initrd选项会让make-kpkg自动帮我们生成initramfs;

2、--revision会给生成的deb文件加上一个版本信息。这个参数只是影响到文件名,如果不指定,默认会是“10.00.Custom”;

3、--append-to-version也是一种版本信息,它不仅出现在deb安装包的文件名里,也会影响到kernel的名称,比如本例中,内核更新完成之后,用“uname -r”察看会得到“2.6.36-20110107”;

4、kernel_image表示生成内核和默认模块的安装包,另外您也可以加上kernel_headers,这样make-kpkg会再生成一个内核头文件的安装包。

如果我们用普通用户来执行make-kpkg,需要加上fakeroot运行。

fakeroot make-kpkg --initrd --revision wwang.001 --append-to-version -20110107 kernel_image

编译过程执行完毕之后,会在上层目录里生成一个deb安装包,本例中生成的安装包的文件名是“linux-image-2.6.36-20110107_wwang.001_i386.deb”。

之后我们就可以用dpkg命令或者在文件浏览器中双击安装了,安装完毕之后,直接重启就可以选择进入新的内核。

使用make-kpkg来编译内核,还有其他好处。因为我们是通过包管理器来安装新的内核,当不再需要这个内核时,就可以简单的通过dpkg命令、新立得软件包管理器或者Ubuntu软件中心来完全卸载,而不需要一个个手动删除修改。

对于一般使用来说,知道以上的命令就足够了,如果需要详细了解make-kpkg的用法,可以查阅manual或者参考这篇教程。

    相关评论

    阅读本文后您有什么感想? 已有人给出评价!

    • 8 喜欢喜欢
    • 3 顶
    • 1 难过难过
    • 5 囧
    • 3 围观围观
    • 2 无聊无聊

    热门评论

    最新评论

    发表评论 查看所有评论(0)

    昵称:
    表情: 高兴 可 汗 我不要 害羞 好 下下下 送花 屎 亲亲
    字数: 0/500 (您的评论需要经过审核才能显示)