[oe] [meta-oe][PATCH] vboxguestdrivers: upgrade to 5.2.6

Martin Jansa martin.jansa at gmail.com
Thu Mar 1 09:45:00 UTC 2018


On Mon, Feb 26, 2018 at 06:37:21AM +0100, zboszor at pr.hu wrote:
> 2018-02-24 11:51 időpontban Martin Jansa ezt írta:
> 
> > * 5.1.26 doesn't build with 4.15 kernel
> 
> But 5.1.32 does IIRC.

According to the changelog only 5.1.34 does:
https://www.virtualbox.org/wiki/Changelog-5.1
VirtualBox 5.1.34 (released 2018-02-27)

I've sent v2 which updated to 5.2.8 which includes 4.15 support as well:
https://www.virtualbox.org/wiki/Changelog
VirtualBox 5.2.8 (released 2018-02-27)

Linux guests: Linux 4.15 support (bugs #17311, #17320, #17282)

> Anyway, kernel 4.15 includes the vboxguest and vboxvideo
> drivers which has the advantage that these drivers are
> signed properly (in case you have set it in the kernel config)
> unlike the drivers coming from vboxguestdrivers.

I think that 4.15 contains only vboxvideo, not vboxguest and vboxsf
provided by vboxguestdrivers. 4.16 contains vboxguest (I don't know
about vboxsf support in vanilla).

Regards,
> > 
> > Signed-off-by: Martin Jansa <Martin.Jansa at gmail.com>
> > ---
> > .../linux-4.15.0-rc8-VBoxGuestAdditions-amd64.diff | 90 
> > ++++++++++++++++++++++
> > ...drivers_5.1.26.bb => vboxguestdrivers_5.2.6.bb} | 22 ++++--
> > 2 files changed, 107 insertions(+), 5 deletions(-)
> > create mode 100644 
> > meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/linux-4.15.0-rc8-VBoxGuestAdditions-amd64.diff
> > rename 
> > meta-oe/recipes-support/vboxguestdrivers/{vboxguestdrivers_5.1.26.bb => 
> > vboxguestdrivers_5.2.6.bb} (69%)
> > 
> > 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 0000000000..23a9021f04
> > --- /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 
> > [1]
> > +
> > +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
> > similarity index 69%
> > rename from 
> > meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_5.1.26.bb
> > rename to 
> > meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_5.2.6.bb
> > index fdefe03172..c018b789f2 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 
> > [2] \
> > - file://Makefile.utils [3] \
> > + file://Makefile.utils [3] \
> > "
> > -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 [4]"
> > +
> > +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
> > --
> > 2.15.1
> 
> 
> 
> Links:
> ------
> [1] 
> https://raw.githubusercontent.com/mjmaravillo/misc/master/linux-4.15.0-rc8-VBoxGuestAdditions-amd64.diff
> [2] http://download.virtualbox.org/virtualbox/${PV}/${VBOX_NAME}.tar.bz2
> [3] file://Makefile.utils
> [4] file://linux-4.15.0-rc8-VBoxGuestAdditions-amd64.diff

-- 
Martin 'JaMa' Jansa     jabber: Martin.Jansa at gmail.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 195 bytes
Desc: Digital signature
URL: <http://lists.openembedded.org/pipermail/openembedded-devel/attachments/20180301/e30f4d9e/attachment-0002.sig>


More information about the Openembedded-devel mailing list