当前位置: 首页>>技术教程>>正文


以Debian方式构建Linux内核

, ,

这篇简短的文章介绍了如何在Debian或Ubuntu Linux下自定义,构建和安装Linux内核的快速简便的方法。首先,我们将安装所有先决条件,然后下载内核源代码。下一步将是定制,最后一步,我们将使用新的Customized Linux内核创建并安装Debian软件包。

先决条件

让我们从第一步开始,即安装所有必备组件:

# apt-get install bzip2  build-essential \ 
kernel-package libncurses5-dev

内核构建和定制

下一步是从kernel.org下载内核源代码。在内核目录树中解压缩和cd:

$ tar xvjf linux-2.6.34.tar.bz2
$ cd linux-2.6.34

在这一点上,我们将做最重要的部分,以创建新的自定义内核并构建Debian软件包。全部通过一个make-kpkg命令即可完成。

注意:

可选步骤是在运行以下命令之前应用内核补丁linux命令

make-kpkg --rootcmd fakeroot --config menuconfig --initrd --us --uc kernel_image
  • -我们不签名来源
  • –uc不签署变更日志
  • –initrd执行使用initrd加载的内核所需的任何操作
  • -rootcmd fakeroot命令,该命令提供了一种获得超级用户访问权限的方法
  • –config menuconfig将使用menuconfig作为配置工具,默认为oldconfig

请注意,您可以选择其他配置工具来代替menuconfig。例如,如果您想使用xconfig,那么您的命令将如下所示:

make-kpkg --rootcmd fakeroot --config xconfig --initrd --us --uc kernel_image

您必须确保已安装xconfig的所有先决条件。
如果您已经准备好.xconfig内核配置文件(例如,当前内核安装附带的文件,可以在/boot /config-中找到),则可以简单地将其复制为.config并执行以下操作:

make-kpkg --rootcmd fakeroot  --initrd --us --uc kernel_image

注意:如果收到以下错误消息:

echo "The UTS Release version in include/linux/version.h"; echo "         
\"\" "; echo "does not match current version:"; echo "        
\"2.6.34\" "; echo "Please correct this."; exit 2
The UTS Release version in include/linux/version.h
           ""
does not match current version:
           "2.6.34"
Please correct this.
make[1]: *** [debian/stamp/install/linux-image-2.6.34] Error 2
make[1]: Leaving directory `/home/lilo/temp/linux-2.6.34'
make: *** [kernel_image] Error 2

使用以下linux命令解决此问题和re-run make-kpkg命令:

$ cp include/generated/utsrelease.h include/linux/

安装定制的Linux内核

您现在可以以Debian软件包的形式安装新的定制Linux内核。

$ cd ..
# dpkg -i linux-image-2.6.34_2.6.34-10.00.Custom_i386.deb

现在您可以重新引导到新内核了。祝好运 !

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/10110.html,未经允许,请勿转载。