NetBSD-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Aw: Re: graphical desktop in virtualbox



Hi,
    Thanks for these nice instructions. I have succeeded
by using them (I have had to add the package "libxslt" to install
the required program "xsltproc").

Now the mouse is integrated, I have no error but
the display is not dynamically resized.

NetBSD 9.0 was used to do the compilation.

In attachment to this mail, you will find the file
~/.xinitrc I have used to start X with the command
"startx".

Do you have an idea for the reason why the resizing is
not done? Do I have missed something?

Thanks for your help,

Best regards

> Gesendet: Montag, 06. April 2020 um 11:48 Uhr
> Von: "Chavdar Ivanov" <ci4ic4%gmail.com@localhost>
> An: "Sad Clouds" <cryintothebluesky%gmail.com@localhost>
> Cc: "Pierre Dupond" <76nemo76%gmx.ch@localhost>, "netbsd-users @ netbsd. org" <netbsd-users%netbsd.org@localhost>
> Betreff: Re: graphical desktop in virtualbox
>
> On Mon, 6 Apr 2020 at 09:52, Sad Clouds <cryintothebluesky%gmail.com@localhost> wrote:
> >
> > There were many responses to you original email, but I couldn't
> > quite figure out if anyone suggested a practical solution to your
> > problem. I'm interested to know the answer as well, as I also run
> > NetBSD as a VirtualBox VM.
> >
> > I didn't think VirtualBox extensions were usable with NetBSD guests,
>
> They are...
>
> > so I've used a different solution - TigerVNC. It is one of a few
> > software packages that also works reasonably well on sparc64. If you
> > need details on how to set it up to run remote X11 session, then drop
> > me a quick email and I'll give you a copy of my scripts.
>
>
>
> Here we are, all credit to Valery Ushakov. There are quite a bit of
> mail exchanges on port-amd64 regarding these, but the gist is as
> follows.
>
> 1. Install devel/kbuild and devel/yasm. Earlier versions of kbuild
> were unusable and there was a package in wip, now the version present
> in pkgsrc works just fine.
>
> 2. make sure /usr/src and /usr/xsrc are populated with the sources for
> the exact version you are running; I have them nfs-mounted from my
> build host. As the build process requires the exact system sources, it
> would be perhaps difficult or impossible to have this in pkgsrc;
> adding the necessary bits to the NetBSD source tree on the other hand
> would be a lot of work for not that big return.
>
> 3. Download the sources from Oracle VirtualBox, at the moment
> https://download.virtualbox.org/virtualbox/6.1.4/VirtualBox-6.1.4.tar.bz2
> .
>
> 4. Extract the sources somewhere, cd to VirtualBox-6.1.4.
>
> 5. Create LocalConfig.kmk with the following contents:
>
> VBOX_WITHOUT_HARDENING := 1
> VBOX_ONLY_ADDITIONS := 1
> VBOX_WITH_ADDITION_DRIVERS := 1
> VBOX_WITH_X11_ADDITIONS := 1
> VBOX_ONLY_ADDITIONS_WITHOUT_RTISOMAKER := 1
>
> ifeq ($(KBUILD_TARGET), netbsd)
> TEMPLATE_VBOXGUESTR3EXE_LIBS     = $(TEMPLATE_VBOXR3EXE_LIBS) crypt
> endif
>
> 6. Apply the following small patch (perhaps an oversight by whoever
> has commited the corresponding file at VirtualBox, it works for me):
>
> # cat sleepqueue-r0drv-netbsd.patch
>
> --- src/VBox/Runtime/r0drv/netbsd/sleepqueue-r0drv-netbsd.h.ORIG
> 2020-04-06 10:03:05.099721005 +0100
> +++ src/VBox/Runtime/r0drv/netbsd/sleepqueue-r0drv-netbsd.h
> 2020-04-06 10:03:22.569466321 +0100
> @@ -37,7 +37,7 @@
>  #include <iprt/time.h>
>
>  static syncobj_t vbox_syncobj = {
> -        SOBJ_SLEEPQ_FIFO,
> +        SOBJ_SLEEPQ_LIFO,
>          sleepq_unsleep,
>          sleepq_changepri,
>          sleepq_lendpri,
>
> (The error message in the build process suggests it).
>
> 7. Go ahead with the build process:
>
> kmk KBUILD_VERBOSE=2 BUILD_TYPE=release
>
> The above should finish without an error and leave you with
>
>  # ls -l out/netbsd.amd64/release/bin/additions
> total 32224
> -rwxr-xr-x 2 root wheel 8519872 Apr  6 10:05 VBoxClient
> -rwxr-xr-x 2 root wheel 8962432 Apr  6 10:05 VBoxControl
> -rwxr-xr-x 2 root wheel 8359344 Apr  6 10:05 VBoxService
> -rwxr-xr-x 1 root wheel  331312 Apr  6 10:05 vboxguest.kmod
> -rwxr-xr-x 2 root wheel  357864 Apr  6 10:05 vboxvideo_drv_110.so
> -rwxr-xr-x 2 root wheel  343312 Apr  6 10:05 vboxvideo_drv_111.so
> -rwxr-xr-x 2 root wheel  343216 Apr  6 10:05 vboxvideo_drv_112.so
> -rwxr-xr-x 2 root wheel  354712 Apr  6 10:05 vboxvideo_drv_113.so
> -rwxr-xr-x 2 root wheel  354680 Apr  6 10:05 vboxvideo_drv_114.so
> -rwxr-xr-x 2 root wheel  354952 Apr  6 10:05 vboxvideo_drv_115.so
> -rwxr-xr-x 2 root wheel  356712 Apr  6 10:05 vboxvideo_drv_116.so
> -rwxr-xr-x 2 root wheel  355672 Apr  6 10:05 vboxvideo_drv_117.so
> -rwxr-xr-x 2 root wheel  358424 Apr  6 10:05 vboxvideo_drv_118.so
> -rwxr-xr-x 2 root wheel  350448 Apr  6 10:05 vboxvideo_drv_13.so
> -rwxr-xr-x 2 root wheel  346232 Apr  6 10:05 vboxvideo_drv_14.so
> -rwxr-xr-x 2 root wheel  344536 Apr  6 10:05 vboxvideo_drv_15.so
> -rwxr-xr-x 2 root wheel  378928 Apr  6 10:05 vboxvideo_drv_16.so
> -rwxr-xr-x 2 root wheel  360632 Apr  6 10:05 vboxvideo_drv_17.so
> -rwxr-xr-x 2 root wheel  361008 Apr  6 10:05 vboxvideo_drv_18.so
> -rwxr-xr-x 2 root wheel  362296 Apr  6 10:05 vboxvideo_drv_19.so
> -rwxr-xr-x 2 root wheel  288936 Apr  6 10:05 vboxvideo_drv_70.so
> -rwxr-xr-x 2 root wheel  285664 Apr  6 10:05 vboxvideo_drv_71.so
>
> 8. Now I usually place all these files in /usr/local/bin/additions
> directory, to keep them away from the system and allow me to easlily
> replace them.
>
> 9. Create the directory for the kernel module:
>
> # mkdir /stand/amd64/9.99.54/modules/vboxguest ###(obviously adjust to
> your NetBSD version)
> # cp /usr/local/bin/additions/vboxguest.kmod
> /stand/amd64/9.99.54/modules/vboxguest
>
> 10. I modify my /etc/rc.local, adding
>
> ....
> if [ -x /stand/amd64/`uname -r`/modules/vboxguest/vboxguest.kmod ]; then
>         /sbin/modload vboxguest
> fi
>
> if [ -x /usr/local/bin/additions/VBoxService ]; then
>         /usr/local/bin/additions/VBoxService --pidfile /var/run/VBoxService.pid
> fi
> .....
>
> On first execution of '/sbin/modload vboxguest' you will get
>
> # ls -l /dev/vboxguest
> crw-rw-rw- 1 root wheel 357, 0 Nov  8 00:07 /dev/vboxguest
>
> So, no need to create it.
>
> 11. Now try
>
> . /etc/rc.local
>
> You shoould get:
>
>  . /etc/rc.local
> Starting local daemons:09:24:55.136639 main     VBoxService 6.1.4
> r136177 (verbosity: 0) netbsd.amd64 (Apr  5 2020 14:07:20) release log
> 09:24:55.136656 main     Log opened 2020-04-06T09:24:55.136618000Z
> 09:24:55.136769 main     OS Product: NetBSD
> 09:24:55.136786 main     OS Release: 9.99.54
> 09:24:55.136797 main     OS Version: NetBSD 9.99.54 (GENERIC_KASLR)
> #0: Sun Apr  5 12:22:39 BST 2020
> sysbuild@ymir:/home/sysbuild/amd64/obj/home/sysbuild/src/sys/arch/amd64/compile/GENERIC_KASLR
> 09:24:55.136806 main     Executable: /usr/local/bin/additions/VBoxService
> 09:24:55.136811 main     Process ID: 9510
> 09:24:55.136820 main     Package type: BSD_64BITS_GENERIC
> 09:24:55.138890 main     6.1.4 r136177 started. Verbose level = 0
>
> and in the log file
>
> [  3649.241416] vboxguest0 at pci0 dev 4 function 0: VirtualBox Guest
> [  3649.252985] vboxguest0: interrupting at ioapic0 pin 20
> [  3649.252985] wsmouse1 at vboxguest0 mux 0
>
> 12. Make sure you get
>
> /usr/local/bin/additions/VBoxClient --display
> /usr/local/bin/additions/VBoxClient --clipboard
>
> executed whenever you start X (in your .xinitrc, .xsession or the
> environment you are using).
>
> As I mentioned before, dynamic resizing now works, but not seamless.
> You also can't mount a shared folder (that's never been an issue for
> me).
>
> 13. Make sure "ws" driver is used for the mouse.
>
> Chavdar
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> --
> ----
>

Attachment: xinitrc
Description: Binary data



Home | Main Index | Thread Index | Old Index