这篇简短的文章介绍了如何在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
现在您可以重新引导到新内核了。祝好运 !