Installing kernel headers for Oracle Linux 6 on VirtualBox

The usual reason for Guest Additions failing to install on a Linux guest on Virtual Box is that the kernel headers are missing. How you install these or where they come from varies from distro to distro, although they’re usually available via the package manager on that distro.

I had an Oracle Linux 6 guest installed, Guest Additions (for video drivers, shared folder, clipboard sharing) was all working, and then at some point I started it up again and it was no longer working and wouldn’t re-install either. Seems like I’d picked up an update, and I needed to update the kernel headers too.

This post covers the steps needed. On OE6 before installing the Guest Additions, just run ‘yum install kernel-uek-devel’ and you should be good to go (assuming you’re booting with the ‘unbreakable kernel’ and not the RHEL compatible kernel)

Running AROS / Icaros Desktop on VirtualBox

I love to install and check out different operating systems. Installing on something like VirtualBox means you can install as a guest, play with it, and either continue to use it or delete the disk image, with no impact to your host OS. So here’s an unusual one to check out:

AROS is an open source implementation of the AmigaOS 3.1 apis, that runs on Intel and PowerPC cpus (Amigas were originally Motorola 68k based). It seems there’s a couple of different variations, the one I installed was Icaros Desktop, which comes with a live CD, which you can also install from.

One installed, it boots from a GRUB menu, and wow, does it boot quick, within a couple of seconds (running under VirtualBox on my i7 MacBook Pro). It boots so fast I might be tempted to install this as a bare metal install on an old PC and play around with it for a while. It also looks very pretty 🙂

Installing Arch Linux as a VirtualBox Guest

Arch Linux is probably the first Linux distro I’ve come across that does not have a graphical installer. It boots from the iso and drops you straight into a shell.

Ok. Once you’ve realized this then the install instructions make more sense.

To install in VirtualBox I created an 8GB disk. Once booted from the iso, at the shell I used fdisk to partition 2 partitions, one 6GB for / and one 2 GB for /home, following the steps from this post.

In summary, the steps were:

  • p – create primary
  • 1 – 1st partition
  • enter for start position default
  • +6G for end point 6GB from start
  • p next primary
  • 2 – 2nd partition
  • enter for default start
  • enter for end at end of available space

p shows the created partitions, which ended up looking like this:

w to write the partitions and exit.

Next format the two partitions:

mkfs.ext4 /dev/sda1

mkfs.ext4 /dev/sda2

Mount and start the install!

At this point, pick up from the remainder of the instructions in the install guide and beginners guide.

When attempting to install grub, I got these errors:

Per this post (and here), looks like my repo databases needed to be created/updated? I ran

pacman -Syu

and this looks like it fixed my pacman database issue, but now at this point it looked like I’d ran out of space on /, but going back through the install docs, I didn’t do the

arch-chroot /mnt /bin/bash

step so looks like I was installing to the / on my iso live boot? Anyway, did arch-chroot,
and now re-running the command to install grub now worked.
Next steps:

grub-install --recheck /dev/sda
grub-mkconfig -o /boot/grub/grub.cfg

Remaining steps:

  • Set root’s password: passwd
  • Exit chroot
  • Unount drives:
    umount -R /mnt
  • reboot

Remove the iso in VirtualBox, and restart – whoah, Arch is installed! Now time to install X and a window manager! Next steps depending on what you intend to use Arch for are covered in the general recommendations guide.

Create a user:

useradd -m -G wheel -s /bin/bash username

Use password username to set password.

Network config

Network setup guide is awesome!

Add name servers to /etc/resolv.conf (e.g. for Google nameservers)


Start and enable dhcp services to start at boot:

systemctl start systemd-networkd.service
systemctl enable systemd-networkd.service
systemctl start systemd-resolved.service
systemctl enable systemd-resolved.service

Check adapters: ip link – get name of VirtualBox adapter, will be something like enp0s3

Edit /etc/systemd/network/wired.conf, add:


Start and enable dhcpcd.service:

systemctl start dhcpcd@enp0s3.service
systemctl enable dhcpcd@enp0s3.service

… where enp0s3 is your VirtualBox network interface.

At this point you should have network connectivity – check by pinging



Upgrading OS/2 Warp 4 to the latest fixpack14 (and other useful stuff)

Windows 10 is on the way. So I spent the weekend installing and configuring OS/2. 🙂

Since OS/2 was recently released into the public domain, you can pick up copies of the install disk images from As you work through the install, at some point you realize you need to convert or find out how to use the floppy disk image files. When installing to a VirtualBox VM, I found I couldn’t get the disk images to work from, but the ones in the format from WinWorld here work flawlessly.

WinWorld has iso images for 4.0 and 4.5x but I could only get 4.0 to install to a VM disk. That’s not an issue as you can download and install FixPack15 with takes you to the latest (and last) version of OS/2.

Most of the updates I found I needed were covered in the extensive instructions on this site here. I found I didn’t need everything though (I skipped the USB mouse drivers as it seems running in VirtualBox takes care of making sure the guest OS sees the touchpad and keyboard on my MacBook).

Along the way there are a few utils that you need to gather to help with the install of the other steps, in particular:

  • diunpack (used to unpack the fixt144.dsk disk image in MPTS8620)
  • dskxtrct (used to extract all other .dsk images for the MPTS fixpacks)
  • unzip utils, most would work but I used this one, unzip 5.51
  • fastkick141 – I used this to install MPTS8620 – more below

So here was the list I narrowed down to:

  • Fixpack 15 – can be found in other places, but this zip on Hobbes contains everything ready to go. Unzip and run install.cmd
  • gengradd drivers for supporting higher display resolutions. I used gradd083.exe from here, Unzip it by running it and passing options ‘-dir -over’ to preserve the subdirs. Then start the install with: ‘setup gen’
  • MPTS8610 – fixpack for network driver stack. Prereq for 8620. Use dskxtrct to extract all the .dsk images to a temp dir and then run service.
  • MPTS8620 – this provides TCPIP32.dll that is needed for most of the more common browser releases (Firefox, Seamonkey etc) and other network tools. This one didn’t have a script to self-install. Use dskxtrct to extract all the .dsk images to a temp dir, apart from fixt141.dsk which I found would only uncompress using diunpack. To install, fastkick141 into the same dir as all the uncompressed disks, and then run (I think) fix.cmd.
  • A number of later apps, Firefox and Seamonkey, require a version of LIBC (you’ll get an error saying LIBC065 missing if you try to run without it).You can pick up a zip with just the DLLs from here, click the ‘just kLIBC’ link to get the zip. Copy the *.DLLs to c:\os2\dll
  • There are two additional dependencies for the latest browsers linked from the top of the page here – fntcfg and pthread. Download and copy the DLLs to c:\os2\dll

At this point I think you’ll be setup to run most of the more recent apps, including latest versions of Firefox and Seamonkey built for OS/2.  Enjoy!