[vbox-dev] Fixes for kernel v5.5

Frank Batschulat frank.batschulat at oracle.com
Fri Dec 20 22:04:55 UTC 2019


Larry, pls. see:

Ticket #19145 (accepted defect)
linux: kernel 5.5-rc1/rc2 - we need changes
https://www.virtualbox.org/ticket/19145

On Fri, 20 Dec 2019 22:48:16 +0100, Larry Finger  
<Larry.Finger at lwfinger.net> wrote:

> With kernel v5.5, the only change so far is in the behavior of depmod. In
> earlier versions, it was sufficient to copy the contents of  
> Module.sysmvers from
> the vboxdrv directory to the current directory to have the exported  
> symbols from
> vboxdrv be available to another module such as vboxnetflt, etc. With  
> v5.5, that
> no longer works.
>
> The workaround is to pass the path of Module.sysvers to kbuild (make) in  
> a
> symbol named KBUILD_EXTRA_SYMBOLS. The patch file, which has an MIT  
> license, is
> attached. Additional changes were required in the .spec file used to  
> build an
> openSUSE RPM, and I would expect changes to be needed for the RPM or DEB  
> build
> of other distros. As these changes do not exist here as a separate patch  
> file, I
> cannot attach them; however, the meat of the inline builds need to look  
> like this:
>
>         if [ "$module_name" = "vboxdrv" -o \
>              "$module_name" = "vboxguest" ] ; then
>              SYMBOLS=""
>          fi
>          # create build directory for specific flavor
>          mkdir -p modules_build_dir/$flavor
>
>          # copy sources which will be used to build vbox module in last  
> step
>          cp -r $vbox_module/ modules_build_dir/$flavor/
>
>          # copy vboxdrv (for host) module symbols which are used by  
> vboxnetflt
> and vboxnetadp km's:
>          if [ "$module_name" = "vboxnetflt" -o \
>               "$module_name" = "vboxnetadp" -o \
>               "$module_name" = "vboxpci" ] ; then
>              cp $PWD/modules_build_dir/$flavor/vboxdrv/Module.symvers     
> \
>                    $PWD/modules_build_dir/$flavor/$module_name
>              SYMBOLS="$PWD/modules_build_dir/$flavor/vboxdrv/Module.symvers"
>          fi
>          # copy vboxguest (for guest) module symbols which are used by  
> vboxsf km:
>         if [ "$module_name" = "vboxsf" -o \
>              "$module_name" = "vboxvideo" ] ; then
>             cp $PWD/modules_build_dir/$flavor/vboxguest/Module.symvers \
>                    $PWD/modules_build_dir/$flavor/$module_name
>              SYMBOLS="$PWD/modules_build_dir/$flavor/vboxguest/Module.symvers"
>          fi
>          # build the module for the specific flavor
>          make -j2 -C %{_prefix}/src/linux-obj/%{_target_cpu}/$flavor \
> 	 %{?linux_make_arch} \
> 	 modules M=$PWD/modules_build_dir/$flavor/$module_name  \
>   	 KBUILD_EXTRA_SYMBOLS="$SYMBOLS" V=1
>
> Larry


-- 
frankB

Oracle Virtualbox Development


More information about the vbox-dev mailing list