原创

Deepin 编译VirtualBox实录以及编译报错解决

网上都没有Deepin编译VirtualBox的文章,估计大佬们不屑写,懂的不写,不懂的又不知道咋搞,为此我作为一个半懂不懂的入门新手Linus只能操刀,实战一波,经过一下午的研究,整理出了这篇文章,嗯,应该没毛病了,如果你想编译VirtualBox装逼,但是你又不懂,恭喜你啦,看过这篇文章后,你肯定能玩的贼溜。

这是我为数不多的,非常完整的教程,希望能带给你帮助,如果有转载的,请注明丢节操吧编写,不胜感激!

1.前言

最近在用VirtualBox的时候发现剪切板有问题。

因为是用的深度商店下载的VirtualBox,就感觉是版本不够。然后就想着编译下VirtualBox。

说做就做。这中间遇到了好多次编译报错,通过Google解决了一些。

我目前的版本:lsb_release -a

No LSB modules are available.

Distributor ID:Deepin

Description:Deepin 15.5

Release:15.5

Codename:unstable

内核:

uname -r:4.14.0-deepin2-amd64

cat /proc/version : Linux version 4.14.0-deepin2-amd64 (yangbo@deepin.com) (gcc version 6.3.0 20170321 (Debian 6.3.0-11)) #1 SMP PREEMPT Deepin 4.14.12-2 (2018-01-06)

virtualBox提供了linux在线编译文档:https://www.virtualbox.org/wiki/Linux%20build%20instructions

按照文档中Debian的去编译就好了。

2.卸载旧版本的VirtualBox

在启动器上右键卸载就好了
运行

sudo apt-get autoremove --purge virtualbox

3.依赖包安装

安装依赖包:

sudo apt-get install gcc g++ bcc iasl xsltproc uuid-dev zlib1g-dev libidl-dev \
                libvpx-dev libssl-dev qt5-default g++-multilib qttools5-dev-tools \
                libsdl1.2-dev libxcursor-dev libasound2-dev libstdc++5 \
                libpulse-dev libxml2-dev libxslt1-dev \
                python-dev libqt4-dev qt4-dev-tools libcap-dev \
                libxmu-dev mesa-common-dev libglu1-mesa-dev \
                linux-kernel-headers libcurl4-openssl-dev libpam0g-dev \
                libxrandr-dev libxinerama-dev libqt4-opengl-dev makeself \
                libdevmapper-dev default-jdk python-central \
                texlive-latex-base \
                texlive-latex-extra texlive-latex-recommended \
                texlive-fonts-extra texlive-fonts-recommended

其中有个libhal-dev,跳过跳过。。。

1527403521198821.png

4.生成env.sh环境变量

然后是生成环境变量env.sh

cd 到下载的源码目录,比如我的VirtualBox-5.2.12

执行:./configure --disable-hardening

等一会,如果这中间有报错,比如:说啥没找到,那么要记住,要去:源码包的目录下,找到configure.log来看具体的错误

一般都是包不存在,比如:"sys/cdefs.h: No such file or directory"

"QtGlobal: No such file or directory"

之类的

针对这些错误具体再去sudo apt-get install xxx

即可。

之后执行:source ./env.sh

5.编译

执行kmk all

漫长的等待。。。。
image.png

6.编译内核

cd out/linux.amd64/release/bin/src

具体是linux.amd64还是其他,在kmk all编译结束后,可以看到make的路径

执行:sudo make

执行:sudo make install

赋予权限:sudo chmod +rw /dev/vboxdrv

不然就会报错:

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

7.运行

如果现在还没有啥报错,恭喜你啦,成功编译了VirtualBox Gui以及内核啦

现在可以通过命令行使用 ./VirtualBox 来运行啦

image.png

如果你的虚拟机之前以及安装了USB3.0的扩展包,那现在也要安装下才能RUN虚拟机。

具体可以打开VirtualBox Gui界面进行安装,这里不再赘述,可参见:https://www.virtualbox.org/manual/ch01.html#intro-installing

8.参考内容

https://cromwell-intl.com/open-source/virtualbox-build.html

本文来自:Deepin 编译VirtualBox实录以及编译报错解决-小码农,转载请保留本条链接,感谢!

温馨提示:
本文最后更新于 2022年03月01日,已超过 780 天没有更新。若文章内的图片失效(无法正常加载),请留言反馈或直接联系我
正文到此结束
该篇文章的评论功能已被站长关闭
本文目录