【发布时间】:2011-10-20 05:14:37
【问题描述】:
我正在学习内核编程,想在内核中编写/测试模块,进行一些开发等。我有一个装有最新 Ubuntu 的 Linux 机器。我的基本问题是:
我应该在同一个分区上安装新内核吗?我会覆盖现有内核吗?或者在新分区中安装准系统内核来试验一下?
【问题讨论】:
标签: linux linux-kernel
我正在学习内核编程,想在内核中编写/测试模块,进行一些开发等。我有一个装有最新 Ubuntu 的 Linux 机器。我的基本问题是:
我应该在同一个分区上安装新内核吗?我会覆盖现有内核吗?或者在新分区中安装准系统内核来试验一下?
【问题讨论】:
标签: linux linux-kernel
内核位于/boot 中的一个普通旧文件中。通常,它会被命名为/boot/vmlinuz-2.6.39-2-amd64。随附的模块位于/lib/modules,例如/lib/modules/2.6.39-2-amd64。
没有理由在安装新内核时必须覆盖现有内核。只需在 /boot 中添加一个新的,然后运行 update-grub。您可以选择从 grub 引导哪个内核(或者,甚至可以使用 grub CLI 引导不在菜单中的内核)。
如果您使用内核 makefile 安装,您可以设置 EXTRAVERSION 以使名称唯一。
【讨论】:
你不需要新的分区。 但是是的,当然不要覆盖当前内核! 内核只是磁盘上的几个文件,不需要新分区,您可以将它们与当前具有差异名称的文件一起放在 /boot 中。
【讨论】:
update-grub 而不是直接编辑 grub.conf。另外,我相信现在的内核 makefile 包括对.deb 的支持,因此您可以将内核构建为一个包,然后使用dpkg -i 安装。