VMware ESXi 4.1 on a Thinkpad T410 - installed

Recently I inherited a series of new products at Symantec that require several RedHat Enterprise Linux servers in order to operate, and so I decided (probably, foolishly) to provision my standby Windows laptop (a recent Lenovo Thinkpad T410 with 6GB of RAM) as a hypervisor in order to run a small test/familiarization/demo environment. I planned to manage it using the vSphere client on a Windows image (taken initially *from* that laptop by VMware Converter (standalone) running in Fusion on my day-to-day Macbook Pro. Any of those of you who've tried to use VMware's free hypervisor, ESXi, on anything not on the HCL have probably struggled with installation at some point, which is usually due to unsupported hardware and missing drivers, and this was no exception. 
Well, now with the help of various posts in the past at VM-Help (who also maintain their own HCL, known as the WHCL) I can report success - VMware ESXi 4.1 does install on such a small piece of hardware, albeit with a custom network driver that you must inject into a custom install ISO you create, before installing. Here I'm presenting the steps, in case this is of any use to you; 
*** Disclaimer: You will receive no support from VMware, and you'll likely receive a hefty ribbing from your cubemates should things go wrong and you begin gnashing your teeth/headbutting the desk/wailing in the corner.

1. Prepare. Download a few things;

a. VMware ESXi 4.1 (you'll need a VMware account, recall however that it's offered free)
b. The Intel e1000e2 custom OEM.tgz driver (I used the driver based on 1.1.19, created by a user on the VM-Help Forum)
c. Daniel Soderlund's mkesxiaio script from Google Code (customizes drivers and rebuilds the install .iso)
d. A working Linux box (I used an Ubuntu 10.10 desktop I had nearby, although there might be ways on Windows - I don't know)

2. Go to your Linux box. Put the first 3 download deliverables into one folder. There will be;

a. VMware ESXi install .iso
b. oem-8086-10f0-v1119.tgz
c. mkesxiaio_4.1.sh

3. Drop into a terminal, and change to that folder you've added the 3 files to. chmod +x the mkesxiaio_4.1.sh file so it can be executed. Run it, usually "./mkesxiaio_4.1" (without the quotes)

4.  Work through the questions. The easiest way to install (remember, my opinion) is to make a new installation .iso with your customer driver injected. I chose option 3) - ESXi 4.1, then option 1) - ISO installation. 

5. The script will ask you if you want to install a load of accessory software, ftp, ssh and the like. These are up to you; your mileage may vary and I suggest you read up on what these can do for you. I chose to not install any of these. 

6. The script will shortly ask you if you want to "add custom file from custom-esx (this is another folder the script itself creates). I said no. 

7. The script will then ask you if you want to edit respectively inetd.confpci.ids and simple.map. I said "No" to editing inetd.conf, and "Yes" to editing pci.ids and simple.map. Here's why, and it's the critical part;

– The Thinkpad T410 uses an Intel 82577LM network interface. 
– The 82577LM has a PCI address of 8086:10ea. This is important. 
– The drivers for this are what you wish to inject, and are in that oem_xxx.tgz file you added to the folder
– The mkesxiaio_xx.sh script watches for any oem_xxx.tgz file and injects those into your new custom install .iso it will build momentarily
– YOU need to edit pci.ids and simple.map to tell ESXi that you've done so, and that it should load these new drivers
– The mkesxiaio_xx.sh script will allow you to make the edits during it's processing

    • Edits
    *** pci.ids ***
    10ea 82577LM Gigabit Network Connection

    • (I just scrolled to the section, removed the existing 10ea definitions, and added the above line)

    *** simple.map ***
    8086:10ea 0000:0000 network e1000e2.o

    • (similarly, scroll to the relevant section, make the edit to include the line above)
    • In both cases, use the pico/nano commands CTRL+o and CTRL+x to writeout your file (save changes) and exit. The script will move on as you do.  

    8. The mkesxiaio_4.1.sh script will then finish building a new VMware ESXi custom install .iso file for you, including your new drivers from oem-8086-10f0-v1119.tgz and your edited pci.ids and simple.map files - and then it will tell you where it saved that .iso file. 

    9. Grab that custom .iso, burn it to a disc, and get cracking with your install. If it all worked, ESXi installation will proceed without error and you'll be running the VMware Hypervisor on your laptop in less than 15 minutes. 

    Enjoy! 

    Windows IIS Server, and Office file mime types (ugh)

    Had some troubles with Office 2007 files not being downloadable on our windows servers … did a bit of Googling and found this nice list of Office 2007 mime-types:

    .docm,application/vnd.ms-word.document.macroEnabled.12 .docx,application/vnd.openxmlformats-officedocument.wordprocessingml.document .dotm,application/vnd.ms-word.template.macroEnabled.12 .dotx,application/vnd.openxmlformats-officedocument.wordprocessingml.template .potm,application/vnd.ms-powerpoint.template.macroEnabled.12 .potx,application/vnd.openxmlformats-officedocument.presentationml.template .ppam,application/vnd.ms-powerpoint.addin.macroEnabled.12 .ppsm,application/vnd.ms-powerpoint.slideshow.macroEnabled.12 .ppsx,application/vnd.openxmlformats-officedocument.presentationml.slideshow .pptm,application/vnd.ms-powerpoint.presentation.macroEnabled.12 .pptx,application/vnd.openxmlformats-officedocument.presentationml.presentation .xlam,application/vnd.ms-excel.addin.macroEnabled.12 .xlsb,application/vnd.ms-excel.sheet.binary.macroEnabled.12 .xlsm,application/vnd.ms-excel.sheet.macroEnabled.12 .xlsx,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet .xltm,application/vnd.ms-excel.template.macroEnabled.12 .xltx,application/vnd.openxmlformats-officedocument.spreadsheetml.template

    Adding all mime-types to IIS in one step is very simple:

    The easiest way to do this is stopping IIS and editing the metabase XML file (C:\WINDOWS\system32\inetsrv\MetaBase.xml) using a text editor. Search for the <IIsMimeMap Location="/LM/MimeMap" …> element and append the lines above to the MimeMap attribute

     

    (from Bram Van Damme, http://www.bram.us/2007/05/25/office-2007-mime-types-for-iis/)

    I see all this, but quite candidly, after futzing with Windows IIS for about 40 minutes earlier today I'm having better cross-platform (on the client) success with application/octet-stream instead. This just sends the file to the client, which works out what kind of file it is by itself and then treats it appropriately. So...

    .docx,application/octet-stream 
    .xlsx,application/octet-stream 
    .pptx,application/octet-stream  

    that's all I added to this IIS Server's metabase config. Just in case that helps you somewhere.

    Safari 5 just launched. Guess my favourite extension.

    I won't keep you in suspense if you bothered to click: it's AdBlock for Safari. It's right alongside Click to Flash, for my money. And the Extensions Gallery just launched with Safari 5 made it so much easier to obtain and install. Given that I'm a big proponent of the web, why? 
     
     
    I only have a few moments so I'll state it clearly and concisely: from my perspective the web is rapidly turning into a cesspool of banner, poster, inlay, popover, popunder, moving, talking, and interstitial advertising. I don't even care if the product might be slightly relevant at this point. This interruptive experience is the stuff that sent AltaVista and others down the tubes and opened the door for Google, who are still highly sensitive to how they display adverts today. And well they should be; the 2010 web experience is as glaring and jarring as a drug-fueled Vegas nightmare. To concentrate an example (and in fact, pick on Google where they do not yet have a revenue engine at all like search), just look at the experience of YouTube videos on Boxee. By and large, an overlay advert appears when you're watching a video, most videos it seems, and it CANNOT be removed. That does not encourage my 'leanback' experience in the slightest, and I've found myself seeking out documentaries from places like VBS.tv instead. Interstitials or 'welcome screens' are no better, as evidenced by a plethora of "old media" (this is not my term) sites struggling with monetizing content during the transition from print to web.
     
    Let me be clear. I have no beef with producers being paid for their content. Nor providers being paid for their service, especially if it's good. Nor with good products costing an appropriate amount of money. But if you place my screen in a setting that looks as attractive as a NASCAR, I'm not going to like it and I'm going to do away with it. Either I'll just stop using your site or I'll figure out how to elide the ugly distracting interruptive stuff. 
     
    Learn how to build great, attractive products that people will pay for, or find other models to monetize beyond selling a million pixels to brand names. In many other countries branding works without my eyeballs being assaulted every 3 minutes, so we can do it too. And then, I believe you'll go a long way.