如何升级到最新内核?

如何升级到最新内核?

我想升级到最新的 3.17 Linux 内核,因为它支持 Xbox One 控制器,我真的想测试一下。

我正在运行带有最新预发布更新的 Ubuntu 14.10 64 位。

我在网上搜索过,但大多数教程似乎都过时了,我不想跟着他们,否则就会弄乱一些东西,不得不重新安装一切

答案1

我使用以下命令成功将 Ubuntu 14.10 安装更新到 3.17.8 内核主线构建。要更新到 3.17,您必须:

  1. 下载相应的Linux 映像-*-通用-*包裹:

    • 在 32 位系统上:

      $ wget "http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.17-utopic/linux-image-3.17.0-031700-generic_3.17.0-031700.201410060605_i386.deb"
      
    • 在 64 位系统上:

      $ wget "http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.17-utopic/linux-image-3.17.0-031700-generic_3.17.0-031700.201410060605_amd64.deb"
      
  2. 使用以下命令安装该包dpkg

    $ sudo dpkg -i linux-image-3.17.0-*
    

对于某些配置(特殊驱动程序、手动编译的内核模块),您还需要Linux 标头-*-通用-*包。

答案2

不久前,我为当时运行 ubuntu 12.04 的机器购买了新声卡,因此不得不这样做。我必须将内核升级到 3.16.2 才能获得更新的声卡驱动程序。这个过程相当简单。如果出现问题,我不承担任何责任 :-)。对我来说效果很好:

  1. 首先安装配置和编译新内核所需的软件包 sudo apt-get install g++ libncurses5-dev dpkg-dev
  2. 从以下网址下载稳定内核Linux 内核 3.17.8,网址:www.kernel.org

  3. 假设 tarball 已经下载到你的下载文件夹,使用 移动到该文件夹 cd ~/Downloads​​,然后使用 解压 tarball tar -xf linux-3.17.8.tar.xz

  4. 使用 进入新文件夹cd ./linux-3.17.8。现在您需要将内核配置文件从 /boot 文件夹复制到这个新的内核源文件夹中。使用以下命令复制当前内核配置文件cp /boot/config-`uname -r` ./.config
  5. 接下来使用新内核 3.17.8 选项更新 .configmake olddefconfig
  6. 此时,如果您想调整新的内核选项,可以键入make menuconfig以进入内核配置实用程序。除非您真的需要,否则不要这样做。有很多选项,大多数人对其中大部分一无所知。您可能必须找到控制器的驱动程序并选择它作为内核模块包含。运气好的话,它已经包含在内了。我个人会首先尝试编译内核而不对配置进行任何更改,如果您的控制器仍然不起作用,则编辑配置并查看是否有新的驱动程序可以包含。
  7. 要继续编译新内核,您基本上需要运行此命令make deb-pkg。这将编译新内核并构建可用于安装新内核的 D​​EB 包。如果您有多核处理器(大多数人都有),您可以通过向 make 命令添加参数来加快编译过程。例如,如果您有四核处理器,那么您可以使用,make -j4 deb-pkg或者如果您有八核处理器,那么make -j8 deb-pkg等等……编译过程将需要相当长的时间,因此让您的机器使用多个线程将有助于加快速度。一旦完成编译和构建 DEB 包,您将在下载文件夹中找到一组 DEB 包。
  8. 在安装新内核之前,我建议您编辑 grub 配置,以便您选择在重新启动计算机时使用哪个内核进行引导。这只是为了防止新内核出现问题,而您需要引导到旧内核。使用 编辑文件sudo -i gedit /etc/default/grub。在文件中查找以下行GRUB_HIDDEN_TIMEOUT=0,并用 # 将其注释掉。还要找到该行GRUB_TIMEOUT并为其设置一个值,如 10(10 秒)。这将为您提供 10 秒倒计时,然后计算机才会引导到列表中的第一个内核。完成此操作并保存文件后,在终端窗口中运行此命令sudo update-grub使更改生效。此外,在安装新内核之前,如果您使用的是专有 nvidia 驱动程序,则可能应该返回到 linux 内核附带的 nouveau 驱动程序。您可以通过“附加驱动程序”实用程序执行此操作。
  9. 现在你可以安装新内核了。假设你的终端仍然处于~/下载/linux-3.17.8您可以使用 文件夹进行安装sudo dpkg -i ../linux*3.17.8*.deb
  10. 重新启动,然后检查正在使用哪个内核uname -r。希望这对您有用。对我来说效果很好!最后要注意:如果您正在运行像这样的自定义编译内核,那么您将不会收到它的常规 Ubuntu 内核更新。最终,ubuntu 内核可能会使用控制器的更新驱动程序进行更新,然后您可以返回使用 ubuntu 提供的内核并继续接收其更新。

我希望这有帮助!

相关内容