Wanna see this logo while booting your 2.6 kernel? Click here!

19.03.2008 00:23

VMware Update Manager - The good, the bad, the ugly

Today I wanted to try out VMwares shiny new Update Manager for VI3 (ESX 3.5, Virtual Center 2.5) because I heard so many cool things about it on VMworld. Unfortunately, my expectations to this product were much higher than what I got out of it. Let me summarize what they should improve in the next version.

I have three ESX hosts, one "power" machine (dual core, each CPU has about 3GHz, 16GB RAM) and two smaller machines of equal size (dual core, each CPU has about 3GHz, 8GB ram). Previously I always had to manually hot migrate (using VMotion) my VMs from the ESX host to be updated to the other ESX hosts which will be upgraded later on in this process. After applying all the updates, I had to manually move them back, update the next server, etc. VMware Update Manager claims to do exactly all that for your virtual infrastructure making updates a lot easier because they can even be scheduled at times when the server load is not that high or at the weekends, etc.
Well, thanks god I didn't try that schedule thing but was in front of my Virtual Center when trying Update Manager.
To start the whole update procedure, I clicked on "Remediate..." on my ESX Cluster and Update Manager picked one of my ESX hosts (oddly it didn't pick the one with the lowest load), started opening firewall ports, installing some stuff and finally wanted to put the host into maintenance mode. Due to me having the DRS automation level set to "partially automated" (I'm paranoid, you know - I don't even trust my virtual infrastructure), entering the maintenance mode would have timed out because the DRS migrations to move all the VMs off of the ESX host that currently gets updated were just recommendations. I needed to manually apply the generated recommendations and then it started to migrate the VMs away.

My VMotion network is currently only connected via 100MBit/s which I know is not recommended by VMware but it works (migrations take longer, but that doesn't bother me that much), _BUT_ because migrations take longer, the "put $esxhost into maintenance mode" task times out and what's even much worse: The parent task of this update process (called "Remediate Entity") stalls at a certain percentage level and stops working. You can't cancel it, you can't restart it, in fact, trying to start a new remediation only makes things worse.
Another thing that isn't very smart would be the automatically generated DRS recommendations. At the time Update Manager tries to get one ESX host out of duty it scans the cluster for available resources and in my case, having two additional ESX servers with average (low) load, it only chose _ONE_ of them to host the VMs to be migrated. Bad idea. During the migration, the load on ESX host A started to increase and DRS moves machines from ESX A away to ESX B to "balance average CPU loads", as it said... Well, what about generating new DRS recommendations after having migrated two VMs off the target ESX server? Things might have changed after that... Never thought about that? Don't worry, I already know.

Anyway, what helped to get the Update Manager processes disappear was to manually kill the update-manager.exe service on the Virtual Center server (stopping the service also timed out), wait a few seconds, start it again and wait for Virtual Center to reintialize the Update Manager extension. If it doesn't, set it manually to "Enable" again and all the previous, stalled, tasks should now have been quit with "VMware Update Manager had a failure". That's good, because now you can start over with patching your VI.

After having all machines manually migrated off my target ESX host, I put it manually into maintenance mode and started a new remediation on cluster level to see if it would be so clever to choose the host already in maintenance mode but it didn't (OK, that might be a good idea; you never know _WHY_ this host is currently in maintenance mode). What puzzled me was VMware Update Manager's overestimation of its capabilities, because one of my hosts was put to maintenance mode (therefore it wasn't an active part of my cluster anymore) and the other two ESX hosts hosted all my virtual machines being under quite some load trying to cope with that. But not enough, it tried to consolidate the two remaining ESX servers to get one free for applying updates onto it.
VMware, could you please ask me if I really want to do this? Doing this causes my whole VI to simply stop working because one ESX host can't handle this load. It's simply ridiculous to start the update process when resources are that low...

So, after my first date with VMware Update Manager I decided to not trust it as much as I would have liked to.

What worked for me was to manually (!!) migrate all the VMs of one of my ESX servers onto the other two ESX servers (I used a very, very complex algorithm to find out what VMs to move onto what ESX server to "balance the average CPU loads") and afterwards started the remediation of the critical updates on the empty ESX server.

During the time I'm writing this I'm currently giving Update Manager a second chance to prove that it could be my friend. To make stuff easier, I changed the DRS automation level to "fully automated" and bingo, that worked now. Update Manager was able to put the host into maintenance mode and it did a fairly good job in migrating the VMs to the other hosts. It is currently installing the updates and maybe afterwards I'll do some tests on VMware HA (isolation and stuff seems interesting...).

Long story short: Do extensive testing on VMware Update Manager before letting it do its work unattended.

15.03.2008 11:14

Getting my Hackintosh ready for duty

Alright, it seems as if the basic software I need for my daily business is well supported on OSX. Today I installed the latest (to me) available version of the Cisco VPN client for MacOSX (which is vpnclient-darin- as well as the latest available Citrix ICA Client for OSX. Both pieces of software work as expected, establishing a connection with the VPN client on OSX is a lot faster than on Windows XP or Vista but I'm not very surprised by this because after all, we're on a *nix system here, so well, it seems as if OSX is ready for my daily business. I haven't tried the remote desktop client so far because I don't know where I can invoke it (it's all a bit different in here...) but if that thing works too, I think I could get familiar with this OS.
I still don't know what software I need to have installed on this OS, e.g. antivirus software, spyware stuff, etc. but I'll keep on searching. So if you know a software I should definetly try, please drop me a line here.

15.03.2008 10:00

New official Matrox Parhelia drivers release (1.4.6)

Everyday I browse the Matrox driver listing on their website to check for official driver updates. I did so yesterday and the day before too, but there were no newer drivers for Linux available.
So it seems that I definetly need some looking glasses, because today I found the long promised 1.4.6 version of the MTX driver with a release date of "Mar. 12, 2008" on their site.
Anyhow, feel free to give this driver a try (you'll find the download links below) and report success or failure in my forum please until I'm able to give them a try.
Out of the release note I can see some interesting new things and features I definetly need to investigate on Monday:
  • Support for the new P690 cards!
  • Includes a beta Matroxconfig (GUI!) tool
  • QHI (Quad Head Independent) support!
  • A strongly rewritten documentation that looks quite well at the first glance
  • A new X Server extension (MTXCFG) for the Matroxconfig tool
  • Pseudo-Xinerama support!
  • They clarified in the release notes that XGL/AIGLX as well as RandR is not supported by the driver


14.03.2008 14:22

Updating VMware Fusion Tools to compile on

As I started investigating the 30day trial of VMware Fusion on my Hackintosh I wanted to give in a linux guest VM a try and was pretty sure that the VMware Tools modules won't compile (although the tools version there is much newer than the one from the ESX server), but there were still some changes necessary.
I found out that some stuff is gcc-related, e.g. inheriting typedefs doesn't work with the gcc version in Debian stable but does work on unstable, so VMware Tools on Linux 2.6.24 currently use stuff like:
typedef unsigned long uintptr_t;   /* Inside <linux/types.h> */

typedef uintptr_t VA;              /* Inside vm_default_types.h */
This fails on older gcc versions and you need to apply a small workaround like
typedef unsigned long VA;          /* Inside vm_default_types.h */
for this to work (uintptr_t is always unsigned long in 2.6.24, no matter what (x86)-architecture it's running on.
With the latest gcc version you don't need this workaround so I assume that you have a quite recent gcc version installed on your system when downloading my patches to VMware Tools. If you don't and you get errors regarding the issue mentioned above, go fix it your own or bug me as long as I'll provide two versions of my patchsets ;)

Currently I don't have time to elaborate a lot about how to install these patches, etc. as the installation instruction for VMware Fusion Tools is (of course) the same as with any other VMware virtualization product as the installation of the tools happens inside your guest and that feeling doesn't change that much fortunately.

So, for installation instructions, please go to my projects page.

I haven't updated this page by now (maybe the time you'll read this it already happened), so for the download links, please check the webserver directory. You'll find the diffs and prepared tarballs suitable for installation there.
Oh, well, I nearly forgot to feed Google: Install VMware Tools on Linux guest running kernel 2.6.24 or newer on VMware Fusion 1.1.1 (72241).


13.03.2008 15:41


Today I did some further testing with my OSX installation. I now know how to input '<' and '>' (simply press the key labeled with '^' on your keyboard to get the '<', '' for getting the '>'. But more than this, I tried to install some software on top of this system.
Firstly, I wanted to give the 30-day trial of VMware Fusion a try. Installation went smoothly, application looks really nice (really maccy, though, but I got used to it quickly) but when I tried to import a virtual machine copied over from our ESX servers that didn't work. I haven't tried VMware workstation or Server by now, but I think that this won't work either as Fusion seems to have a different file format (let alone the extension which is .vmwarevm).
Exporting one of my VMs as virtual appliance did somehow not work on our ESX setup, but I can try this later on.
No problem, such a virtual machine is created in just a few seconds, I thought. Not having an installation CD at hand isn't a big problem as I'm able to install most operating systems here via our TFTP server, _BUT_: I need to press CTRL-ALT to activate the PXE menu and guess what? Right, VMware releases the input grab if you hit CTRL-ALT.
OK, I know this problem from the Windows versions of this software and clicked through all available buttons and configuration items looking for a place to change the keystroke for input release. Unfortunately, I haven't found it by now but I guess that's not my fault.
VMware Fusion smells like it would love to assist me in any possible way to get my virtualization thinggie done, f.ex. after having created a virtual machine you can't just power it on if you don't have a CD image or physical CD by hand. You need to say "No, thanks, I don't want to boot this VM right now", go into the settings, disconnect the CD-drive (now don't think that this will work, because the radio button down there is still on "use no CD-image" and although you disconnected the CD at all, Fusion complains about an invalid setting... grml) and boot the VM.

The next thing I tried to install was the A1 Mobile Connect Software for MacOSX which works a treat without any further hickups. More to come, tomorrow I'd like to install the Cisco VPN client as well as some other work-related software for testing purposes. I'll keep you updated :)

12.03.2008 22:34

How Google's search results can ruin your whole day...

It was one of these days when I had nothing better to do at evening than googling around without any special reason. This day was yesterday, BTW, and suddenly I stumbled upon a website describing a method of getting OSX installed on nearly any x86 based PC. I wanted to write this article completely on my new hackintosh, but I just recognized that some of the important keys for writing this blog entry don't work, like f.ex. < or > as well as some other things, so stay tuned, I'll switch back to my other PC and will continue this article in a second...

Well, back to life.
I'd like to summarize the steps needed to get this beast installed (for educational purposes only, of course, doing things like this is illegal as you might have guessed).

First of all, get the patched installation medium of your choice (I chose iATKOS v1.0ir2 which worked quite fine on my system) and burn it to an empty DVD-R.
Boot your system off this medium and follow the onscreen instructions. Before "Agree"ing to the License statements, click on "Utilities" -> "Disk Utility" and create a volume for your OSX installation. Be careful while doing this, you can easily erase all the data on your harddisk(s) with one wrong click!
I for myself didn't want to kill my notebook and therefore I used a currently unused notebook lying around at my desk at work for this experiment. It's a Lenovo Thinkpad R60e, nothing special, but it contains hardware that seems to be fully supported for osX86-like experiments...
When using the entire disk for your OSX installation, make sure to choose the MBR partition type (no Apple or GUID stuff, MBR is just fine) and create a new partition (or format an existing one dedicated to your new OSX installation) with the Apple HFS+ filesystem.
As I've gone about more than ten times through this installation process today I can say that it doesn't matter what filesystem type + options you choose, I decided to stick with "Mac OS Extended (Case-sensitive, Journaled)".

Close the disk utility and read the installation instructions and hints carefully. At this point it is good to know what hardware _EXACTLY_ is built into your target system. I booted a linux live CD prior to installing OSX on this system to get the necessary information. You should print out or write down the output of the following commands just in case:
1. Determine your CPU type and the available extensions
cat /proc/cpuinfo

Pay attention to the "flags" and "model name" sections.

2. Your builtin extension cards and chipsets

Note the chipset of your graphics card, sound card, wired and wireless
NICs as well as the motheboard chipset.

3. All other relevant information that might help you

Ok, writing down dmesg isn't funny, but you know what you're looking for

4. MAC-Adress of your wired NIC
ifconfig eth0 | sed -n 's/.*HWaddr \(.*\)/\1/p'

This is only needed if your wired NIC isn't supported out of the box and
if the driver to be used has the zero-MAC issue (e.g. after initialization,
the NIC has its MAC address set to 00:00:00:00:00:00)
If anyone is interested in the outputs for my Lenovo Thinkpad R60e, here are the files:
Now click "Agree" and choose the destination partition to install OSX to (should now be visible in the wizard after formatting it with HFS+). Before hitting the "Install" button click on "Customize" to make changes to the packages and patches being installed.
I can't tell you what to choose here because that depends heavily on the hardware being used, but for the Lenovo Thinkpad R60e, the following options worked:
[X] iATKOS v1.0i Main System
[-] Bootloader
    [X] Darwin x86 bootloader
    [ ] Darwin EFI
[ ] Patches
[-] Drivers
    [ ] VGA
    [-] System
        [ ] S-ATA
	[X] AppleSMBIOS.kext netkas
	[X] Intel Speedstep
	[ ] Ext2fs
    [-] Network
        [X] IO80211Family.kext 10.4.5
	[X] Wireless patch
Now apply these settings, click install and wait for about 20 to 30 minutes for the installation to complete.

After reboot, try to pull out the DVD to see if the system is able to boot from your harddrive. Mine was not and so I had to look for a solution to this problem which I found here. This howto was written for getting the GUID bootloader fixed so it needed a few adoptions to make it fix the x86 MBR bootloader. Here's the magic:
1. Boot with the DVD
Insert the iATKOS boot DVD and wait for the Darwin/x86 prompt to appear

2. Start a rescue shell
Press F8, then type `-s` at the prompt

3. Change to the bootrecords directory
cd /usr/standalone/i386

4. Copy an image of the partition boot record to your OSX partition
dd if=boot1h of=/dev/rdiskXsY bs=512 count=1

(where X is the disk number and Y is the partition number on which you installed Leo)

5. Copy an image of a valid MBR to the MBR of your hard disk
dd if=boot0 of=/dev/diskX bs=400 count=1

(where X is again the disknumber)
If you already have a bootloader installed in the MBR and want to include
the Darwin/x86 bootloader into the existing bootloader have a look at the
many {dual,triple,quad}-boot HOWTOs available on the osX86 project wiki.

6. Reboot the system

Take out the DVD, your system should now boot off the disk
If this didn't work for you, don't worry, you can still boot your installed system with the help of the installation DVD. Simply leave it in the drive and wait for the timer to count down, it will then boot your installed system.

Click through the "Customize your MAC" dialogues and try to configure your network. Configuring the network didn't work for me (neither the wired nor the wireless connection), because the wired NIC (Broadcom BCM5751) wasn't supported by the installed kernel and the wireless NIC won't let itself configure with this network setup thinggie, so I chose "This Mac is not connected to the internet" and continued.
So now let's have a look at my NICs.
I found a kext (kernel extension??) file for the BCM5751 cards with the help of Google, copied it on a USB stick and installed it on my Hackintosh as mentioned below:
1. Search Google for AppleBCM5751Ethernet.kext and download the zip-file

2. Copy the zip-file to your Hackintosh (I used an USB-stick to transfer the archive)

3. Plug the stick into your Hackintosh and copy the archive to a temporary folder

   cp /Volumes/<label-of-your-usb-stick>/AppleBCM5751Ethernet.kext.zip /tmp

4. Change the directory and extract the archive

   cd /tmp && unzip AppleBCM5751Ethernet.kext.zip

5. Change the ownership of the contents to meet the system requirements

   chown -R root:wheel AppleBCM5751Ethernet.kext

6. Change the permissions of the contents to meet the system requirements

   chmod -R 755 AppleBCM5751Ethernet.kext

7. Move this extension to the default extension store

   mv AppleBCM5751Ethernet.kext /System/Library/Extensions

8. Reboot for the changes to take effect
After Reboot, your system should recognize the NIC, check this by clicking on "Go" -> "Utilities" -> "Terminal".
Ah, well, the Terminal. Nice, BTW, but not as good as it could be, there are some things that drive me nuts when using this terminal emulation, but I'll elaborate about that later on.

To do system related tasks and configuration, you need to switch to a privileged user. Using `su -` doesn't work (dunno why at the moment, but I'll find out) so you need to use the `sudo -s` command. Enter the password of the user you created during the installation wizard and you should get the root prompt (indicated by the '#' sign at the end of the prompt).
Now type `ifconfig` to see all available network interfaces. Watch out for interfaces named "en0" or "en1". In my case, "en0" was the wired NIC and "en1" was the wireless NIC.
As this all is a big pile of hackery, the BCM5751 kext doesn't read out the MAC-address of your NIC correctly, so it's set to 00:00:00:00:00:00 by default which is bad. Now it's time to get the piece of paper you wrote down the MAC address to earlier and set it manually (please note that setting hw-related options with ifconfig is only supported when the connection is down, so don't plug the cable in or deactivate the interface):
ifconfig en0 ether 11:22:33:44:55:66
Now everything should be set and you should get your network connections up and running. BTW: You'll have to do this after every reboot of your Hackintosh unless you find out how to make this change permanent and if you do, please tell me!
The next thing I tried was to configure the wireless NIC (an Atheros AR5212 in my case), which did sort of work out of the box, but as I mentioned above, the installation wizard won't let me configure it and all of these funky "Turn Airport On" buttons didn't work, so what could I do?

I decided to ask the "OSX Network Assistant" for help by starting "System Preferences" -> "Network". At the bottom of this dialogue there's an "Assist me..." button, click on it. Choose "Diagnostics...", select the AirPort item and click through the wizard. Don't worry if it yells at you with "Can't turn Airport on" in the first place, it was able to activate it in a second try although there was no visual confirmation that Airport was really turned on and so I was very excited to see my SSID in the list of available wireless networks. BTW I'm also unable to control the state of my AirPort with the "tray icon" in the Finder title bar (I don't know what this is called by you Apple guys, so please don't beat me for calling it a "tray icon"). From now on, everything was straight forward, after entering the WPA passphrase, I was connected and online in just a few seconds.
Unfortunately, these settings are not permanent, so I need to walk through this wizard each time I boot my Hackintosh, but I can live with that at the moment. Again, if you know a way of making this permanent, please don't hesitate to drop me a few lines about that.

All other hardware seems to work fine right now, I can play sound, watch movies and according to the "System profiler" I have accelerated graphics too (I can't really confirm by now as I don't know how to do this, but give me some time...). Maybe I'll try to tune the performance of the video card a bit with an article I found on either insanelymac or at the osX86 project wiki, don't remember anymore. It's about turning of some CRT related stuff, etc.
Some things seem to be broken though, e.g. when installing updates OSX complains about "Your computer is not connected to a power source" although it is properly connected (maybe this is due to me having no battery plugged in?) and there are a few other things that seem to be buggy too, but hey, it wasn't supposed to run at this hardware at all, so after all, I'm quite satisfied with the current state of this installation.

As you might know, I'm not a big fan of any fruits (especially apples) and therefore I'm not feeling very comfortable with this system by now, but maybe that'll change once I figured out how to get rid of the remaining annoyances :)

Some questions to be answered:
  • How can I input > and < or even a | on this system?
  • Why do the key strokes Home, End, Page Up, Page Down, etc. not work?
  • Do the Fx-keys have any special function on an OSX system?
  • Why does Shift-PageUp/Down not scroll the Terminal window?
  • Why does CTRL-U not work properly in the terminal application?
  • Why is the Mail application unable to delete Mails on my IMAP server (Error message: IMAP command "UID COPY" failed. Error in IMAP command returned by server)
  • How can I get the system back online if it fell asleep? None of the known-to-me key combos work...
  • ...

It's already late down here and so I'll stop this entry by now, but there will be updates for sure about this topic, so stay tuned :)

Oh, well, a few additional things:
The windows logo key on your keyboard is mapped to the MacOS option key by default.
Trying to type the '@' sign might kill running applications if you're used to type it using AltGr+q. On your Hackintosh, use "Option (Windows logo key)" + "l (small 'L')" to get the '@' sign.
You should register yourself at http://forum.insanelymac.com because it contains a lot of useful information about this whole experiment and all of the downloads (additional drivers, patches, etc...) can only be downloaded by registered users.
Oh and last but not least, if you're going to make "Software Updates", don't include newer MacOS Versions in your updatery, otherwise your system won't boot anymore after installing this update ;)
If you don't like the MacOS Terminal check for an application called "X11" in the "Utilities" menu. You can get a friendly xterm there which feels like being on a real operating system ;)

Oh, and because everyone likes to see screenshots, here's a screenshot (simply press "Alt + Shift + 3" to make a photo of your current desktop) of my Hackintosh system:
OSX Screenshot

10.03.2008 21:43

Updating VMwareTools-3.5.0-64607.tar.gz to compile on Linux kernel 2.6.24

Today I wanted to give VMI (the new paravirtualization support from VMware) a try and therefore decided to upgrade my guest OS'es linux kernel to the latest available version which is
Of course, VMware tools refused to compile out of the box and therefore I had to patch them a bit to get this experiment going.

Installation instructions, patch downloads, etc. can be found at my projects website. Have fun trying and if the patches don't work for you, drop me a post in my support forum and I'll see what I can do for you.


06.03.2008 08:32

Installing Vista SP1

Well, you know the good old saying: "There's life in the old dog yet"? Let me explain. Yesterday I tried to install Vista SP1 on my notebook and failed miserably. I tried three different ways of getting this installed (using the offline installation file, trying some tips mentioned on winfuture.de, applying a registry key so that my system will get Vista SP1 through windows update) but none of them worked.
At first it looked quite well, but after the second or third reboot (I don't know exactly as I've been away from my laptop while installing it) it reverted all changes and told me that the installation was unsuccessful.

There were different error messages, e.g. 0x800f0826 and later on there was also 0x81000109. Googling for these error messages didn't really help, besides telling me that I should deactivate Anti-Virus software (desperate as I was at this moment, I really did deactivate it...), run a filesystem check, run `sfc /scannow`, etc. Needless to say, that didn't help at all.
Grepping through the CBS.log file generated during the SP1 install didn't help either and so I continued my search on Google by finding out _WHAT_ changes SP1 provides to get an idea about what could cause the problem. After reading quite some articles I found out that the (BCD-like) bootloader gets updated too. Doh!
Although I suppressed my last experience with BCD bootloaders, I guessed that this might be the cause for my new problems too and so I started fixing this old issue.
It took me quite a while to find out what's really wrong with my system but after all, it was very easy to fix.

You remember, `bcdedit` and its evil friends weren't able to find the default BCD store which I created on C:\boot\BCD. So why is this? Using some tools out of the sysinternals package and monitoring a standard `bcdedit` invocation showed that it didn't look for some files on the hard drive before replying with "Can't find BCD store"-like messages.
Long story short: I had the wrong partition marked as active. As this system is configured for triple-booting Linux, Windows XP and Windows Vista, I thought that the Vista partition needs the one to be active but that assumption was simply wrong. After making the XP partition active again (using `diskpart`), `bcdedit` was able to find the default store again and additionally, `msconfig` would let me modify my startup entries again (previously, the "Startup"-tab in `msconfig` was empty). So it seems as if `bcdedit` is looking for the active partition in your current partition table rather than for a specified folder which is nice, BTW, but I wouldn't have expected that from Microsoft ;)
So, should that be the solution for my problem? I tried to install SP1 again and what should I say - it worked perfectly. After about half an hour of automatic reboots and funny numbers counting up to 100% it was alive. So far, I'm quite satisfied with SP1 (copying large amounts of data seems to work better at the first glance) but what really makes me happy is that the problem with the BCD store is now gone and with it, I regained the possibility to hibernate my machine ;)