Over the past three weeks, I have spent considerable time trying to get Apple’s latest Mac OS X offering (Mavericks) working on non-apple hardware. Mainly because Apple had released it for free (are you coming to the show, Microsoft?) and my old Snow Leopard OS X computer was starting to get… well, long in the tooth 😉

As I said, three weeks. Obviously I wasn’t working on it for three weeks night and day, but I did spend a fair amount of time to get to the configuration I am using to write this very post. Not much of this post actually pertains to the fact that I installed Mac OS X Mavericks on a Toshiba Laptop, it’s more that I couldn’t find many posts that mentioned any type of PC or laptop, so I figured there had to be others like me out there, possibly with a Toshiba laptop, trying to install Mac OS X Mavericks on it.

Warning!

The following is my journey. It comes with absolutely no warranty of any kind and I do not accept any responsibility at all, regardless of you following my instructions to the letter or not, if this results negatively for you in some way. Back up all data and proceed at your own risk.

Installation Media

To get the installation media from Apple, you need an existing Mac with at least Mac OS X 10.6 and AppStore installed. My 10.3 SL, was not going to cut it. Why couldn’t I update? My 10.3 SL machine, has an Intel atom processor that is no longer supported in newer releases of Mac OS X. I tried anyway, it failed. Thankfully, I was able to restore from a Time Machine backup. Use Time Machine! It’s awesome!

I ended up a little off course, but to get Apple OS X Mavericks, I downloaded a VMWare Virtual Machine image with Mac OS X Mavericks already installed. Your adventure with VMWare Workstation and OSX Mavericks, starts here: http://www.souldevteam.net/blog/2013/10/06/os-x-mavericks-10-9-retail-vmware-image-release-notes-links/. There is a video on the blog post, Watch It And Pay Attention!

You will also need VMWare Workstation. The 30 day trial is completely unrestricted and works perfectly fine. I am running VMWare Workstation 10.0.1 at the time of writing. You’ll see in the video (and downloaded files) that earlier versions of VMWare Workstation are also supported. Your adventure with VMWare Workstation, starts here: https://my.vmware.com/web/vmware/info/slug/desktop_end_user_computing/vmware_workstation/10_0.

Note: You must use VMWare Workstation for Windows, on Windows. VMware Workstation will need to be patched (unlocked), to be able to run Mac OS X Mavericks. The patch that accompanies the VMWare Workstation image is designed for Windows, not for Linux. Sorry, Linux users. If you’re clever enough, you might be able to get it to work on Linux. I haven’t look into this at all. Let me know if you are successful.

Once you have VMWare Workstation installed with your Mac OS X Mavericks virtual machine running, use the AppStore to download Mac OS X Mavericks 10.9, for free!

Of course, if  you have access to an actual Mac or a Hackintosh with Mac OS X 10.6 or higher, you are home free. Install the AppStore if you haven’t done so already and download Mac OS X Mavericks, for free!

Note: To download Mac OS X Mavericks, you will need to be signed into an Apple account. Just an FYI. It’s no big deal. An account is free and you don’t need to have a credit card or any payment options set up to download Mac OS X Mavericks. It’s free, really!

Once you have Mac OS X Mavericks downloaded, don’t install it. It looks like an App, and may try to install itself (even though you may be on Mac OS X Mavericks already). If it does, just cancel the install.

Read More →

A little while ago (and again more recently) I updated my kernel to 3.7.3-101 and was stumped as to why VMware Workstation was unable to find the matching kernel headers, despite confirming they were indeed correct and installed. After lots of searching and some reading, I found the following command:

ln -s /usr/src/kernels/3.7.3-101.fc17.x86_64/include/generated/uapi/linux/version.h /usr/src/kernels/3.7.3-101.fc17.x86_64/include/linux/version.h

This basically creates a symbolic link in the /usr/src/kernels/<version>/include/linux/ directory for the version.h file that the VMware Workstation compiler is looking for. After running this command, I started VMware Workstation again and was greeted by the GUI compiling the necessary modules to run VMware Workstation.

I suspect the requirement for this command has something to do with re-arrangement of kernel source files in recent releases. It seems likely that VMware will update the compiler in new releases of their Workstation product.

Here’s a more recent upgrade, using the same step:

ln -s /usr/src/kernels/3.7.9-101.fc17.x86_64/include/generated/uapi/linux/version.h /usr/src/kernels/3.7.9-101.fc17.x86_64/include/linux/version.h

So long as you have the matching kernel headers installed, the above command should work for you just fine.

Note: On the second time around, I had troubles when running VMware Workstation as a normal user (just the compiling step, afterwards it was fine). For some reason there was an issue elevating the user to root (this happened to me on Fedora 17 x86_64) to complete the compiler process. To work around this, I simply opened a console/terminal, became root (sudo, or su – , whatever suits you) and then typed just: vmware – The compiler GUI appeared and completed, followed by VMware Workstation starting. I then closed ‘that’ VMware Workstation and started it my usual way (KDE menu for me) and it worked just fine.

Update (2013-03-25): VMware has recently released VMware Workstation 9.0.2 (2013-03-07) which has the above issue resolved. I am currently running VMware Workstation 9.0.2 build-1031769 on Fedora 17 (Kernel 3.8.3-103) and I did not have to carry out any additional steps to compile the kernel modules.

Update 2 (2013-07-10): I updated my kernel today, all the way up to 3.9.6-200-fc18 – Afterwards I was unable to compile the module again. After much searching, trouble-shooting and attempts to roll back to previous kernels, I checked something a little more fundamental; was gcc installed? Nope! It wasn’t! A quick browse through my yum logs showed it removed as a dependency when I removed something else earlier in the year. After installing gcc again, the kernel module compiled normally again 😉

Update 3 (2013-08-30): I updated my kernel again today, just a standard yum update with all the usual packages. My kernel ended up on 3.10.9-200.fc18.x86_64 (I haven’t upgraded to Fedora 19 yet). This time, the vmware kernel modules kept failing to compile (different to the previous issues). I did a quick google search for “vmware kernel 3.10.9-100” and found this article. If you follow the instructions, verbatim, the issue is solved straight away. For reference, I’ve copied the main content of the article below. Kudos to the author at http://guide.ecsmy.com/ for getting this one out there!

# tar xf /usr/lib/vmware/modules/source/vmnet.tar
# cd vmnet-only
# wget  http://communities.vmware.com/servlet/JiveServlet/download/2239207-108590/procfs.patch
# patch -p1 < procfs.patch
# cd ..
# tar -cvf vmnet.tar vmnet-only/
# cp vmnet.tar /usr/lib/vmware/modules/source/

This will patch the procfs interface.

Secondly download the vmnet patch from http://mysticalzero.blogspot.com/2013/07/vmblock-patch-for-linux-310-vmware.html. The link of the patch is here.

Or you can use the following command:

# tar xf /usr/lib/vmware/modules/source/vmblock.tar
# cd vmblock-only
# wget  https://sites.google.com/site/mysticalzerotmp/vmblock.3.10.patch
# patch -p1 < vmblock.3.10.patch
# cd ..
# tar -cvf vmblock.tar vmblock-only/
# cp vmblock.tar /usr/lib/vmware/modules/source/

Then, issue this command to compile and install the vmware player module

# sudo vmware-modconfig –console –install-all

I know it says ‘vmware player’ but trust me, it works for VMware Workstation just the same.

Update 4 (2013-10-20): I updated my kernel again today, just a standard yum update with all the usual packages. My kernel ended up on 3.11.4-101.fc18.x86_64 (I haven’t upgraded to Fedora 19 yet). This time, the vmware kernel vmblock module kept failing to compile (similar but different to the previous issue). I did a quick google search for “vmware kernel 3.11” and found this article. If you follow the instructions, verbatim, the issue is solved straight away. For reference, I’ve copied the main content of the article below. Kudos to the author (dibl) at siduction.org for getting this one out there!

The VMware module source needs to be patched to build on kernel 3.11. If you have already patched for 3.10, then only a single patch is needed. Here is the procedure:

Download the “vmblock.3.11.patch” from here.

In a root terminal, give these commands:

# cd /usr/lib/vmware/modules/source
# tar xvf vmblock.tar
# cd vmblock-only
# patch -p1 < /path/to/vmblock-3.11.patch
# cd ..
# tar cvf vmblock.tar vmblock-only/
# vmware-modconfig –console –install-all

You should see an error-free completion of the build.

Update 5 (2013-12-14): While still on Fedora 18 (I know, Fedora 19 is well and truly out, and Fedora 20 (celebrating 10 years of Fedora Linux!) is less than three weeks away from release!), I just upgraded to Kernel 3.11.10-100. I also upgrade from VMware Workstation 9.0.2 to VMware Workstation 10.0.1 – After a reboot, no additional work required. VMware Workstation 10.0.1 simply worked ‘straight out of the box’ so to speak 😉

I recently had a requirement to remove vmware tools manually from a windows 2003 server. This is what I had to do.

  • Remove any keys with a DisplayName of VMware Tools anywhere in the following keys:
    • HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionuninstall
    • HKEY_LOCAL_MACHINESoftwareClassesInstallerProducts

 

  • Remove the keys with a ProductName of VMware Tools in the following keys HKEY_CLASSES_ROOTInstallerProducts
  • Delete the branch named VMware Tools in HKEY_LOCAL_MACHINESoftwareVMware
  • Delete the "VMware Tools" directory within in the Vmware directory under Program Files
  • Restart the server.

Props to WarOnErrors.

The contents of this guide should work perfectly fine on a base (yes that’s base, not bare bones) only installation of either CentOS 32/64 bit or RHEL 5.3 32/64 bit. If you have any troubles, please do leave a comment and I’ll do my best to assist you. This guide assumes you are setting up your machine to be a server, although the steps will work just fine on a machine configured to be a desktop.

Install CentOS 5.3 32/64 Bit

If you haven’t installed CentOS 5.3 already, you should do so. Kinda hard to use VMware Server 1.0.9 without an operating system. Most people want the host OS to have as little additional crap as possible. In regards to that, during the installation, make a point of not installing any additional packages, or package groups except the ‘Base’ group (oh and leave the base group in it’s default state, don’t go ticking on any extras, you’ll make the installation install more dependancies thus more crap). So in other words, only the ‘Base’ group should be ticked, untick the rest!

Nope, you won’t have any GUI, and even if you did, you still have to do the rest of the configuration at the command line anyway. VMware Server 1.0.9 host with GUI = bad idea, unless of course your host is also your desktop.

Once installed, configure your host as you like it from the ‘firstboot’ screen and than login as root. Here’s a few tips.

  • Disable any services you aren’t using.
  • Disable SE Linux
  • Unless you’re going to configure and use it with VMware Server 1.0.9 machines, disable ip6tables
  • Don’t go configuring special firewall rules just yet, leave that until later.

Even though it’s the host, its’ software should still be up to date. Issue the following command and download any updates.

yum update

Updates finished? Awesome! Lets reboot the server and start the next step afresh.

shutdown -r now

Install VMware Server 1.0.9 Required Components.

Plenty of you will argue about what you do and don’t need to complete the install. Well, I’ve completed this configuration of server with VMware Server more times than I care to remember now, and sometimes I needed all of these packages and sometimes I didn’t. No, I didn’t bother to find out why. Do you know why? Great! Put it in the comments!

Login in as root and issue the following commands one after the other. Yes, you can issue them all at once if you’re clever, I like to take my time, in case the worlds explodes.

yum install kernel-devel
yum install kernel-headers
yum install libXtst*
yum install xinetd
yum install gcc*

On a couple of occasions, I needed the following package – It could have been when I was using CentOS 5.3 64Bit

yum install libXdmcp-devel
yum install libXrender*

What does the ‘*’ mean? It means grab any packages that start with ‘anytextbeforethe*’

Installed all the packages? Fantastic! Lets reboot the server and start the next step afresh.

shutdown -r now

Install VMware Server 1.0.9

How you get the installation package of VMware Server 1.0.9 onto your server is up to you. Here are a few tips.

  • Download VMware Server 1.0.9 Here or Here
  • Make sure you register for a VMware Server serial number or numbers. It’s free.
  • You can use WinSCP to transfer VMware Server 1.0.9. to your server (it uses SSH). Get it Here or Here.
  • You could use the wget command with the direct link above, directly on your server, like this:
    • wget -c http://download3.vmware.com/software/vmserver/VMware-server-1.0.9-156507.i386.rpm
  • Burn it to a CD
  • Burn it to a DVD
  • Transfer it to a USB Drive

Once you have the VMware Server 1.0.9 installation file on your server, installing is pretty straight forward. If you’ve never installed a RPM file before, pay attention, people go to university for this stuff. Make sure you are logged in as root, and issue the following:

rpm -ivh VMware-server-1.0.9-156507.i386.rpm

Easy, no?

Depending on the power of your server, it may take a few minutes to install. Once installed, we have one last final step. No need to reboot this time!

Configuring VMware Server 1.0.9

Issue the following command. If some or none of the required packages are not installed, this will tell you straight away.

vmware-config.pl

or if you are so inclined:

/usr/bin/vmware-config.pl

Both do the exact same thing. Don’t run both (either by concatenating them both together or one after the other), that would just be silly and make you leave a comment about how you ran both and got an error message.

NB: If you are told that some packages or components are missing, I suggest going back and re-issuing the ‘yum’ commands above in the section ‘Install VMware Server 1.0.9 Required Components‘. Before you issue any commands, press ctrl-c to quit the setup program and return to the command prompt.

If you see something like the following, you are good to go:

Making sure services for VMware Server are stopped.

Stopping VMware services:
   Virtual machine monitor                                 [  OK  ]

You must read and accept the End User License Agreement to continue.
Press enter to display it.

The configuration settings of VMware Server 1.0.9 is now up to you. Here are a few tips:

  • Accept the agreement, type Y or Yes and press the enter key.
  • The defaults are all fine.
  • In most cases, Bridged networking is what you are after, so say ‘No’ to host only and NAT (unless you know what they are and you are going to use them)
  • Sometimes the installation would tell me that port 902 is unavailable. This is not true. Override by typing in 902, otherwise you’ll need to remember 904 (or whatever other number you select) and type it in every time when you use the VMware Server 1.0.9 client. Not cool.
  • At the very least, choose your own location for the storage of VMware Server 1.0.9 servers. I always put mine in /home/vmware (because I have /home on a separate partition)
  • Put your Serial Key in now, rather than later.

Installation and Configuration is now complete! If you need any further help / assistance, please, feel free to leave a comment