Bug 39656 - Драйвер vboxsf не грузится на ядрах 5.10
Summary: Драйвер vboxsf не грузится на ядрах 5.10
Status: CLOSED FIXED
Alias: None
Product: Branch p9
Classification: Distributions
Component: virtualbox (show other bugs)
Version: не указана
Hardware: x86_64 Linux
: P5 normal
Assignee: Evgeny Sinelnikov
QA Contact: qa-p9@altlinux.org
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-02-05 19:26 MSK by Antonov Alexander
Modified: 2021-04-21 12:13 MSK (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Antonov Alexander 2021-02-05 19:26:04 MSK
Не работает на версии 6.1.16-alt1 и на версии 6.1.18-alt1 из таска 265092.

# modprobe vboxsf
modprobe: ERROR: could not insert 'vboxsf': Unknown symbol in module, or unknown parameter (see dmesg)

# dmesg | grep vbox
[   16.928186] vboxguest: loading out-of-tree module taints kernel.
[   17.057883] vboxguest: Successfully loaded version 6.1.18
[   17.076250] vboxguest: misc device minor 60, IRQ 20, I/O port d040, MMIO at 00000000f0400000 (size 0x400000)
[   17.076911] vboxguest: Successfully loaded version 6.1.18 (interface 0x00010004)
[   17.100235] vboxsf: Unknown symbol vbg_warn (err -2)
[   17.100263] vboxsf: Unknown symbol vbg_get_gdev (err -2)
[   17.100301] vboxsf: Unknown symbol vbg_hgcm_connect (err -2)
[   17.100326] vboxsf: Unknown symbol vbg_hgcm_disconnect (err -2)
[   17.100343] vboxsf: Unknown symbol vbg_err (err -2)
[   17.100350] vboxsf: Unknown symbol vbg_status_code_to_errno (err -2)
[   17.100357] vboxsf: Unknown symbol vbg_put_gdev (err -2)
[   17.100368] vboxsf: Unknown symbol vbg_hgcm_call (err -2)
[   17.151230] vboxdrv: Found 1 processor cores
[   17.278547] vboxdrv: TSC mode is Synchronous, tentative frequency 2199995676 Hz
[   17.278549] vboxdrv: Successfully loaded version 6.1.18 (interface 0x00300000)
[  273.904519] vboxsf: Unknown symbol vbg_warn (err -2)
[  273.904555] vboxsf: Unknown symbol vbg_get_gdev (err -2)
[  273.904596] vboxsf: Unknown symbol vbg_hgcm_connect (err -2)
[  273.904627] vboxsf: Unknown symbol vbg_hgcm_disconnect (err -2)
[  273.904652] vboxsf: Unknown symbol vbg_err (err -2)
[  273.904664] vboxsf: Unknown symbol vbg_status_code_to_errno (err -2)
[  273.904677] vboxsf: Unknown symbol vbg_put_gdev (err -2)
[  273.904694] vboxsf: Unknown symbol vbg_hgcm_call (err -2)

Ядро 5.10.11-un-def-alt1
Comment 1 Evgeny Sinelnikov 2021-02-06 22:58:03 MSK
Давайте уточним. Версия ядра на какой системе указано? Гостевой или хостовой?

Версии virtualbox на хосте и virtualbox-guest-additions на госте каких версий у вас установлены.

Со своей стороны могу заметить следующие простые моменты.

1) гостевые и хостовые системы могут быть существенны несовместимы если версии расходятся между версиями ниже 6.1.12 и версией 6.1.12 и старше;
https://www.virtualbox.org/ticket/18926

2) Не уверен, что на гостевых системах имеет смысл использовать un-def ядра - они, всё-таки нестабильные и, как правило, необходимы для поддержки очень нового "железа", а поддержка гостевых драйверов в этих ядрах не всегда проходит синхронно.

3) мне на хосте KWorkstation на базе p9, (ядро 5.4.94-std-def-alt1, virtualbox-6.1.16-alt3) и на госте Workstation на базе p9 (ядра 5.4.94-std-def-alt1 и 5.10.12-un-def-alt1, virtualbox-guest-additions-6.1.16-alt3) данную проблему воспроизвести не удалось. Монтирование шары удалось успешно.

Предполагаю, гостевой системе, после обновления на хостовой virtualbox до версий старше 6.1.12 не производилось обновления гостевых модулей ядра. Поскольку новые модули ядра собираются только под новые ядра на гостевой системе необходимо обновить ядро.

Либо наоборот, на хостовой системе не обновлялся virtualbox.

В любом случае, необходимы дополнительные подробности для диагностики этой проблемы, даже если она не связана с парным обновлением гостевой и хостовой систем.

____________________________________

Пока я составлял детальное сообщение выше, которое само по себе имеет смысл, поскольку заявка о проблеме составлена слишком поверхностно. Без ответов на исходные вопросы о версиях самого virtualbox, версий ядер на гостевой и хостовой система, а также версии и гостевых расширений нечего толком сказать, вроде бы, нельзя... но...

Я тут вот о чём вспомнил. Дело в том, что новые ядра 5.4.x и 5.10.x содержат свою версию гостевых модулей:

demo ~ # find /lib/modules | grep vbox
/lib/modules/5.4.40-std-def-alt1/misc/vboxvideovbox.ko
/lib/modules/5.4.40-std-def-alt1/misc/vboxsf.ko
/lib/modules/5.4.40-std-def-alt1/misc/vboxguestvbox.ko
/lib/modules/5.4.40-std-def-alt1/kernel/drivers/virt/vboxguest
/lib/modules/5.4.40-std-def-alt1/kernel/drivers/virt/vboxguest/vboxguest.ko
/lib/modules/5.4.40-std-def-alt1/kernel/drivers/gpu/drm/vboxvideo
/lib/modules/5.4.40-std-def-alt1/kernel/drivers/gpu/drm/vboxvideo/vboxvideo.ko
/lib/modules/5.10.12-un-def-alt1/misc/vboxvideovbox.ko
/lib/modules/5.10.12-un-def-alt1/misc/vboxsf.ko
/lib/modules/5.10.12-un-def-alt1/misc/vboxguestvbox.ko
/lib/modules/5.10.12-un-def-alt1/kernel/drivers/virt/vboxguest
/lib/modules/5.10.12-un-def-alt1/kernel/drivers/virt/vboxguest/vboxguest.ko
/lib/modules/5.10.12-un-def-alt1/kernel/drivers/gpu/drm/vboxvideo
/lib/modules/5.10.12-un-def-alt1/kernel/drivers/gpu/drm/vboxvideo/vboxvideo.ko
/lib/modules/5.10.12-un-def-alt1/kernel/fs/vboxsf
/lib/modules/5.10.12-un-def-alt1/kernel/fs/vboxsf/vboxsf.ko
/lib/modules/4.19.79-std-def-alt1/misc/vboxsf.ko
/lib/modules/4.19.79-std-def-alt1/kernel/drivers/virt/vboxguest
/lib/modules/4.19.79-std-def-alt1/kernel/drivers/virt/vboxguest/vboxguest.ko.gz
/lib/modules/4.19.79-std-def-alt1/kernel/drivers/staging/vboxvideo
/lib/modules/4.19.79-std-def-alt1/kernel/drivers/staging/vboxvideo/vboxvideo.ko.gz
/lib/modules/5.4.94-std-def-alt1/misc/vboxvideovbox.ko
/lib/modules/5.4.94-std-def-alt1/misc/vboxsf.ko
/lib/modules/5.4.94-std-def-alt1/misc/vboxguestvbox.ko
/lib/modules/5.4.94-std-def-alt1/kernel/drivers/virt/vboxguest
/lib/modules/5.4.94-std-def-alt1/kernel/drivers/virt/vboxguest/vboxguest.ko
/lib/modules/5.4.94-std-def-alt1/kernel/drivers/gpu/drm/vboxvideo
/lib/modules/5.4.94-std-def-alt1/kernel/drivers/gpu/drm/vboxvideo/vboxvideo.ko

То есть мы имеем два вида драйверов - оригинальные (из исходников самого virtualbox) и так называемые "стоковые" драйвера (собраные из исходников новых версий ядер).

Так вот. Для того, чтобы загружались оригинальные драйвера, у нас они переименовываются и в правилах загрузки прописываются соответствующие настройки:

demo ~ # cat /etc/modprobe.d/virtualbox-vboxvideo.conf 
install vboxvideo /sbin/modprobe vboxvideovbox
blacklist vboxvideo

demo ~ # cat /etc/modprobe.d/virtualbox-vboxguest.conf 
install vboxguest /sbin/modprobe vboxguestvbox
blacklist vboxguest

То есть, вместо того, чтобы грузить стоковый vboxvideo, грузится оригинальный, который лежит в переименованном виде vboxvideovbox. Аналогичные правила сделаны и для vboxguest.

А вот для модуля vboxsf таких правил на задано. Да они не нужны были раньше, поскольку vboxsf, как стоковый модуль, появлися только в ядрах 5.10.x (точнее где-то между 5.4 и 5.10), а в ядрах 5.4.x такого модуля не было.

__________________________________________________


Таким образом получаем три варианта решения проблемы:

1) установить или переключиться на гостевой системе на std-def ядро версии 5.4.

2) удалить из гостевой системы пакеты с оригинальными модулями ядра и попробовать "пожить" на стоковых драйверах.

demo ~ # rpm -qf /lib/modules/5.10.12-un-def-alt1/misc/vboxvideovbox.ko /lib/modules/5.10.12-un-def-alt1/misc/vboxsf.ko /lib/modules/5.10.12-un-def-alt1/misc/vboxguestvbox.ko
kernel-modules-virtualbox-addition-video-un-def-6.1.16-alt1.330252.1.x86_64
kernel-modules-virtualbox-addition-un-def-6.1.16-alt1.330252.1.x86_64
kernel-modules-virtualbox-addition-guest-un-def-6.1.16-alt1.330252.1.x86_64

3) проделать вручную две операции:

 - переимновать /lib/modules/5.10.XX-un-def-alt1/misc/vboxsf.ko в /lib/modules/5.10.XX-un-def-alt1/misc/vboxsfvbox.ko
 - задать для него правило загрузки в файле /etc/modprobe.d/virtualbox-vboxsf.conf:
install vboxsf /sbin/modprobe vboxsfvbox
blacklist vboxsf


В любом случае, спасибо за обращение. Думаю, что данная проблема пока не является существенно актуальной. Мы добавмим в ближайшее время новые правила загрузки для vboxsf.
Comment 2 Repository Robot 2021-04-21 12:13:51 MSK
virtualbox-6.1.18-alt4 -> sisyphus:

 Sun Apr 18 2021 Evgeny Sinelnikov <sin@altlinux> 6.1.18-alt4
 - Enable to build vbox-img converting command line utility (Closes: 39451)
 - Add missed vboximg-mount FUSE mounting command line utility provides
   raw access to an virtual disk image on the host system.
 Sat Apr 17 2021 Evgeny Sinelnikov <sin@altlinux> 6.1.18-alt3
 - Add fixes for build with python3 and support python-3.9
 - Rename python-module-vboxapi to python3-module-vboxapi
 - Remove requirement to python2 (Closes: 39737)
 Sat Apr 17 2021 Evgeny Sinelnikov <sin@altlinux> 6.1.18-alt2
 - Add separated modprobe rule for vboxsf (Closes: 39656)