LINUX.ORG.RU

Slackel, Virtualbox, trouble

 ,


0

1

Друзья, прошу помощи. На компе установлен Slackel x64 (Slackware). Живу второй год на нём собственно. И всё, до сегодняшнего дня, было хорошо. Но сегодня понадобилась виндовая софтина. Поставил virtualbox, но завести не удаётся. Дистр обновляется, всё свежее. Ядро 5.10.23. Headers, modules установлены. Что не хватает, не пойму. Есть тут слаководы? Ткните куда копать. Вот что имеем:

me[~]$ virtualbox 
WARNING: The vboxdrv kernel module is not loaded. Either there is no module
         available for the current kernel (5.10.23) or it failed to
         load. Please recompile the kernel module and install it by

           sudo /sbin/vboxconfig

         You will not be able to start VMs until this problem is fixed.
Хорошо, делаем
me[~]$ sudo /sbin/vboxconfig 
Пароль: 
vboxdrv.sh: Stopping VirtualBox services.
vboxdrv.sh: Starting VirtualBox services.
vboxdrv.sh: Building VirtualBox kernel modules.
vboxdrv.sh: failed: Look at /var/log/vbox-setup.log to find out what went wrong.

There were problems setting up VirtualBox.  To re-start the set-up process, run
  /sbin/vboxconfig
as root.  If your system is using EFI Secure Boot you may need to sign the
kernel modules (vboxdrv, vboxnetflt, vboxnetadp, vboxpci) before you can load
 them. Please see your Linux system's documentation for more information.
Смотрим лог
In file included from /tmp/vbox.0/linux/SUPDrv-linux.c:33:
/tmp/vbox.0/r0drv/linux/the-linux-kernel.h:132:11: фатальная ошибка: linux/smp_lock.h: Нет такого файла или каталога
  132 | # include <linux/smp_lock.h>
      |           ^~~~~~~~~~~~~~~~~~
компиляция прервана.
make[2]: *** [scripts/Makefile.build:279: /tmp/vbox.0/linux/SUPDrv-linux.o] Ошибка 1
make[2]: *** Ожидание завершения заданий…
   ./tools/objtool/objtool orc generate  --module --no-fp --retpoline --uaccess /tmp/vbox.0/SUPDrvGip.o
   ./tools/objtool/objtool orc generate  --module --no-fp --retpoline --uaccess /tmp/vbox.0/SUPDrvTracer.o
/tmp/vbox.0/SUPDrvTracer.o: warning: objtool: .text+0x7: indirect jump found in RETPOLINE build
/tmp/vbox.0/SUPDrvTracer.o: warning: objtool: supdrvTracerProbeFireStub() is missing an ELF size annotation
   ./tools/objtool/objtool orc generate  --module --no-fp --retpoline --uaccess /tmp/vbox.0/SUPDrv.o
make[1]: *** [Makefile:1801: /tmp/vbox.0] Ошибка 2
make: *** [/tmp/vbox.0/Makefile.include.footer:107: vboxdrv] Ошибка 2
Что за smp_lock.h? Где взять? На этом мои полномочия всё)



Последнее исправление: rakamatafon (всего исправлений: 1)
Ответ на: комментарий от rakamatafon

Файл <linux/smp_lock.h>, на который у вас ругается компилятор - уже давно похоронили.
У вас старый vbox, который не умеет в kernel 5.10.23

sigurd ★★★★★
()

По ошибке не подскажу, но у меня так и так ставил (slackware64-14.2_SBo):

> ls /var/log/packages/ | grep virtualb
virtualbox-5.0.40-x86_64-1_SBo
virtualbox-extension-pack-5.0.40-x86_64-1_SBo
virtualbox-kernel-5.0.40_4.4.240-x86_64-2_SBo
# groupadd -g 215 vboxusers && usermod -a -G vboxusers ПОЛЬЗОВАТЕЛЬ_user
# sbopkg -Bki "acpica virtualbox-kernel virtualbox virtualbox-extension-pack"
# reboot
# sh /etc/rc.d/rc.vboxdrv restart
NK ★★★★★
()
Ответ на: комментарий от anonymous

Ну, анонимус, благодарю. Вот так живёшь и не знаешь, что на гитхабе есть слакбилды для current слаки))) Хотя до этого обходился сугубо репами. Пошёл компилять. За подсказку +.

rakamatafon
() автор топика
Ответ на: комментарий от rakamatafon

Вот так живёшь и не знаешь, что на гитхабе есть слакбилды для current слаки

На SBo слакбилды только для стабильных версий Slackware, поэтому для current репо SBo склонирован и отслеживая изменения в current синхронно движется к будущему релизу.

Тема на оф.форуме:
https://www.linuxquestions.org/questions/showthread.php?p=6226731#post6226731

bormant ★★★★★
()
Ответ на: комментарий от bormant

Виртуалка заработала. Коль общение заладилось у нас, то задам ещё вопрос. Sbopkg как-то зависимости умеет разруливать? Хочу Freecad скомпилять.

rakamatafon
() автор топика
Ответ на: комментарий от rakamatafon

Sbopkg как-то зависимости умеет разруливать?

В состав sbopkg входит sqg — SlackBuild query genegator. Он читает файлы .info в части описания зависимостей (строка REQUIRES=) и строит файл очереди для конкретно указанного пакета с учетом его полного дерева зависимостей (ключик -p пакет) либо для всех пакетов (ключик -a).
Перед первым запуском стоит поправить текст сценария sqg в части используемых каталогов (обычно достаточно закомментировать строки с переопределением REPO_BRANCH и REPO_NAME, чтобы sqg взял их из настроек sbopkg в /etc/sbopkg/sbopkg.conf).
Нужно иметь в виду, что у пакетов могут быть опциональные зависимости, которые не перечисляются в REQUIRES (обычно указаны в README), поэтому, если нужно что-то и из них, очередь можно поправить ручками либо предварительно собрать желаемое отдельно.
То же касается и дополнительных параметров слакбилдов (вроде FFMPEG=«yes» для OpenCASCADE и т.п.)

Затем очередь скармливается sbopkg примерно так: sbopkg -Rki очередь.sqf

С репо «ponce» sbopkg работать также умеет, в настройках нужно прописать именно его.

bormant ★★★★★
()
Последнее исправление: bormant (всего исправлений: 2)
Ответ на: комментарий от rakamatafon

функцию можешь добавить в .bashrc например:

sboins(){
    sqg -p "$1"
    sbopkg -k -i "$1"
}

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

sboins "virtualbox freecad"
anonymous
()
Ответ на: комментарий от rakamatafon

Ну и не забывай, что это каррент. например у qemu в зависимостях SDL2, хотя он уже в основном дереве.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.