Eu acho que o requisito não é para cabeçalhos de kernel, mas para o pacote kernel-devel. O pacote kernel-devel irá fornecer-lhe módulos .ko. Veja se está fazendo o apt-get install para o pacote kernel devel te ajudar?
Isso é o quão longe eu cheguei:
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
Mas recebo uma mensagem de erro
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
As instruções na tela não estão corretas, pois o -headers-4.7.3-coreos-r2
não existe. Nem linux-headers-4.7.3-coreos-r2
. Eu também tentei linux-headers-$(uname-r)
, que realmente se expande para linux-headers-4.7.3-coreos-r2
e linux-headers-generic
, que diz que não tem candidato de instalação.
Eu acho que o requisito não é para cabeçalhos de kernel, mas para o pacote kernel-devel. O pacote kernel-devel irá fornecer-lhe módulos .ko. Veja se está fazendo o apt-get install para o pacote kernel devel te ajudar?
Eu descobri o problema básico, mas em um kernel diferente.
O problema básico é que kernel-develop
no RHEL ou linux-headers-generic
no debian só é útil se você tiver um kernel genérico. O CoreOS aqui está usando um kernel personalizado.
Não consegui descobrir como obter um equivalente funcional a linux-headers-generic
no CoreOS. Tenho certeza de que é possível com arqueologia de internet suficiente, já que é GPL.
Também foi inútil tentar fazer isso no GitLabs CoreOS no Docker, porque o VirtualBox precisaria do módulo do kernel para ser carregado no host do Docker ao qual eu não tenho acesso. (até onde eu entendi)
Mudar o kernel para um genérico também nem sempre é possível.
Em vez disso, fui e recebi um host dedicado. Que por sua vez tinha um kernel personalizado que tem o mesmo problema básico.
A resposta é realmente encontrar as modificações feitas no kernel e preparar isso em /usr/src
como aqui:
Tags coreos