76

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

| improve this question | | | | |
112

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

| improve this answer | | | | |
  • 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
  • 22
    In CentOS 7 the cdrom is not at /dev/scd0 but instead at /dev/sr0 – isapir Mar 14 '16 at 4:15
  • 4
    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 '16 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.

| improve this answer | | | | |
  • 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
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.

| improve this answer | | | | |
  • 3
    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.

| improve this answer | | | | |
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.

| improve this answer | | | | |
  • 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.

| improve this answer | | | | |
1

Step 1:

yum update

Step 2:

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

Then provide the root password . That's it.

| improve this answer | | | | |
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
| improve this answer | | | | |

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