72

Reading the Virtualbox user manual, I finally got [here], which explains how to install Virtualbox Guest Additions on a Linux guest via Command Line.

But it's not clear enough for me (I just started learning some commands). Can someone put down the exact commands you would use to install Virtualbox Guest Additions via CLI? (which includes finding where virtualbox guest additions has been mounted etc.)

105

... finally this worked for me, should also work for anybody else trying to install VirtualBox Guest Additions on a CentOS (x86_64) virtual server in command line mode.

# yum update
# yum install dkms gcc make kernel-devel bzip2 binutils patch libgomp glibc-headers glibc-devel kernel-headers
# mkdir -p /media/cdrom
# mount /dev/scd0 /media/cdrom
# sh /media/cdrom/VBoxLinuxAdditions.run

When the process is complete, reboot the system. That's all.

  • 2
    I do not think there is a need for the reboot here. Just check the vbox* modules are installed under /lib and then run modprobe for each vbox module; make sure the vbox startup scripts at /etc/init.d/vbox* are all (re)started. To just check whether the VBoxAdditions are working, I would start with testing the copy-paste between the source and vmguest. Run VBoxClient-all command and see if it returns anything. If nothing is returned VBox is setup fine. Also, check chkconfig to make sure the vbox startup scripts are properly defined to start at required runlevels. – Nikhil Mulley Nov 30 '11 at 10:24
  • 3
    You need to yum install make as well – nic ferrier Feb 6 '12 at 12:23
  • 6
    @theJerm I hope you already figured this out, but for the record: create the mountpoint (just a directory) with sudo mkdir /media/cdrom. – Anthon Jun 10 '13 at 20:27
  • 5
    On a minimal install of CentOS 6.4 64b the install command was sh /media/cdrom/VBoxLinuxAdditions.run. I also had to install Perl (yum install perl) and create the mount-point (sudo mkdir -p /media/cdrom). – smholloway Nov 11 '13 at 16:18
  • 15
    In CentOS 7 the cdrom is not at /dev/scd0 but instead at /dev/sr0 – isapir Mar 14 '16 at 4:15
15

@its_me's answer almost worked, but it failed building some kernel modules.

If it doesn't work for you, look at the messages.

In my case, one of them asked to look into /var/log/vboxadd-install.log. There it said something about missing kernel sources and to provide the kernel source directory with e.g. KERN_DIR=/path/to/kernel/sources.

Since kernel-devel and sources at /usr/src/kernels/2.6.32-504.16.2.el6.x86_64 were already installed, I was confused, but called it with the requested environment variable

KERN_DIR=/usr/src/kernels/2.6.32-504.16.2.el6.x86_64 sh /media/cdrom/VBoxLinuxAdditions.run

Now it complained about missing header files and suggested to do

yum install kernel-devel-2.6.32-504.el6.x86_64

As you can see, this is a slightly different version, 504.16.2 vs just 504. After installing the proper kernel-devel package, building and then installing worked as expected.


So, running kernel and installed kernel sources (aka kernel-devel) must match. You can verify this by looking at the running kernel with

uname -a

and the installed sources at

ls /usr/src/kernels

As a final conclusion, whatever happens, look at the messages and log files provided.

  • I made the kernel sources match the kernel, by updating the kernel. yum update kernel. – Mike Sep 15 '16 at 17:42
  • 1
    If it is not matching and you just updated the kernel -> reboot to match (if you can). – A.D. Nov 2 '16 at 3:25
5

This is an old thread but came up in my search for a similar issue. In case anyone else runs into this, the following answer solved it for me:

http://www.if-not-true-then-false.com/2010/install-virtualbox-guest-additions-on-fedora-centos-red-hat-rhel/

Note* The URL says 2010 but the article was updated in 2013.

  • 2
    These steps are a lot better, because they include all of the necessary prerequisites like perl and dkms – bmaupin Sep 26 '14 at 16:07
3

I'm posting an updated answer, as because I needed to perform a few additional steps to install. I'm using VirtualBox 5.0.14r105127. Each command will have to be prepended with "sudo".

yum update
yum install gcc
yum install kernel-devel
yum install bzip2
yum install kernel-devel-2.6.32-573.el6.i686
mkdir /media/cdrom
mount /dev/scd0 /media/cdrom
sh /media/cdrom/VBoxLinuxAdditions.run

Also, I got a "FAILED" message for the OpenGL support module, but this can be ignored on a server system.

2

After installing the VBOXADDITIONS you might need to do this:

In VirtualBox click View>>Auto Resize Guest Display (Host + G)

because the screen resolution did not work for me until I applied this final configuration to VirtualBox.

  • On Centos 7 I still had to install gcc, kernel-devel, etc. – jamescampbell Jun 27 '18 at 13:30
2

If you are using Vagrant for scripting your VirtualBox, you can simply install the vb-guest plugin. The source code for the same can be found here https://github.com/dotless-de/vagrant-vbguest/tree/master/lib/vagrant-vbguest.

Some hints can be gleamed from the source code here to automate this process.

1

Step 1:

yum update

Step 2:

Go to Device-> Install Guest Additions CD Image -> Next

Then provide the root password . That's it.

0

Just a little detail ... I had a CentOS 6.6 minimal, did all the "yum update" and "yum install" but I was still stuck until I've read this in Olaf's response

... this is a slightly different version, 504.16.2 vs just 504. After installing the proper kernel-devel package, building and then installing worked as expected.

So, running kernel and installed kernel sources (aka kernel-devel) must match.

checking on my install I had the same problem, after doing a reboot, everything was ok. The machine was still running with the old kernel. After this the next problem as that perl was missing so I had to do also an

yum install perl

protected by Community Aug 3 '16 at 14:59

Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).

Would you like to answer one of these unanswered questions instead?

Not the answer you're looking for? Browse other questions tagged or ask your own question.