如何构建主线内核并使其显示在 GRUB 上?

如何构建主线内核并使其显示在 GRUB 上?

成功编译并构建我的主线内核(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 文件

相关内容