Page 1 of 1

(Solved) [3.2.2] [x64] VirtualBox Guest Support autorun.sh

Posted: 18 Jan 2017, 00:51
by Oracle
To enable gcc, make and cripped source?, I already downloaded the following:

http://dl.porteus.org/x86_64/current/ke ... -devel.xzm
http://dl.porteus.org/x86_64/current/ke ... ources.xzm

I check on crippled_sources/usr/src/linux-4.9/include/config/auto.conf (found),
crippled_sources/usr/src/linux-4.9/include/generated/autoconf.h (found) too.
test -e // check if file exists
- a // both expression are true

Is the build failed due to autoconf.h and auto.conf not found by VirtualBox autorun.sh?

Code: Select all

In /var/log/vboxadd-install.log, I got the following errors:
Line 1:
cp: preserving permissions for ‘/tmp/vbox.0/VBox’: Invalid argument
....
Line 21:
make KBUILD_VERBOSE=1 CONFIG_MODULE_SIG= -C /lib/modules/4.9.0-porteus/build SUBDIRS=/tmp/vbox.0 SRCROOT=/tmp/vbox.0 -j1 modules
test -e include/generated/autoconf.h -a -e include/config/auto.conf || (		\
echo >&2;							\
echo >&2 "  ERROR: Kernel configuration is invalid.";		\
echo >&2 "         include/generated/autoconf.h or include/config/auto.conf are missing.";\
echo >&2 "         Run 'make oldconfig && make prepare' on kernel src to fix it.";	\
echo >&2 ;							\
/bin/false)

Line 48:
/tmp/vbox.0/r0drv/linux/memobj-r0drv-linux.c: In function ‘rtR0MemObjNativeLockUser’:
/tmp/vbox.0/r0drv/linux/memobj-r0drv-linux.c:1053:33: warning: passing argument 4 of ‘get_user_pages’ makes pointer from integer without a cast [-Wint-conversion]
                                 fWrite,                 /* force write access. */
                                 ^
In file included from /tmp/vbox.0/r0drv/linux/the-linux-kernel.h:98:0,
                 from /tmp/vbox.0/r0drv/linux/memobj-r0drv-linux.c:31:
./include/linux/mm.h:1300:6: note: expected ‘struct page **’ but argument is of type ‘int’
 long get_user_pages(unsigned long start, unsigned long nr_pages,
      ^
/tmp/vbox.0/r0drv/linux/memobj-r0drv-linux.c:1054:33: error: passing argument 5 of ‘get_user_pages’ from incompatible pointer type [-Werror=incompatible-pointer-types]
                                 &pMemLnx->apPages[0],   /* Page array. */
                                 ^
In file included from /tmp/vbox.0/r0drv/linux/the-linux-kernel.h:98:0,
                 from /tmp/vbox.0/r0drv/linux/memobj-r0drv-linux.c:31:
./include/linux/mm.h:1300:6: note: expected ‘struct vm_area_struct **’ but argument is of type ‘struct page **’
 long get_user_pages(unsigned long start, unsigned long nr_pages,
      ^
/tmp/vbox.0/r0drv/linux/memobj-r0drv-linux.c:1050:18: error: too many arguments to function ‘get_user_pages’
             rc = get_user_pages(R3Ptr,                  /* Where from. */
                  ^
In file included from /tmp/vbox.0/r0drv/linux/the-linux-kernel.h:98:0,
                 from /tmp/vbox.0/r0drv/linux/memobj-r0drv-linux.c:31:
./include/linux/mm.h:1300:6: note: declared here
 long get_user_pages(unsigned long start, unsigned long nr_pages,
      ^
/tmp/vbox.0/r0drv/linux/memobj-r0drv-linux.c:1067:33: warning: passing argument 6 of ‘get_user_pages_remote’ makes pointer from integer without a cast [-Wint-conversion]
                                 fWrite,                 /* force write access. */
                                 ^
In file included from /tmp/vbox.0/r0drv/linux/the-linux-kernel.h:98:0,
                 from /tmp/vbox.0/r0drv/linux/memobj-r0drv-linux.c:31:
./include/linux/mm.h:1296:6: note: expected ‘struct page **’ but argument is of type ‘int’
 long get_user_pages_remote(struct task_struct *tsk, struct mm_struct *mm,
      ^
/tmp/vbox.0/r0drv/linux/memobj-r0drv-linux.c:1068:33: error: passing argument 7 of ‘get_user_pages_remote’ from incompatible pointer type [-Werror=incompatible-pointer-types]
                                 &pMemLnx->apPages[0],   /* Page array. */
                                 ^
In file included from /tmp/vbox.0/r0drv/linux/the-linux-kernel.h:98:0,
                 from /tmp/vbox.0/r0drv/linux/memobj-r0drv-linux.c:31:
./include/linux/mm.h:1296:6: note: expected ‘struct vm_area_struct **’ but argument is of type ‘struct page **’
 long get_user_pages_remote(struct task_struct *tsk, struct mm_struct *mm,
      ^
/tmp/vbox.0/r0drv/linux/memobj-r0drv-linux.c:1061:18: error: too many arguments to function ‘get_user_pages_remote’
             rc = get_user_pages_remote(
                  ^
In file included from /tmp/vbox.0/r0drv/linux/the-linux-kernel.h:98:0,
                 from /tmp/vbox.0/r0drv/linux/memobj-r0drv-linux.c:31:
./include/linux/mm.h:1296:6: note: declared here
 long get_user_pages_remote(struct task_struct *tsk, struct mm_struct *mm,
      ^
cc1: some warnings being treated as errors
scripts/Makefile.build:293: recipe for target '/tmp/vbox.0/r0drv/linux/memobj-r0drv-linux.o' failed
make[2]: *** [/tmp/vbox.0/r0drv/linux/memobj-r0drv-linux.o] Error 1
Makefile:1490: recipe for target '_module_/tmp/vbox.0' failed
make[1]: *** [_module_/tmp/vbox.0] Error 2
/tmp/vbox.0/Makefile.include.footer:84: recipe for target 'vboxguest' failed
make: *** [vboxguest] Error 2
Creating user for the Guest Additions.
Creating udev rule for the Guest Additions kernel module.
Changes to /mnt/live/memory/changes

Code: Select all

/mnt/live/memory/changes
/mnt/live/memory/changes/sbin
/mnt/live/memory/changes/sbin/rcvboxadd-x11
/mnt/live/memory/changes/sbin/rcvboxadd-service
/mnt/live/memory/changes/sbin/rcvboxadd
/mnt/live/memory/changes/sbin/mount.vboxsf
/mnt/live/memory/changes/opt
/mnt/live/memory/changes/opt/VBoxGuestAdditions-5.1.6
/mnt/live/memory/changes/opt/VBoxGuestAdditions-5.1.6/uninstall.sh
/mnt/live/memory/changes/opt/VBoxGuestAdditions-5.1.6/routines.sh
/mnt/live/memory/changes/opt/VBoxGuestAdditions-5.1.6/installer
/mnt/live/memory/changes/usr
/mnt/live/memory/changes/usr/src
/mnt/live/memory/changes/usr/src/vboxguest-5.1.6
/mnt/live/memory/changes/usr/lib
/mnt/live/memory/changes/usr/lib/VBoxGuestAdditions
/mnt/live/memory/changes/usr/sbin
/mnt/live/memory/changes/usr/sbin/vbox-greeter
/mnt/live/memory/changes/usr/sbin/VBoxService
/mnt/live/memory/changes/usr/bin
/mnt/live/memory/changes/usr/bin/VBoxControl
/mnt/live/memory/changes/usr/bin/VBoxClient
/mnt/live/memory/changes/usr/lib64
/mnt/live/memory/changes/usr/lib64/VBoxGuestAdditions
/mnt/live/memory/changes/usr/lib64/VBoxEGL.so
/mnt/live/memory/changes/usr/lib64/VBoxOGL.so
/mnt/live/memory/changes/usr/lib64/VBoxOGLpassthroughspu.so
/mnt/live/memory/changes/usr/lib64/VBoxOGLpackspu.so
/mnt/live/memory/changes/usr/lib64/VBoxOGLfeedbackspu.so
/mnt/live/memory/changes/usr/lib64/VBoxOGLerrorspu.so
/mnt/live/memory/changes/usr/lib64/VBoxOGLcrutil.so
/mnt/live/memory/changes/usr/lib64/VBoxOGLarrayspu.so
/mnt/live/memory/changes/usr/lib64/libXvMCgallium.so.1
/mnt/live/memory/changes/usr/lib64/libudev.so.1
/mnt/live/memory/changes/usr/share
/mnt/live/memory/changes/usr/share/VBoxGuestAdditions
/mnt/live/memory/changes/var/cache
/mnt/live/memory/changes/var/cache/ldconfig
/mnt/live/memory/changes/var/cache/ldconfig/aux-cache
/mnt/live/memory/changes/var/lib
/mnt/live/memory/changes/var/lib/VBoxGuestAdditions
/mnt/live/memory/changes/var/lib/VBoxGuestAdditions/config
/mnt/live/memory/changes/var/lib/VBoxGuestAdditions/filelist
/mnt/live/memory/changes/var/run/utmp
/mnt/live/memory/changes/var/log
/mnt/live/memory/changes/var/log/vboxadd-install.log
/mnt/live/memory/changes/var/log/VBoxGuestAdditions.log
/mnt/live/memory/changes/var/log/secure
/mnt/live/memory/changes/var/log/messages
/mnt/live/memory/changes/var/log/wtmp
/mnt/live/memory/changes/etc
/mnt/live/memory/changes/etc/kernel
/mnt/live/memory/changes/etc/kernel/prerm.d
/mnt/live/memory/changes/etc/kernel/prerm.d/vboxadd
/mnt/live/memory/changes/etc/kernel/postinst.d
/mnt/live/memory/changes/etc/kernel/postinst.d/vboxadd
/mnt/live/memory/changes/etc/rc.d
/mnt/live/memory/changes/etc/rc.d/rc6.d
/mnt/live/memory/changes/etc/rc.d/rc6.d/K70vboxadd-x11
/mnt/live/memory/changes/etc/rc.d/rc6.d/K65vboxadd-service
/mnt/live/memory/changes/etc/rc.d/rc6.d/K90vboxadd
/mnt/live/memory/changes/etc/rc.d/rc5.d
/mnt/live/memory/changes/etc/rc.d/rc5.d/S30vboxadd-x11
/mnt/live/memory/changes/etc/rc.d/rc5.d/S35vboxadd-service
/mnt/live/memory/changes/etc/rc.d/rc5.d/S10vboxadd
/mnt/live/memory/changes/etc/rc.d/rc4.d
/mnt/live/memory/changes/etc/rc.d/rc4.d/K70vboxadd-x11
/mnt/live/memory/changes/etc/rc.d/rc4.d/S35vboxadd-service
/mnt/live/memory/changes/etc/rc.d/rc4.d/S10vboxadd
/mnt/live/memory/changes/etc/rc.d/rc3.d
/mnt/live/memory/changes/etc/rc.d/rc3.d/S30vboxadd-x11
/mnt/live/memory/changes/etc/rc.d/rc3.d/S35vboxadd-service
/mnt/live/memory/changes/etc/rc.d/rc3.d/S10vboxadd
/mnt/live/memory/changes/etc/rc.d/rc2.d
/mnt/live/memory/changes/etc/rc.d/rc2.d/K70vboxadd-x11
/mnt/live/memory/changes/etc/rc.d/rc2.d/K65vboxadd-service
/mnt/live/memory/changes/etc/rc.d/rc2.d/K90vboxadd
/mnt/live/memory/changes/etc/rc.d/rc1.d
/mnt/live/memory/changes/etc/rc.d/rc1.d/K70vboxadd-x11
/mnt/live/memory/changes/etc/rc.d/rc1.d/K65vboxadd-service
/mnt/live/memory/changes/etc/rc.d/rc1.d/K90vboxadd
/mnt/live/memory/changes/etc/rc.d/rc0.d
/mnt/live/memory/changes/etc/rc.d/rc0.d/K70vboxadd-x11
/mnt/live/memory/changes/etc/rc.d/rc0.d/K65vboxadd-service
/mnt/live/memory/changes/etc/rc.d/rc0.d/K90vboxadd
/mnt/live/memory/changes/etc/rc.d/init.d
/mnt/live/memory/changes/etc/rc.d/init.d/vboxadd-x11
/mnt/live/memory/changes/etc/rc.d/init.d/vboxadd-service
/mnt/live/memory/changes/etc/rc.d/init.d/vboxadd
/mnt/live/memory/changes/etc/ld.so.cache
/mnt/live/memory/changes/etc/udev/rules.d
/mnt/live/memory/changes/etc/udev/rules.d/60-vboxadd.rules

Re: [3.2.2] [x64] VirtualBox Guest Support autorun.sh

Posted: 18 Jan 2017, 01:20
by Oracle
Or I should use USM and download

virtualbox-extension-pack-5.0.14-x86_64-1_slonly.txz
virtualbox-kernel-addons-5.0.14_4.4.14-x86_64_slonly.txz
virtualbox-kernel-5.0.14_4.4.14-x86-1.slonly.txz

But these are for Linux kernel version 4.4.14 right? Porteus 3.2.2 is using 4.9.0, and I want to use VirtualBox 5.1.14 :unknown:

root@porteus:/mnt/sr0# sh VBoxLinuxAdditions.run --noexec --target /mnt/sda1/vb

I will try to comprehend those scripts, hopefully end up with a successful build later.

Re: [3.2.2] [x64] VirtualBox Guest Support autorun.sh

Posted: 18 Jan 2017, 02:26
by Oracle
I am using VirtualBox 5.1.6 right now on host pc, (which probably don't support kernel 4.9, not really sure about it)

Will upgrade host VirtualBox to 5.1.14 and retest.

Re: (Solved) [3.2.2] [x64] VirtualBox Guest Support autorun.

Posted: 18 Jan 2017, 07:39
by Oracle
Tested with VirtualBox version 5.1.14, Guest Additions seem to build successfully. :D

Image

Re: (Solved) [3.2.2] [x64] VirtualBox Guest Support autorun.

Posted: 18 Jan 2017, 09:15
by Oracle
I created package xzm for people who are interested :)

VirtualBox 5.1.14 r112924 Guest Support
097-vboxguestadd.xzm

Things that I tested:
- Desktop resize based on screen
- Shared Clipboard
- Shared Folders ( must modprobe vboxsf first )
mkdir /mnt/vbox
mount -t vboxsf Shared_Name /mnt/vbox

Re: (Solved) [3.2.2] [x64] VirtualBox Guest Support autorun.

Posted: 18 Jan 2017, 22:41
by fred08155
How do i get Virtualbox 5.1.14?
I just built new modules two days ago which are version 5.1.12 with vbox builder.
Is there already a new version out that can be built with vbox builder?

Re: (Solved) [3.2.2] [x64] VirtualBox Guest Support autorun.

Posted: 18 Jan 2017, 22:55
by Oracle
VirtualBox 5.1.14 was released on 17th Jan 2017, exactly 2 days ago :)
fred8155 wrote:Is there already a new version out that can be built with vbox builder?
I download VirtualBox-5.1.14-112924-Linux_amd64.run from https://www.virtualbox.org/wiki/Linux_Downloads, open VirtualBox builder, Choose VritualBox and press the folder button to load the downloaded VirtualBox-5.1.14-112924-Linux_amd64.run instead of clicking the box "I want to download the Virtualbox .run file"

I repeat with choosing VirtualBox Guest Additions, but for this one I click on I want to download the VirtualBox guest addons ISO.