aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Jansa <martin.jansa@gmail.com>2018-02-24 10:51:55 +0000
committerArmin Kuster <akuster808@gmail.com>2018-03-01 16:12:56 -0800
commit7b5d778f8bef90056c9b2c5cc08d05b40dcf8e59 (patch)
treec9cce58cac923956edeb59e3185a2071c20e7b69
parent6d3da810947c5b4725f6a83e87fad9df2f2eee28 (diff)
downloadmeta-openembedded-7b5d778f8bef90056c9b2c5cc08d05b40dcf8e59.zip
meta-openembedded-7b5d778f8bef90056c9b2c5cc08d05b40dcf8e59.tar.gz
meta-openembedded-7b5d778f8bef90056c9b2c5cc08d05b40dcf8e59.tar.bz2
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>
-rw-r--r--meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/linux-4.15.0-rc8-VBoxGuestAdditions-amd64.diff90
-rw-r--r--meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_5.2.6.bb (renamed from meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_5.1.26.bb)22
2 files changed, 107 insertions, 5 deletions
diff --git a/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/linux-4.15.0-rc8-VBoxGuestAdditions-amd64.diff b/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/linux-4.15.0-rc8-VBoxGuestAdditions-amd64.diff
new file mode 100644
index 0000000..23a9021
--- /dev/null
+++ b/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/linux-4.15.0-rc8-VBoxGuestAdditions-amd64.diff
@@ -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);
diff --git a/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_5.1.26.bb b/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_5.2.6.bb
index fdefe03..c018b78 100644
--- a/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_5.1.26.bb
+++ b/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_5.2.6.bb
@@ -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