80

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.)

8 Answers 8

116

... 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 elfutils-libelf-devel
# mkdir -p /media/cdrom
# mount /dev/scd0 /media/cdrom
# sh /media/cdrom/VBoxLinuxAdditions.run

Note: In CentOS 7 and higher the cdrom is at /dev/sr0 instead of /dev/scd0.

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

17
  • 3
    You need to yum install make as well Feb 6, 2012 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, 2013 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, 2013 at 16:18
  • 26
    In CentOS 7 the cdrom is not at /dev/scd0 but instead at /dev/sr0
    – isapir
    Mar 14, 2016 at 4:15
  • 5
    In case people are wondering... before any of this is done, you have to use Insert Guest Additions CD image, (currently found in Devices in the virtualbox's window menu), in order for VBoxLinuxAdditions.run to be actually available.
    – alxs
    Nov 18, 2016 at 18:23
16

@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.

2
  • I made the kernel sources match the kernel, by updating the kernel. yum update kernel.
    – Mike
    Sep 15, 2016 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, 2016 at 3:25
6

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.

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

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.

1
  • On Centos 7 I still had to install gcc, kernel-devel, etc. Jun 27, 2018 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

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