如何在我的 Debian 机器中安装非实时内核?

如何在我的 Debian 机器中安装非实时内核?

我用 Debian 设置了一个盒子:

# cat /etc/debian_version
9.13

# uname -a
Linux orange 4.9.0-15-amd64 #1 SMP Debian 4.9.258-1 (2021-03-08) x86_64 GNU/Linux

现在,我尝试安装 CUDA,但收到错误:

-> Performing PREEMPT_RT check.
ERROR: The PREEMPT_RT sanity check failed:

The kernel you are installing for is a PREEMPT_RT kernel!

The NVIDIA driver does not support real-time kernels. If you
are using a stock distribution kernel, please install
a variant of this kernel that does not have the PREEMPT_RT
patch set applied; if this is a custom kernel, please
install a standard Linux kernel.  Then try installing the
NVIDIA kernel module again.

对于我读到的有关实时内核的内容,我不需要它们。所以,我的问题是:如何在我的 Debian 机器中安装非实时内核而不需要重新安装/格式化它?

该盒子是一个服务器,仅用于运行模拟(无图形界面),只能通过 SSH 访问。我们需要 CUDA 将一些模拟转移到 GPU。

答案1

这应该像使用一样简单apt search linux-image-*。找到你想要的内核,然后安装它。

在撰写本文时,我在 Debian 测试中得到了以下信息:

$ apt search linux-image
linux-image-5.10.0-5-amd64/testing,now 5.10.24-1 amd64 [installed,automatic]
linux-image-5.10.0-5-cloud-amd64/testing 5.10.24-1 amd64
linux-image-5.10.0-5-rt-amd64/testing 5.10.24-1 amd64
linux-image-amd64/testing,now 5.10.24-1 amd64 [installed]
linux-image-cloud-amd64/testing 5.10.24-1 amd64
linux-image-rt-amd64/testing 5.10.24-1 amd64

您可能已经linux-image-rt-amd64安装了。您需要的linux-image-amd64 是相同的东西,但没有 PREMPT_RT 补丁。 linux-image-amd64是一个元包,它引入了当前版本的 linux(在本例中为linux-image-5.10.0-5-amd64

所以基本上,只需这样做:

sudo apt install linux-image-amd64 linux-headers-amd64

我认为 headers 包是nvidia-drivers在配置过程中使用的,所以最好也获取它。接下来,当您重新启动时,您将有机会在 grub 菜单中选择您的内核。选择其中没有的一项-rt

如果您只有 ssh 访问权限,那么您可能无法访问 grub 启动菜单。在这种情况下,您可能需要在使用 重新启动之前设置默认值grub-set-default。首先尝试重新启动,软件包有可能会自动设置为默认值。看一下/boot/grub/grub.cfg并寻找menuentry线条。这些将为您提供可以传递给 的字符串grub-set-default。就我而言,我会使用:

sudo grub-set-default 'Debian GNU/Linux, with Linux 5.10.0-5-amd64'

相关内容