Dkms virtualbox

Содержание

Установка VirtualBox 6.0 на Linux

Dkms virtualbox

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

Например, если вы установите его в своей системе Linux, вы можете запустить операционную систему Windows XP в качестве гостевой ОС или запустить ОС Linux в вашей системе Windows и так далее. Таким образом, вы можете установить и запустить столько гостевых операционных систем, сколько вам нужно, единственным ограничением является дисковое пространство и память.

Недавно Oracle выпустила последнюю стабильную версию Virtualbox 6.0.0,и новейшая версия Virtual Box включает в себя много значительных изменений и новые функции.

ЧТО НОВОГО В VIRTUALBOX 6.0

  • Добавлена поддержка экспорта виртуальной машины в Oracle Cloud Infrastructure;
  • Значительно улучшена поддержка HiDPI и масштабирования, а также улучшенное обнаружение и конфигурация для каждой машины;
  • Большая доработка пользовательского интерфейса с легкой и простой настройкой виртуальных машин;
  • Новый файловый менеджер позволяет пользователю управлять гостевой файловой системой и копировать файлы между хостом и гостем;
  • Основное обновление эмуляции устройств с трехмерной графикой для гостей Linux;
  • Утилита vboximg-mount для хостов позволяет пользователям получать доступ к содержимому гостевых дисков на хосте;
  • Добавлена поддержка использования Hyper-V на хосте Windows;

Вы можете посмотреть подробности о VirtualBox 6.0 на их официальной странице журнала изменений.

В этом руководстве объясняется, как установить VirtualBox 6.0 в системах RHEL, CentOS и Fedora, используя собственный репозиторий VirtualBox с инструментами YUM и DNF (для выпусков Fedora 22+).

Также в этом руководстве объясняется, как установить VirtualBox 6.0 в системах Debian, Ubuntu и Linux Mint, используя собственный репозиторий VirtualBox с помощью команды APT-GET или APT.

Поехали!

УСТАНОВКА VIRTUALBOX 6.0 В RED HAT ENTERPRISE LINUX, CENTOS И FEDORA

Если у вас установлена более ранняя версия Virtualbox, удалите ее перед установкой последней версии.

# yum remove VirtualBox*
# dnf remove VirtualBox* [On Fedora 22+]

Добавление VirtualBox Repository

Затем добавьте собственный репозиторий VirtualBox для установки последней версии VirtualBox 6.0 в следующих системах.

Для RHEL/CentOS 7/6

# cd /etc/yum.repos.d/
# wget http://download.virtualbox.org/virtualbox/rpm/rhel/virtualbox.repo

Для RHEL/CentOS 5

# wget http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm
# rpm -Uvh epel-release-5-4.noarch.rpm

Для For Fedora 24-29

# cd /etc/yum.repos.d/
# wget http://download.virtualbox.org/virtualbox/rpm/fedora/virtualbox.repo

Установка пакеты зависимостей для VirtualBox

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

Итак, чтобы сделать VirtualBox полностью функциональным, вам нужно сначала обновить вашу систему, а затем установить некоторые дополнительные модули, такие как DKMS, kernel-headers и kernel-devel, а также некоторые пакеты зависимостей.
# yum update
# yum install binutils qt gcc make patch libgomp glibc-headers glibc-devel kernel-headers kernel-devel dkms

Установка VirtualBox 6.0

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

# yum install VirtualBox-6.0

Перестройте модули ядра для VirtualBox 6.0

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

Для Fedora 22+ и CentOS/RHEL 7

/usr/lib/virtualbox/vboxdrv.sh setup

Для Fedora 18-16 и CentOS/RHEL 6/5

/etc/init.d/vboxdrv setup

Или

service vboxdrv setup

Если вышеуказанный процесс сборки завершится неудачно, вы получите предупреждающие сообщения, подобные приведенным ниже.

vboxdrv.sh: Stopping VirtualBox services.vboxdrv.sh: Starting VirtualBox services.vboxdrv.sh: Building VirtualBox kernel modules.This system is currently not set up to build kernel modules.Please install the Linux kernel “header” files matching the current kernelfor adding new hardware support to the system.The distribution packages containing the headers are probably:

kernel-devel kernel-devel-4.19.0-1.el7.elrepo.x86_64

В этом случае вам нужно сначала проверить ваше установленное ядро, а затем установить нужные kernel-devel, используя следующие команды.

Внимание: в команде CURRENT_KERNEL нужно заменить на то, что вы получите, выполнив команды uname -r

# uname -r
# yum install kernel-devel-CURRENT_KERNEL

Затем замените user_name в следующей команде вашим собственным именем пользователя.

# usermod -a -G vboxusers user_name

Траблшутинг

Если вы получили какое-либо сообщение об ошибке, например, KERN_DIR, или если ваш исходный каталог ядра не был автоматически обнаружен процессом сборки, вы можете установить его с помощью следующей команды. Убедитесь, что вы изменили версию ядра в соответствии с вашей системой, как показано ниже.

KERN_DIR=/usr/src/kernels/4.19.0-1.el7.elrepo.x86_64
export KERN_DIR

УСТАНОВКА VIRTUALBOX 6.0 В DEBIAN, UBUNTU И LINUX MINT

Сначала удалите любую более раннюю версию Virtualbox, если таковая имеется.

$ sudo apt-get remove virtualbox-*

Затем установите последнюю версию VirtualBox 6.0, используя официальный репозиторий Virtualbox. Чтобы добавить репозиторий, используйте следующую команду, как показано ниже.

$ sudo sh -c 'echo “deb http://download.virtualbox.org/virtualbox/debian $(lsb_release -cs) contrib” >> /etc/apt/sources.list.d/virtualbox.list'
$ wget -q https://www.virtualbox.org/download/oracle_vbox.asc -O- | sudo apt-key add -$ sudo apt-get update

$ sudo apt-get install virtualbox-6.0

ЗАПУСК VIRTUALBOX 6.0

Просто выполните следующую команду, чтобы запустить ее из терминала, или используйте панель запуска из меню для запуска VirtualBox.

# VirtualBox

УСТАНОВКА ПАКЕТА РАСШИРЕНИЙ VIRTUALBOX

Если вам нужны дополнительные функции, такие как VirtualBox RDP, PXE, ROM с поддержкой E1000 и хост-контроллером USB 2.0 и т. Д. Вам необходимо загрузить и установить пакет расширений VirtualBox с помощью следующей команды wget.

# # wget http://download.virtualbox.org/virtualbox/6.0.0/Oracle_VM_VirtualBox_Extension_Pack-6.0.0.vbox-extpack

Чтобы установить пакет расширений, после того, как вы загрузили vbox-extpack, откройте его при помощи Virtualbox, как показано ниже.

Если это не сработает, откройте Virtaulbox – «Настройки» – «Расширения» и найдите vbox-extpack для его установки.

ОБНОВЛЕНИЕ VIRTUALBOX

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

На RHEL/CentOS/Fedora

# yum update VirtualBox-6.0

На Ubuntu/Linux Mint

# apt-get install VirtualBox-6.0

УДАЛЕНИЕ VIRTUALBOX

Если вы хотите полностью удалить VirtualBox, просто используйте следующую команду, чтобы полностью удалить его из вашей системы.

На RHEL/CentOS/Fedora

# cd /etc/yum.repos.d/# rm -rf virtualbox.repo

# yum remove VirtualBox-6.0

На Ubuntu/Linux Mint

# apt-get remove VirtualBox-6.0

Вы также можете скачать VirtualBox 6.0 для других платформ Linux, Windows и Mac OS X с официального сайта.

Источник: https://zen.yandex.ru/media/merion_networks/ustanovka-virtualbox-60-na-linux-5caee9a3baeeed00b958d5ac

VirtualBox — Запуск Android эмулятора в виртуальной среде для тестирования Android проекта

Dkms virtualbox

В данной статье я постараюсь описать пример инфраструктуры для автотестов Android приложений (mobile automation), а именно, среду для проведения тестранов UI автотестов на эмуляторе Android девайса в виртуальной среде.

Требования:

Для Android эмулятора нужна поддержка Intel Virtualization Technology или AMD Virtualization. Поэтому часто тестировщик сталкивается с необходимостью запуска тестранов только в нативной среде ПК с прямым доступом к центральному процессору.

В этом случае схема получается такая:

Трудности:

  1. Невозможно легко пересоздать среду эмулятора.

  2. Среда не создаётся перед проведением тестирования, и после проведения не удаляется, поэтому среда может влиять на тестируемое приложение.

  3. Починка и настройка среды занимает много времени.

Предлагаемое решение в данной статье:

  1. Создать VM с использованием возможностей nested virtualization VirtualBox (более подробное описание технологии в этой статье).

  2. Пробросить поддержку Intel-VT или KVM внутрь созданной виртуальной машины.

  3. Изнутри VM создать и запустить Android эмулятор девайса.

  4. Провести тестран UI тестов приложения.

  5. После проведения тестирования уничтожить VM.

В этом случае схема получится такая:

Предполагаемые преимущества:

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

  2. Уменьшится время поддержки среды и управляющего ПО, так как не нужно каждый раз руками ничего устанавливать и чинить неисправности инвайронмента.

В настоящей статье будет использоваться оборудование:

  • процеcсор: Intel i5-1035G1
  • память: 12Gb
  • в BIOS включена поддержка виртуализации процессора
  • OC: Ubuntu 20.4

Шаг 1: Установка ПО на нативную OS

Отдельно обращу внимание на управление машиной. Будем использовать протокол VNC для создания удобного удаленного рабочего стола. Протокол универсальный, для Linux, Windows, Mac и т.д.

x11vnc сервер

Установка:

sudo apt-get update #обновляем пакетыsudo apt install x11vnc #устанавливаем x11vncsudo x11vnc -storepasswd /etc/x11vnc.pass #создаём пароль в файликеsudo chmod ugo+r /etc/x11vnc.pass #разрешаем использовать файлик с паролем

Запуск с параметрами:

x11vnc -nevershared -forever -dontdisconnect -many -noxfixes -rauth /etc/x11vnc.pass

Установка VirtualBox

Вводим в командной строке:

sudo apt-get updatesudo apt install gcc make linux-headers-$(uname -r) dkmswget -q https://www.virtualbox.org/download/oracle_vbox_2016.asc -O- | sudo apt-key add -wget -q https://www.virtualbox.org/download/oracle_vbox.asc -O- | sudo apt-key add -sudo sh -c 'echo “deb http://download.virtualbox.org/virtualbox/debian $(lsb_release -sc) contrib” >> /etc/apt/sources.list.d/virtualbox.list'sudo apt update #обновляем репозиторийsudo apt install virtualbox-6.1

Создание VM

Мы пойдем по самому простому пути и создадим VM из интерфейса VirtualBox с такими характеристиками. В дальнейшем создание VM будет code-first

  • Количество CPU – не больше половины имеющихся на Вашем процессоре (в идеале половина)
  • Оперативная память – будет достаточно 4Gb

Nested Virtualization можно также включить из командной строки:

VBoxManage modifyvm –nested-hw-virt on

Далее переходим в саму VM.

Шаг 2: Установка ПО на VM

В первый раз мы установим всё руками. В дальнейшем весь установочный сценарий будет помещен в Packer, что позволит нам создавать VM с нужными настройками каждый раз перед началом тестирования.

Устанавливаем последний образ Ubuntu с официального сайта.

Установка KVM

egrep -c '(vmx|svm)' /proc/cpuinfo #Если в результате будет возвращено 0 – значит Ваш процессор не поддерживает аппаратной виртуализации, если 1 или больше – то вы можете использовать KVM на своей машинеsudo apt-get update #Обновляем пакетыsudo apt install qemu qemu-kvm libvirt-daemon libvirt-clients bridge-utils virt-manager #Установка KVM и сопроводительные либыsudo usermod -G libvirt -a ubuntu #Добавление пользователя ubuntu в группу libvirtsudo systemctl status libvirtd #Проверка запуска сервиса libvirtsudo kvm-ok #Проверка статуса KVM

Установка Android command line tools

sudo apt-get update #обновляем пакетыyes | sudo apt install android-sdk #устанавливаем Android SDKsudo apt install unzip #Устанавливаем unzip для распаковки архивовcd ~/Downloads #переходим в каталог Downloadswget https://dl.google.com/android/repository/commandlinetools-linux-6858069_latest.

zip #скачиваем архив с command line tools с официального сайта Googlesudo unzip commandlinetools-linux-6858069_latest.zip -d /usr/lib/android-sdk/cmdline-tools/ #распаковываемsudo mv /usr/lib/android-sdk/cmdline-tools/cmdline-tools /usr/lib/android-sdk/cmdline-tools/tools #переименовываем каталог с тулами.

Сейчас странная ситуация, Google раздаёт тулу с одним каталогом, а SDK ищет его в другом каталогеexport ANDROID_SDK_ROOT=/usr/lib/android-sdk #регистируем переменнуюexport PATH=$PATH:$ANDROID_SDK_ROOT/cmdline-tools/latest/bin:$ANDROID_SDK_ROOT/cmdline-tools/tools/bin #регистрируем новый Pathexport PATH=$PATH:$ANDROID_SDK_ROOT/emulator #регистируем новый Path

Проверяем, что sdkmanager работает и Android SDK доступен:

sdkmanager –version

Устанавливаем Android tools

yes | sdkmanager –licenses #принимаем лицензииsudo chown $USER:$USER $ANDROID_SDK_ROOT -R #Ставим для текущего юзера право менять содержимое папки с ANDROID_SDK_ROOTyes | sdkmanager “cmdline-tools;latest” #устанавливаем cmdline-toolssdkmanager “build-tools;30.0.

3″ #Устанавливаем build-toolssdkmanager “platform-tools” #Устанавливаем platform-toolssdkmanager “platforms;android-30″sdkmanager “sources;android-30″sdkmanager “emulator” #Устанавливаем AVD manageremulator -accel-check #Проверяем, есть ли поддержка виртуализацииyes | sdkmanager “system-images;android-23;google_apis;x86_64” #Устанавливаем образ для эмулятораsdkmanager –list #Выводим список установленных пакетов. Обычно для CI оставляю.no | avdmanager create avd -n android-23_google_apis_x86_64 -k “system-images;android-23;google_apis;x86_64” #создаём эмулятор из образаemulator -list-avds #проверяем наличие созданного эмулятора

Устанавливаем Git и клонируем проект

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

sudo apt update #обновляем пакетыyes | sudo apt install git #установка Gitgit –version #проверка установкиmkdir ~/workspace #создаём каталог для проектовcd ~/workspace #переходим в каталог для проектовgit clone https://github.com/panarik/AndroidClearApp.git #клонируем проект на локалcd ~/workspace/AndroidClearApp #переходим в каталог проекта

Шаг 3: Проведение тестирования проекта на созданном Android эмуляторе

./gradlew assembleDebug –no-daemon #билдим APKemulator -avd android-23_google_apis_x86_64 -no-audio -no-window -verbose -gpu off -accel off #запускаем эмулятор из ранее созданныхsleep 240 #аналог будильника, ждём четыре минуты пока загрузится эмуляторadb get-state #проверяем, видит ли ADB запущенный эмулятор. Если нет, то ждем еще

ADB видит подключенный к нему эмулятор:

Запускаем тестран:

./gradlew connectedAndroidTest –no-daemon

Ура! Тест пройден!

Негативный тест

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

Подготовка:

  • Переустановка VirtualBox на родительской машине (чтобы избежать ошибочное сохранение конфигов)

sudo apt purge virtualbox-6.1

  • VM мы создаём без проброса виртуализации и с одним CPU:
  • В созданной VM мы не устанавливаем:

Остальные шаги аналогичны шагу №2 с установкой ПО. Попробуем еще раз наш тестран. Обратите внимание, что ADB также видит эмулятор:

Ура! Тест не пройден! Никогда еще так не радовался проваленному тестрану:

Падает PackageManager, как и обычно при запуске из виртуальной среды без аппаратной поддержки процессора:

Заключение

Мы сделали первый этап построения инфраструктуры для проведения автотестов Android приложений. Следующим этапом должно стать упаковка описанного выше сценария в Packer (ссылка на официальный сайт) который умеет работать с образами VirtualBox. Затем весь сценарий мы попробуем запустить из CI Jenkins. Если учесть, что плагин для него уже порядком устарел, то будет очень интересно.

Все результаты опубликую, как пополнения к этой статье.

В идеале, у нас должна получится code-first инфраструктура для тестрана UI и интеграционных автотестов для Android приложений, которую можно поднять на любом современном офисном ПК, которая работает автономно, билдит тесты на родных Android эмуляторах и есть не просит.

Спасибо большое за внимание!

П.С.

Источник: https://habr.com/ru/post/533878/

Ticket #7536 (closed defect: fixed)

Dkms virtualbox

Every once in a while (I suppose every time the kernel gets updated thruough ubuntu's automatic update manager), after I reboot my ubuntu host and try to open Virtual Box and start one of my virtual machines, I get the following error:

“””The VirtualBox Linux kernel driver (vboxdrv) is either not loaded or there is a permission problem with /dev/vboxdrv. Please reinstall the kernel module by executing

'/etc/init.d/vboxdrv setup'

as root. Users of Ubuntu, Fedora or Mandriva should install the DKMS package first. This package keeps track of Linux kernel changes and recompiles the vboxdrv kernel module if necessary.”””

Then I run the abovementioned command and everything gets fixed, but it is ridiculous that I have to do so every time. Would you imagine if EVERY application I use required the same??

Needless to say, I HAVE dkms installed but this happens allthesame.

vbox-install.log (5.7 KB) – added by matteosistisette 10 years ago.

Changed 9 years ago by matteosistisette

  • Status changed from closed to reopened
  • Resolution worksforme deleted

Changed 5 years ago by Justice

Last edited 5 years ago by michael (previous) (diff)

Changed 5 years ago by michael

  • Summary changed from kernel driver not installed -> DKMS issue, please see comment 32 before re-opening to kernel driver not installed -> issue with DKMS and VirtualBox 5.0.x and earlier only, please see comment 32 before re-opening

Changed 5 years ago by MiXT4PE

  • Status changed from closed to reopened
  • Resolution fixed deleted

Changed 4 years ago by michael

Note: See TracTickets for help on using tickets.

Источник: https://www.virtualbox.org/ticket/7536

Поделиться:
Нет комментариев

    Добавить комментарий

    Ваш e-mail не будет опубликован. Все поля обязательны для заполнения.