无法将 Linux 内核从 2.6.38.3+ 更新到 3.2.0

无法将 Linux 内核从 2.6.38.3+ 更新到 3.2.0

每个人。

首先,请原谅我的英语不好。我使用的是 Google CR-48 并在其中安装了 Ubuntu 11.10。

最近,我使用命令更新了 Ubuntu sudo apt-get update && sudo apt-get upgrade

另外,我在其中安装了 VMware。不幸的是,当我打开它时,它会弹出一个Vmware Kernel Module Updater

经过一番搜索,内核(?) 丢失了/usr/src/。所以我直接更新了最近发布的内核 3.2。但我按照以下网站的步骤操作。

其网址如下。

在我按照这些步骤操作后,重新启动 CR-48。当我在终端中使用命令时,它仍然失败并且无法将内核更新到 3.2,uname -r并且它仍然显示2.6.38.3+

在我做了一些研究之后,我发现了一个模块或内核(?)(我不知道,对此我感到很抱歉),里面/lib/modules/有一个名为的文件夹2.6.38.3+

我找到了一篇帖子Linux 内核不会更新至 2.35.25在这里我按照以下步骤操作,但仍然无法更新内核。

那么我现在该怎么办?感谢大家的帮助。

答案1

我是问这个问题的人。我在下面的链接中找到了答案。

我在 CR48 上运行 Ubuntu,如何安装新内核?

或者如果你有其他答案,请发表出来一起讨论。谢谢!

答案2

我在 ubuntu 主线中找到了 .deb 文件。下载并安装了 3.2.4,没有任何问题。但是我无法删除旧内核。它就是不想被删除。

顺便说一下,我在检查 usr/scr 中的文件时发现了这一点。我的新内核将文件放在那里。

答案3

为了能够构建树外模块,您需要该linux-headers-$(uname -r)软件包。看到+末尾的,我相信您的2.6.38.3+内核是自己编译的。

我建议构建一个.deb可以安装dpkg(也可以卸载)的包:

make oldconfig
make INSTALL_MOD_STRIP=1 deb-pkg -j30

更改30为之间的数字CPU 核心 + 1(如果你的 CPU 受限)和两倍 CPU 核心(如果您受 I/O 限制)。会产生较小的软件包,INSTALL_MOD_STRIP因为它会从模块中删除调试信息。此过程将创建四个.deb文件,即linux-firmware-imagelinux-headers和。这里最重要的是和软件包;第一个包含内核映像和模块,第二个包含编译树外模块所需的标头。linux-imagelinux-libc-devlinux-image-VERSIONlinux-headers-VERSION

答案4

您可以安装任何您想要的内核,并在启动时使用其中任何一个。一次使用一个或多个内核都没有问题。但有时您应该考虑内核与您的 Ubuntu 版本的映射。例如,以下链接列出了不同内核与不同版本操作系统的映射。搜索您的 Ubuntu 版本并查看表格,其中列出了您可以安装和使用的最高版本的内核,没有任何问题:

Ubuntu 到主线内核版本映射

您可以从以下链接获取有关内核安装/删除的完整信息。

内核主线构建

在 Ubuntu 12.04.2 中安装新内核对我帮助很大。现在我可以从 grub 菜单中任意选择内核 3.5.0 或 3.8.0。

以下链接说明了 Ubuntu 12.04 LTS 的实际工作原理。它以非常好的方式进行了说明,您也可能喜欢:

Ubuntu LTS 支持堆栈

希望这个简短的描述对您有所帮助。

相关内容