You are not logged in.

#1 2017-08-02 19:01:59

intels
Member
Registered: 2017-08-02
Posts: 8

Force Guest Additions Install with OLD version of Virtualbox

Newbie first post.  I have perfectly working Arch load as a Guest using VBox and the Guest Addition works fine.

BUT, I have an old Windows 2003 Server OS on a machine that I need to put an Arch Guest on, so it is the problem.    My issue is that I have to use a several year old version of VBox (4.3.12) for it to be compatible.  I got Arch installed on it fine, Kernel is 4.11.9-1 i think.   However, when I try to use DKMS to install the Guest Additions (I need it for windows file sharing) it looks like it tries to install the latest version of 5.xxxx_OSE and does not install correctly (ie never builds the modules).  I'm guessing because the Guest Additions 5.xx or whatever won't work with the old 4.3.12 of Virtualbox.  True? 

Of course not knowing what I'm doing, I found an old 4.3.12 Guest Additions.run file and tried to manually implement it that way.    I have installed the kernel headers but it complains that "Unable to determine Linux distribution.  I found a thread about something like that but got nowhere with it.

That process ended up with a message that "VirtualBox has been installed successfully, but the kernel modules cannot be built."

Of course I've looked at a bagillion posts on VBox and GA, and as mentioned have it working on my normal updated laptop.  It is just this old windows Server OS (which I can't upgrade for various reasons I won't bore you with, but suffice to say I'm stuck with it) and also stuck with the old version of VBox.   

Hoping someone might graciously provide this newbie some pointers that I might try since the simple DKMS route won't work for me on this old machine?

Offline

#2 2017-08-02 20:09:27

ooo
Member
Registered: 2013-04-10
Posts: 1,638

Re: Force Guest Additions Install with OLD version of Virtualbox

You can grab the virtualbox-guest-dkms-4.3.12 package from Arch Linux Archive.

I'd imagine it would still work, but there's no guarantee it keep on working with the latest kernel and arch linux system.

In case something changes, or has changed in arch linux that prevents the old package from functioning, you could try to hack the PKGBUILD for latest virtualbox-guest-dkms to install the older version.

Offline

#3 2017-08-02 20:17:52

ewaller
Administrator
From: Pasadena, CA
Registered: 2009-07-13
Posts: 19,785

Re: Force Guest Additions Install with OLD version of Virtualbox

Welcome to Arch Linux.

First, the path of least resistance.  Are you merely trying to move files between guest and host? or do you really need the virtual folder stuff.  For the former, you could just use a sftp client on the Windows side and sshd on the guest. 

Assuming, no.  I would suggest that you grab the Guest Additions package from the svn ( https://www.archlinux.org/svn/ ), modify the PKGBUILD to use the version of guest additions you need, and build the package with makepkg.  I have not tried this, and I suspect as a first time poster that might look daunting.  But, let me put it out there as a starting point....

Edit:  Too slow sad

Last edited by ewaller (2017-08-02 20:18:26)


Nothing is too wonderful to be true, if it be consistent with the laws of nature -- Michael Faraday
Sometimes it is the people no one can imagine anything of who do the things no one can imagine. -- Alan Turing
---
How to Ask Questions the Smart Way

Offline

#4 2017-08-11 02:54:15

intels
Member
Registered: 2017-08-02
Posts: 8

Re: Force Guest Additions Install with OLD version of Virtualbox

Thank you both for the suggestions.  I believe I am truly trusting you that this is daunting to the beginner.  So, I initially went to the Archive and found that old dkms, as that seemed the less challenging of the two proposals thus far.  Not entirely knowing what to do with it, i simply unrolled the tarball and initiated 'Make' command at /usr/src/vboxguest-4.3-12

As expected, I was met following output; and did not think I would get that lucky.  Hopefully it is just that I am being foolish about how to implement the dkms package?  Would be grateful for a helpful comment.

*** Building 'vboxguest' module ***
make[1]: Entering directory '/usr/src/vboxguest-4.3.12/vboxguest'
grep: /lib/modules/4.12.4-1-ARCH/build/include/linux/version.h: No such file or directory
make KBUILD_VERBOSE= CONFIG_MODULE_SIG= -C /lib/modules/4.12.4-1-ARCH/build SUBDIRS=/usr/src/vboxguest-4.3.12/vboxguest SRCROOT=/usr/src/vboxguest-4.3.12/vboxguest modules
make[2]: Entering directory '/usr/lib/modules/4.12.4-1-ARCH/build'
  CC [M]  /usr/src/vboxguest-4.3.12/vboxguest/r0drv/linux/alloc-r0drv-linux.o
In file included from /usr/src/vboxguest-4.3.12/vboxguest/r0drv/linux/alloc-r0drv-linux.c:31:0:
/usr/src/vboxguest-4.3.12/vboxguest/r0drv/linux/alloc-r0drv-linux.c: In function ‘VBoxGuest_RTMemContAlloc’:
/usr/src/vboxguest-4.3.12/vboxguest/r0drv/linux/the-linux-kernel.h:297:47: error: implicit declaration of function ‘set_pages_x’; did you mean ‘get_page’? [-Werror=implicit-function-declaration]
# define MY_SET_PAGES_EXEC(pPages, cPages)    set_pages_x(pPages, cPages)
                                               ^
/usr/src/vboxguest-4.3.12/vboxguest/r0drv/linux/alloc-r0drv-linux.c:418:13: note: in expansion of macro ‘MY_SET_PAGES_EXEC’
             MY_SET_PAGES_EXEC(&paPages[iPage], 1);
             ^~~~~~~~~~~~~~~~~
/usr/src/vboxguest-4.3.12/vboxguest/r0drv/linux/alloc-r0drv-linux.c: In function ‘VBoxGuest_RTMemContFree’:
/usr/src/vboxguest-4.3.12/vboxguest/r0drv/linux/the-linux-kernel.h:298:47: error: implicit declaration of function ‘set_pages_nx’; did you mean ‘set_page_node’? [-Werror=implicit-function-declaration]
# define MY_SET_PAGES_NOEXEC(pPages, cPages)  set_pages_nx(pPages, cPages)
                                               ^
/usr/src/vboxguest-4.3.12/vboxguest/r0drv/linux/alloc-r0drv-linux.c:462:13: note: in expansion of macro ‘MY_SET_PAGES_NOEXEC’
             MY_SET_PAGES_NOEXEC(&paPages[iPage], 1);
             ^~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
make[3]: *** [scripts/Makefile.build:303: /usr/src/vboxguest-4.3.12/vboxguest/r0drv/linux/alloc-r0drv-linux.o] Error 1
make[2]: *** [Makefile:1515: _module_/usr/src/vboxguest-4.3.12/vboxguest] Error 2
make[2]: Leaving directory '/usr/lib/modules/4.12.4-1-ARCH/build'
make[1]: *** [/usr/src/vboxguest-4.3.12/vboxguest/Makefile.include.footer:79: vboxguest] Error 2
make[1]: Leaving directory '/usr/src/vboxguest-4.3.12/vboxguest'
make: *** [Makefile:30: all] Error 2

Offline

#5 2017-08-11 03:28:37

intels
Member
Registered: 2017-08-02
Posts: 8

Re: Force Guest Additions Install with OLD version of Virtualbox

;Okay...I apologize for trying the previous 'Make' approach. certainly not correct I presume.  Subsequently have dkms installed, and did the following:

/usr/src/vboxguest-4.3.12 $ sudo dkms install vboxguest/4.3.12

And got this--

Kernel preparation unnecessary for this kernel.  Skipping...

Building module:
cleaning build area....
make -j1 KERNELRELEASE=4.12.4-1-ARCH -C /usr/lib/modules/4.12.4-1-ARCH/build M=/var/lib/dkms/vboxguest/4.3.12/build......(bad exit status: 2)
Error! Bad return status for module build on kernel: 4.12.4-1-ARCH (i686)
Consult /var/lib/dkms/vboxguest/4.3.12/build/make.log for more information.

Assuming the log file is helpful I provide it here......I am terribly sorry again for being at ground zero here but giving it a go.  Perhaps this all isn't worth the hassle, that said, here is the output.

/var/lib/dkms/vboxguest/4.3.12/build/
DKMS
make.log for vboxguest-4.3.12 for kernel 4.12.4-1-ARCH (i686)
Fri Aug 11 03:11:18 UTC 2017
make: Entering directory '/usr/lib/modules/4.12.4-1-ARCH/build'
  LD      /var/lib/dkms/vboxguest/4.3.12/build/built-in.o
  LD      /var/lib/dkms/vboxguest/4.3.12/build/vboxguest/built-in.o
  CC [M]  /var/lib/dkms/vboxguest/4.3.12/build/vboxguest/VBoxGuest-linux.o
  CC [M]  /var/lib/dkms/vboxguest/4.3.12/build/vboxguest/VBoxGuest.o
/var/lib/dkms/vboxguest/4.3.12/build/vboxguest/VBoxGuest.c: In function ‘VBoxGu$
/var/lib/dkms/vboxguest/4.3.12/build/vboxguest/VBoxGuest.c:82:5: warning: ISO C$
     uint32_t u32AllowedGuestCaps = pSession->u32AquiredGuestCaps | (VMMDEV_EVE$
     ^~~~~~~~
/var/lib/dkms/vboxguest/4.3.12/build/vboxguest/VBoxGuest.c: In function ‘VBoxGu$
/var/lib/dkms/vboxguest/4.3.12/build/vboxguest/VBoxGuest.c:2499:5: warning: ISO$
     uint32_t fEvents = fGenFakeEvents | pDevExt->f32PendingEvents;
     ^~~~~~~~
/var/lib/dkms/vboxguest/4.3.12/build/vboxguest/VBoxGuest.c:2517:13: warning: IS$
             int rc = RTSemEventMultiSignal(pWait->Event);
             ^~~
/var/lib/dkms/vboxguest/4.3.12/build/vboxguest/VBoxGuest.c: In function ‘VBoxGu$
/var/lib/dkms/vboxguest/4.3.12/build/vboxguest/VBoxGuest.c:2568:5: warning: ISO$
     uint32_t fCurrentOwnedCaps;
     ^~~~~~~~
/var/lib/dkms/vboxguest/4.3.12/build/vboxguest/VBoxGuest.c:2613:5: warning: ISO$
     int rc = VBoxGuestSetGuestCapabilities(fSessionOrCaps, fSessionNotCaps);
     ^~~
/var/lib/dkms/vboxguest/4.3.12/build/vboxguest/VBoxGuest.c:2626:5: warning: ISO$
     uint32_t fGenFakeEvents = 0;
     ^~~~~~~~
  CC [M]  /var/lib/dkms/vboxguest/4.3.12/build/vboxguest/VBoxGuest2.o
  CC [M]  /var/lib/dkms/vboxguest/4.3.12/build/vboxguest/GenericRequest.o
  CC [M]  /var/lib/dkms/vboxguest/4.3.12/build/vboxguest/HGCMInternal.o
  CC [M]  /var/lib/dkms/vboxguest/4.3.12/build/vboxguest/Init.o
  CC [M]  /var/lib/dkms/vboxguest/4.3.12/build/vboxguest/PhysHeap.o
  CC [M]  /var/lib/dkms/vboxguest/4.3.12/build/vboxguest/SysHlp.o
  CC [M]  /var/lib/dkms/vboxguest/4.3.12/build/vboxguest/VMMDev.o
  CC [M]  /var/lib/dkms/vboxguest/4.3.12/build/vboxguest/r0drv/alloc-r0drv.o
  CC [M]  /var/lib/dkms/vboxguest/4.3.12/build/vboxguest/r0drv/linux/alloc-r0drv-linux.o
In file included from /var/lib/dkms/vboxguest/4.3.12/build/vboxguest/r0drv/linux/alloc-r0drv-linux.c:31:0:
/var/lib/dkms/vboxguest/4.3.12/build/vboxguest/r0drv/linux/alloc-r0drv-linux.c: In function ‘VBoxGuest_RTMemContAll$
/var/lib/dkms/vboxguest/4.3.12/build/vboxguest/r0drv/linux/the-linux-kernel.h:297:47: error: implicit declaration o$
# define MY_SET_PAGES_EXEC(pPages, cPages)    set_pages_x(pPages, cPages)
                                               ^
/var/lib/dkms/vboxguest/4.3.12/build/vboxguest/r0drv/linux/alloc-r0drv-linux.c:418:13: note: in expansion of macro $
             MY_SET_PAGES_EXEC(&paPages[iPage], 1);
             ^~~~~~~~~~~~~~~~~
/var/lib/dkms/vboxguest/4.3.12/build/vboxguest/r0drv/linux/alloc-r0drv-linux.c: In function ‘VBoxGuest_RTMemContFre$
/var/lib/dkms/vboxguest/4.3.12/build/vboxguest/r0drv/linux/the-linux-kernel.h:298:47: error: implicit declaration o$
# define MY_SET_PAGES_NOEXEC(pPages, cPages)  set_pages_nx(pPages, cPages)
                                               ^
/var/lib/dkms/vboxguest/4.3.12/build/vboxguest/r0drv/linux/alloc-r0drv-linux.c:462:13: note: in expansion of macro $
             MY_SET_PAGES_NOEXEC(&paPages[iPage], 1);
             ^~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:303: /var/lib/dkms/vboxguest/4.3.12/build/vboxguest/r0drv/linux/alloc-r0drv-li$
make[1]: *** [scripts/Makefile.build:561: /var/lib/dkms/vboxguest/4.3.12/build/vboxguest] Error 2
make: *** [Makefile:1515: _module_/var/lib/dkms/vboxguest/4.3.12/build] Error 2
make: Leaving directory '/usr/lib/modules/4.12.4-1-ARCH/build'

Offline

#6 2017-08-11 04:25:32

intels
Member
Registered: 2017-08-02
Posts: 8

Re: Force Guest Additions Install with OLD version of Virtualbox

last reply to this, as i'm obviously grasping for straws......i see the same problem here, but doesn't appear to have an answer. I guess i'll stop spamming the forum now

https://www.bountysource.com/issues/470 … x-mainline

Offline

Board footer

Powered by FluxBB