Communication from the VM is primarily initiated by an IRQ on the PCI device's interrupt line, which should then be followed up by appropriate packet requests, one of which should be of a special "Acknowledge Events" type. Receiving works the same way, as you must prepare a packet with a request type and provide its physical address after the MMIO port write finishes, the packet will be populated with the appropriate values if the request was successful. The basic process for sending a message to the VM is to prepare a packet and then write its (physical) address to the MMIO port. The MMIO operations that read or populate packets are synchronous, so setting up one page to pass back and forth is feasible. These can be anywhere in physical memory, and are relatively short. The format for the latter is unimportant for the features described on this page - you need only know that the region can be interpreted as an array of 32-bit unsigned integers and offset 3 contains the IRQ mask.Ĭommunication between the guest and the host happens through packets in memory. BAR0 is the MMIO port and BAR1 is a memory region that contains some shared state for the device, such as a bit mask for what events the guest wishes to receive. The PCI device has the vendor ID 0x80EE, same as the VirtualBox implementation of the Bochs display adapter, and a device ID of 0xCAFE. A combination of memory-mapped packets, MMIO port writes, and IRQs allow the guest to communicate its feature support to the VM and for the VM to communicate events such as display changes and mouse movement. You can create a bookmark or link for easier access to the directory.The Guest Additions package operates through a PCI/mmio device provided by the VM. Your shared folders will now be available in the media directory. Select the check boxes that allow for Auto-mount and Make Permanent and click the OK button both times when prompted. In the Folder Path text box, provide the path to the folder you would like to share, or click the drop-down arrow to browse your host system for the path to the folder. Within this window click the Add Folders icon. This will launch a pop up window for adding shared folders.
This section explains how to share folders on your host system with your Kali Linux VirtualBox “guest”.įrom the VirtualBox Manager, select your Kali Linux VM instance and click on the Shared Folders link in the right window pane. Creating Shared Folders with the Host System
You should now have full mouse and screen integration as well as the ability to share folders with the host system. Reboot the Kali Linux VM to complete the Guest Additions installation. Ensure it is executable and run the file to begin the installation. When prompted to autorun the CD, click the Cancel button.įrom a terminal window, copy the n file from the Guest Additions CD-ROM to a path on your local system.
This will mount the Guest Additions ISO in the virtual CD drive in your Kali Linux virtual machine.
This can be done by selecting Devices from the VirtualBox menu and then select Install Guest Additions. Once this is complete you can now attach the Guest Additions CD-ROM image. :~$ sudo apt install -y linux-headers-$( uname -r ) Start up your Kali Linux virtual machine, open a terminal window and issue the following command to install the Linux kernel headers. You must use VirtualBox 4.2.xx or higher in order to take advantage of the improvements, including compatibility updates, and enhanced stability of both the core application and the Guest Additions. If you run Kali Linux as a “guest” within VirtualBox, this article will help you to successfully install the “Guest Addition” tools. You can find the latest version here: Install VirtualBox Guest Additions.