vboxguestdrivers: upgrade to 5.2.6

* 5.1.26 doesn't build with 4.15 kernel

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
This commit is contained in:
Martin Jansa 2018-02-24 10:51:55 +00:00 committed by Armin Kuster
parent 6d3da81094
commit 7b5d778f8b
2 changed files with 107 additions and 5 deletions

View File

@ -0,0 +1,90 @@
Based on:
https://raw.githubusercontent.com/mjmaravillo/misc/master/linux-4.15.0-rc8-VBoxGuestAdditions-amd64.diff
Upstream-Status: Pending (hopefully new vbox will be released soon with proper 4.15 support, this patch isn't backwards compatible)
--- vbox_module.orig/vboxvideo/vbox_mode.c 2018-02-18 16:42:47.000000000 +0000
+++ vbox_module/vboxvideo/vbox_mode.c 2018-02-18 16:55:14.466029313 +0000
@@ -396,7 +396,7 @@
/* pick the encoder ids */
if (enc_id)
- return drm_encoder_find(connector->dev, enc_id);
+ return drm_encoder_find(connector->dev, NULL, enc_id);
return NULL;
}
--- vbox_module.orig/vboxguest/VBoxGuest-linux.c 2018-02-18 16:42:28.000000000 +0000
+++ vbox_module/vboxguest/VBoxGuest-linux.c 2018-02-18 16:54:36.793049118 +0000
@@ -1058,7 +1058,7 @@
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 0)
/** log and dbg_log parameter setter. */
-static int vgdrvLinuxParamLogGrpSet(const char *pszValue, struct kernel_param *pParam)
+static int vgdrvLinuxParamLogGrpSet(const char *pszValue, const struct kernel_param *pParam)
{
if (g_fLoggerCreated)
{
@@ -1073,7 +1073,7 @@
}
/** log and dbg_log parameter getter. */
-static int vgdrvLinuxParamLogGrpGet(char *pszBuf, struct kernel_param *pParam)
+static int vgdrvLinuxParamLogGrpGet(char *pszBuf, const struct kernel_param *pParam)
{
PRTLOGGER pLogger = pParam->name[0] == 'd' ? RTLogDefaultInstance() : RTLogRelGetDefaultInstance();
*pszBuf = '\0';
@@ -1084,7 +1084,7 @@
/** log and dbg_log_flags parameter setter. */
-static int vgdrvLinuxParamLogFlagsSet(const char *pszValue, struct kernel_param *pParam)
+static int vgdrvLinuxParamLogFlagsSet(const char *pszValue, const struct kernel_param *pParam)
{
if (g_fLoggerCreated)
{
@@ -1098,7 +1098,7 @@
}
/** log and dbg_log_flags parameter getter. */
-static int vgdrvLinuxParamLogFlagsGet(char *pszBuf, struct kernel_param *pParam)
+static int vgdrvLinuxParamLogFlagsGet(char *pszBuf, const struct kernel_param *pParam)
{
PRTLOGGER pLogger = pParam->name[0] == 'd' ? RTLogDefaultInstance() : RTLogRelGetDefaultInstance();
*pszBuf = '\0';
@@ -1109,7 +1109,7 @@
/** log and dbg_log_dest parameter setter. */
-static int vgdrvLinuxParamLogDstSet(const char *pszValue, struct kernel_param *pParam)
+static int vgdrvLinuxParamLogDstSet(const char *pszValue, const struct kernel_param *pParam)
{
if (g_fLoggerCreated)
{
@@ -1123,7 +1123,7 @@
}
/** log and dbg_log_dest parameter getter. */
-static int vgdrvLinuxParamLogDstGet(char *pszBuf, struct kernel_param *pParam)
+static int vgdrvLinuxParamLogDstGet(char *pszBuf, const struct kernel_param *pParam)
{
PRTLOGGER pLogger = pParam->name[0] == 'd' ? RTLogDefaultInstance() : RTLogRelGetDefaultInstance();
*pszBuf = '\0';
@@ -1134,7 +1134,7 @@
/** r3_log_to_host parameter setter. */
-static int vgdrvLinuxParamR3LogToHostSet(const char *pszValue, struct kernel_param *pParam)
+static int vgdrvLinuxParamR3LogToHostSet(const char *pszValue, const struct kernel_param *pParam)
{
if ( pszValue == NULL
|| *pszValue == '\0'
@@ -1152,7 +1152,7 @@
}
/** r3_log_to_host parameter getter. */
-static int vgdrvLinuxParamR3LogToHostGet(char *pszBuf, struct kernel_param *pParam)
+static int vgdrvLinuxParamR3LogToHostGet(char *pszBuf, const struct kernel_param *pParam)
{
strcpy(pszBuf, g_DevExt.fLoggingEnabled ? "enabled" : "disabled");
return strlen(pszBuf);

View File

@ -12,22 +12,27 @@ COMPATIBLE_MACHINE = "(qemux86|qemux86-64)"
VBOX_NAME = "VirtualBox-${PV}"
SRC_URI = "http://download.virtualbox.org/virtualbox/${PV}/${VBOX_NAME}.tar.bz2 \
file://Makefile.utils \
file://Makefile.utils \
"
SRC_URI[md5sum] = "d3aec8190c649d7e0d92ba374779dfe3"
SRC_URI[sha256sum] = "b5715035e681a11ef1475f83f9503d34a00f0276b89c572eebec363dda80c8a9"
# For default linux-yocto 4.15
SRC_URI += "file://linux-4.15.0-rc8-VBoxGuestAdditions-amd64.diff"
SRC_URI[md5sum] = "4490d6929dfae41cdf05e34f583318c8"
SRC_URI[sha256sum] = "fe705288ee50efcce10ff4c80e461a1c7091e461a7b55f98842fa1c9772ca4e7"
S = "${WORKDIR}/vbox_module"
export BUILD_TARGET_ARCH="${ARCH}"
export BUILD_TARGET_ARCH_x86-64="amd64"
export KERN_DIR="${STAGING_KERNEL_DIR}"
EXTRA_OEMAKE += "KERN_DIR='${WORKDIR}/${KERNEL_VERSION}/build'"
addtask export_sources before do_patch after do_unpack
do_export_sources() {
mkdir -p "${S}"
${WORKDIR}/${VBOX_NAME}/src/VBox/Additions/linux/export_modules ${T}/vbox_modules.tar.gz
${WORKDIR}/${VBOX_NAME}/src/VBox/Additions/linux/export_modules.sh ${T}/vbox_modules.tar.gz
tar -C "${S}" -xzf ${T}/vbox_modules.tar.gz
# add a mount utility to use shared folder from VBox Addition Source Code
@ -38,6 +43,13 @@ do_export_sources() {
}
do_configure_prepend() {
# vboxguestdrivers/5.2.6-r0/vbox_module/vboxguest/Makefile.include.header:99: *** The variable KERN_DIR must be a kernel build folder and end with /build without a trailing slash, or KERN_VER must be set. Stop.
# vboxguestdrivers/5.2.6-r0/vbox_module/vboxguest/Makefile.include.header:108: *** The kernel build folder path must end in <version>/build, or the variable KERN_VER must be set. Stop.
mkdir -p ${WORKDIR}/${KERNEL_VERSION}
ln -snf ${STAGING_KERNEL_DIR} ${WORKDIR}/${KERNEL_VERSION}/build
}
# compile and install mount utility
do_compile_append() {
oe_runmake 'LD=${CC}' 'LDFLAGS=${LDFLAGS}' -C ${S}/utils