![如何构建主线内核并使其显示在 GRUB 上?](https://linux22.com/image/806772/%E5%A6%82%E4%BD%95%E6%9E%84%E5%BB%BA%E4%B8%BB%E7%BA%BF%E5%86%85%E6%A0%B8%E5%B9%B6%E4%BD%BF%E5%85%B6%E6%98%BE%E7%A4%BA%E5%9C%A8%20GRUB%20%E4%B8%8A%EF%BC%9F.png)
成功编译并构建我的主线内核(2.6.32.25)在我的 Ubuntu 10.04 下这些标题我想知道:如何在启动时制作这个内核,以便我可以选择启动哪一个?
我已经安装了 GRUB2(grup-install -v 说:'GNU GRUB 0.97')。
我尝试过这个:
sudo make install
并得到:
luky@ubuntu1004:/usr/src/linux-2.6.32.25$ sudo make install
sh /usr/src/linux-2.6.32.25/arch/x86/boot/install.sh 2.6.32.25 arch/x86/boot/bzImage \
System.map "/boot"
这是我的 /boot 文件夹:
luky@ubuntu1004:/boot$ ls
abi-2.6.32-24-generic System.map-2.6.32-24-generic
config-2.6.32-24-generic System.map-2.6.32.25
config-2.6.32.25 vmcoreinfo-2.6.32-24-generic
grub vmlinuz-2.6.32-24-generic
initrd.img-2.6.32-24-generic vmlinuz-2.6.32.25
memtest86+.bin
我会不是喜欢手动更改 GRUB 的配置文件。
答案1
好吧,毕竟解决我的问题的是:安装 grub-pc 包。这将取代 Ubuntu 10.04 附带的默认版本。
我在用个人电脑,所以我想那没问题。
答案2
我假设您已安装 grub2,因为您运行的是 10.04,而不是 grub legacy。您需要按照此处的说明更新 grub:https://help.ubuntu.com/community/Grub2
它应该很简单:sudo update-grub
这应该会检查新的内核并生成 grub 条目,以便您能够启动。
答案3
该位置的内核是用来安装的,而不是自己构建的。它们已经包含 grub 等所需的所有软件包。
要构建主线内核并获得适当的.deb
软件包,请参阅此处的说明:https://wiki.ubuntu.com/KernelTeam/GitKernelBuild
这将指导您完成构建先决条件、如何传输构建时配置以及生成包。如果您不需要更改配置,请参阅http://kernel.ubuntu.com/~kernel-ppa/mainline/daily/用于预构建的主线内核。
答案4
为了在 ubuntu 或任何基于 debian 的系统中构建和安装内核,最好使用 makepkg 而不是通常的 make、make modules_install ....
makepkg --initrd linux-image linux-headers
警告:有时这可能会引发权限错误
这会在父目录中创建几个 .deb 文件,可以像任何其他 .deb 文件一样安装。不用担心 grub,它会自行配置;如果使用 burg,则必须运行“sudo update-burg”。这还将确保正确生成 initrd 文件