Openembedded Devel Discussions
 help / color / mirror / Atom feed
From: zboszor@pr.hu
To: Martin Jansa <martin.jansa@gmail.com>
Cc: openembedded-devel@lists.openembedded.org
Subject: Re: [meta-oe][PATCH] vboxguestdrivers: upgrade to 5.2.6
Date: Mon, 26 Feb 2018 06:37:21 +0100	[thread overview]
Message-ID: <f95e15a0e40deb7eb0d3f579fb5740d7@pr.hu> (raw)
In-Reply-To: <20180224105155.14511-1-Martin.Jansa@gmail.com>

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.

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.

> 
> Signed-off-by: Martin Jansa <Martin.Jansa@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


  parent reply	other threads:[~2018-02-26  5:52 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-02-24 10:51 [meta-oe][PATCH] vboxguestdrivers: upgrade to 5.2.6 Martin Jansa
2018-02-24 15:57 ` Khem Raj
2018-02-24 16:28   ` Martin Jansa
2018-02-26  0:24     ` akuster808
2018-02-26  5:37 ` zboszor [this message]
2018-03-01  9:45   ` Martin Jansa
2018-03-01  9:39 ` [meta-oe][PATCHv2] vboxguestdrivers: upgrade to 5.2.8 Martin Jansa
2018-03-02  0:42 ` [meta-oe][PATCHv3] " Martin Jansa

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=f95e15a0e40deb7eb0d3f579fb5740d7@pr.hu \
    --to=zboszor@pr.hu \
    --cc=martin.jansa@gmail.com \
    --cc=openembedded-devel@lists.openembedded.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox