3 installation compiling kernel
我正在尝试构建自己的内核,因为我想编写一个需要编译到内核中的内核程序。那我做了什么?从 kernel.org 下载,解压,执行 make menuconfig 并根据需要配置所有内容,执行 make,执行 make modules_install,执行 make install,最后执行 update-grub。结果:它根本不启动....
现在我看了一下这里,它描述了一种编译内核的不同方式。这可能是我的方式不起作用的原因吗?或者有没有其他人知道为什么我的内核不起作用?
######## 编辑很好的答案,你。奥利。但是我以老式的方式尝试了它,经过一小时的编译后,我收到了以下消息:
install -p -o root -g root -m 644 ./debian/templates.master /usr/src/linux-2.6.37.3/debian/linux-image-2.6.37.3meinsmeins/DEBIAN/templates
dpkg-gencontrol -DArchitecture=i386 -isp \
-plinux-image-2.6.37.3meinsmeins -P/usr/src/linux-2.6.37.3/debian/linux-image-2.6.37.3meinsmeins/
dpkg-gencontrol: error: package linux-image-2.6.37.3meinsmeins not in control info
make[2]: *** [debian/stamp/binary/linux-image-2.6.37.3meinsmeins] Error 255
make[2]: Leaving directory `/usr/src/linux-2.6.37.3'
make[1]: *** [debian/stamp/binary/pre-linux-image-2.6.37.3meinsmeins] Error 2
make[1]: Leaving directory `/usr/src/linux-2.6.37.3'
make: *** [kernel-image] Error 2
Run Code Online (Sandbox Code Playgroud)
根据你所说的一些提示:
使用make-kpkg
!你真的不想make install
为内核乱搞。内核是相当大的东西,你需要它们在包中,你可以快速“摆脱它!” 快速“apt-get remove”。
内核/编译文档中描述的“老式方法”是我知道如何使用 Kernel.org 等随机(非 Ubuntu 特定)源在 Ubuntu 上编译内核的最佳方法。
跳过该make localmodconfig
步骤。它可能很有用,但更多时候,它似乎只是破坏了一些东西(对我来说)。
我不建议你自己配置整个内核。拉入最新的 Ubuntu 配置副本并以此为基础。这将为您提供一个良好的默认默认值,您可以对其进行修剪。当您构建下一个版本时,只需将配置向前拉,然后make oldconfig
查看是否有任何新选项(在主要版本之间跳转时很常见)。
如果您在 Maverick 上构建 2.6.38,我建议您撤回 Natty 的配置。您需要从packages.ubuntu.com下载该软件包并从其引导文件夹中提取配置文件。我已经问过是否有更简单的方法来做到这一点,但似乎没有。
简而言之:只需遵循“老式方式”即可。一旦您为自己构建了几个包并且知道自己在做什么,就可以使用公式。