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! 
    11 responses
    IPad is not intended to replace computer in anyway.It however does a lot of things which a computer does and surprisingly it does better and faster.Ipad is an amazing invention from apple.It has many flaws and drawbacks too.Apple should consider those things.It doesnt have camera even.I usually shop on this online shopping site for ipad when i came acros with different blogs.Do check it out for many other products.Ipad and blackberry books are both the same.Blackberry book comes with many new feature while ipad lacks sum functions.
    Hi Nick,

    I just stumbled upon your post on ESXi running on Lenovo T410. I’m not a Linux guru to compile a custom ISO, but I would love to give it a try on my T410. Have you managed to upload your custom ISO anywhere? I appreciate if you could email me a link to your ISO. Otherwise I will have to struggle with Linux or bribe my Linux friends into helping me :)

    Cheers,
    - Art

    Hey Art, I haven't uploaded that new .iso anywhere public, sorry. Whilst I haven't read all of the T&C's from VMware, I've assumed that redistributing their sofftware isn't allowed. Hopefully one of your Linux-capable friends can help you out, it's not too hard. I succeeded, so it can't be that bad ;)
    Got it sorted out. My Linux friend managed to compile an ISO for me in about half an hour. Thanks for your help!

    P.S. Just an observation: ESXi 4.1 eats up about 0.9 - 1Gig of the host RAM. Not much RAM savings comparing to running VM Ware workstation on Windows. You do get stability of Linux and more I/IO available for your VMs though..

    Art, great to hear. And yeah, it eats up some RAM but offers some stability, and if you have other ESX/i environments it's directly compatible, which I found useful. Glad to have been of some help!
    Thank you for the excellent instructions... I've tried to use the mkesxiaio v4.1, but the tool keeps failing, e.g. the scripts fail at two places: 1. bunzip2 *.bz2 (bunzip2: Can't open input file and 2. Mounting *dd to xx/esx-5: syntax error.... I just wonder if you have come across the same problems and if you could provide me some pointers?
    Thank you for the excellent instructions... I try to follow them and use the mkesxiaio v4.1 but the tool keeps failing at two places: 1. bunzip2 *.bz2 (Can't open input file *.bz2: No such file or directory. 2. Mounting *dd to xx/esx-5... syntax error! I just wonder if you have come across the problems and how to resolve them? Thank you very much.
    Did you try installing the ESXi on a SDCard? Looks like the ESXi does not have a driver for it.
    Did you try installing the ESXi on a SDCard? Looks like the ESXi does not have a driver for it.
    George - no I didn't try that. I installed on an external HDD only.

    Long - sorry I missed your comment earlier. I didn't see those errors and I'm not sure what you're facing there, I personally find Linux often confusing when various pre-requisites that are hard to uncover aren't installed.

    By the way Long, I'm assuming you're running this on one of the supported Linux platforms (for the mkesxiaio script - http://www.vm-help.com/forum/viewtopic.php?f=16&t=4) and that you know about the prerequisites and so forth - so my only suggestion is to go through their support forum http://code.google.com/p/mkesxiaio/