我需要做什么来安装相关的 CoreOS linux-headers 才能使 VirtualBox 满意?

我需要做什么来安装相关的 CoreOS linux-headers 才能使 VirtualBox 满意?

这就是我已经走了多远:

echo "deb http://download.virtualbox.org/virtualbox/debian jessie contrib" | tee -a /etc/apt/sources.list
wget -q https://www.virtualbox.org/download/oracle_vbox_2016.asc -O- | apt-key add -
apt-get update
apt-get install -y linux-headers-amd64 virtualbox-5.1
dpkg-reconfigure virtualbox-5.1

但我收到一条错误消息

dpkg-query: no path found matching pattern /lib/modules/4.7.3-coreos-r2/kernel
vboxdrv.sh: failed: Look at /var/log/vbox-install.log to find out what went wrong.
dpkg-query: no path found matching pattern /lib/modules/4.7.3-coreos-r2/kernel
This system is not currently set up to build kernel modules (system extensions).
Running the following commands should set the system up correctly:

  apt-get install -headers-4.7.3-coreos-r2
(The last command may fail if your system is not fully updated.)
  apt-get install -headers-r2

屏幕上的说明不正确,因为-headers-4.7.3-coreos-r2不存在。也没有linux-headers-4.7.3-coreos-r2。我也尝试过,linux-headers-$(uname-r)它确实扩展到linux-headers-4.7.3-coreos-r2并且linux-headers-generic说它没有安装候选者。

答案1

我认为需求不是针对内核标头,而是针对内核开发包。 kernel-devel 包将为您提供 .ko 模块。看看对内核开发包进行 apt-get install 是否对您有帮助?

答案2

我解决了基本问题,但在不同的内核上。

  • 基本问题是,只有当您拥有通用内核时,kernel-develop在 RHEL 或debian 上才有用。linux-headers-generic这里的 CoreOS 使用的是自定义内核。

  • 我无法找到如何获得与linux-headers-genericCoreOS 等效的工作。我确信有足够的互联网考古知识是可能的,因为它是 GPL 的。

  • 首先尝试在 Docker 中的 GitLabs CoreOS 上执行此操作也是毫无意义的,因为 VirtualBox 需要将内核模块加载到我无权访问的 Docker 主机上。 (据我收集)

  • 将内核切换到通用内核也不总是可能的。

相反,我去找了一位专门的主人。反过来,它有一个具有相同基本问题的自定义内核。

答案实际上是找到对内核所做的修改并将其准备/usr/src如下:

https://github.com/scaleway/kernel-tools#how-to-build-a-custom-kernel-module

相关内容