VMware社からESXiが無償公開されました。
http://www.vmware.com/jp/products/esxi/

オリジナルのESxiは、USBメモリーに組み込まれ(書き込まれ) 、PC本体に内蔵されることを想定したものです。
一方、無償公開されて、ダウンロードできるのは、ESXiをCD-ROMからHDDにインストールできる
「ESXi Installable」です。

仮想化の選択肢が増えることはいいことです。
ESXiは従来のESXから「サービスコンソール」を取り去って軽量コンパクトにしたものです。
VMotionができないなどの若干の機能制限がありますが、基本機能はESXと同じです。
ESXiからESXに有償でアップグレード することもできます。

さっそくISOイメージをダウンロードしてESXiを評価しようと試みました。
しかし、 ESXiのインストーラー(ESXiではなく、そのインストーラー)が選ぶハードウェア条件が厳しくて
なかなかインストールそのものができませんでした。

世界には同じように悩んでいる人がたくさんいました。そしてなんとハックした人がいました。

http://moti.g.hatena.ne.jp/keyword/ESX3i_bootable

http://www.vm-help.com/esx/esx3i/Boot%203i%20from%20USB%20flash%20drive.html

そこではWindows上でファイルを展開、ESXiハイパーバイザーをUSBメモリーに書き込み、ブート可能としていました。
その情報を元に、全てをLinux上で作業する方法を試してみました。
VMware社の動作保証も、弊社の動作保証もありませんが、 とにかくESXiを試してみたい人の参考になれば幸いです。

1.ESXiをダウンロード

http://www.vmware.com/jp/products/esxi/

へアクセスします。
ユーザー登録するとISOファイルのダウンロード画面へ進みます。

登録したメールアドレス宛に「The VMware Team」より「Activate your VMware ESXi License」作業を指示する
メールが届きます。その指示に従って、シリアル番号を入手しておきます。
ESXiをインストール後、60日間は評価用として使えます。
その後は、このシリアル番号をESXiに登録する必要があります。
 

2.ISOファイルをマウント

ダウンロードしたISOファイルを/mntにマウントします。
CD-Rをわざわざ焼かなくても大丈夫です。

$ su # mount  -t  iso9660  -o  loop /somewhere/VMware-VMvisor-InstallerCD-3.5.0_Update_2-103909.i386.iso   /mnt  
$ exit 

3. 中身を確認

$ ls -l /mnt
合計 243495
-rwxr-xr-x 1 201 201  21833379 2008-07-11 12:46 binmod.tgz
-r--r--r-- 1 201 201      2048 2008-07-11 12:46 boot.catalog
-rwxr-xr-x 1 201 201  11119594 2008-07-11 12:46 cim.tgz
-rwxr-xr-x 1 201 201   9082467 2008-07-11 12:46 ienviron.tgz
-rwxr-xr-x 1 201 201 205732265 2008-07-11 12:46 install.tgz
-rwxr-xr-x 1 201 201     11397 2008-07-11 12:46 isolinux.bin
-rwxr-xr-x 1 201 201       244 2008-07-11 12:46 isolinux.cfg
-rwxr-xr-x 1 201 201       115 2008-07-11 12:46 license.tgz
-rwxr-xr-x 1 201 201     99000 2008-07-11 12:46 mboot.c32
-rwxr-xr-x 1 201 201     30668 2008-07-11 12:46 menu.c32
-rwxr-xr-x 1 201 201       137 2008-07-11 12:46 oem.tgz
-rwxr-xr-x 1 201 201   1423958 2008-07-11 12:46 vmkernel.gz

4. 一部を確認

install.tgz  の中に、本当に必要なファイルが格納されています。

$ gzip -dc /mnt/install.tgz | tar tvf -
drwxr-xr-x mts/mts           0 2008-07-11 12:43 sbin/
-rwxr-xr-x mts/mts         313 2008-07-11 12:43 sbin/install drwxr-xr-x mts/mts           0 2008-07-11 12:43 usr/ drwxr-xr-x mts/mts           0 2008-07-11 12:43 usr/lib drwxr-xr-x mts/mts           0 2008-07-11 12:43 usr/lib/vmware/ drwxr-xr-x mts/mts           0 2008-07-11 12:45 usr/lib/vmware/installer/

5. カレントディレクトリーに展開

必要なファイルを取り出すために、一旦、カレントディレクトリーに展開します。
展開する場所はカレントディレクトリーです。
決して/(ルート)ディレクトリーで作業、展開しないでください。

$ gzip -dc /mnt/install.tgz | tar xvf -
sbin/
sbin/install
drwxr-xr-x mts/mts           0 2008-07-11 12:43 usr/
drwxr-xr-x mts/mts           0 2008-07-11 12:43 usr/lib/
drwxr-xr-x mts/mts           0 2008-07-11 12:43 usr/lib/vmware/
drwxr-xr-x mts/mts           0 2008-07-11 12:45 usr/lib/vmware/installer/

 

6. 展開した中身を確認

 $ ls usr/lib/vmware/installer/
Core        ThinESXInstall.py
ThinESX     VMware-VMvisor-big-3.5.0_Update_2-103909.i386.dd.bz2
ThinESX.py

 

7. 必要なファイルだけを移動して、残りをばっさり消します

ここは必ず、一般ユーザ権限にて作業しましょう。
対象ファイルだけを、深いディレクトリーの底から、カレントディレクトリー移動します。
間違っても `/sbin` や `/usr` を消さないこと。
間違って消したとしても弊社は一切の責任を負いません。

$ mv usr/lib/vmware/installer/VMware-VMvisor-big-3.5.0_Update_2-103909.i386.dd.bz2 . #再度のドットはカレントディレクトリーの意味
$ rm -rf sbin usr

 

8. 圧縮されているファイルを解凍

圧縮されているファイルを解凍します。
700MBを超えるサイズです。
ESXiがそんなに大きいわけではありません。
Windows上で動作する、VI Clientなども含まれているためです。

$ bzip2 -d VMware-VMvisor-big-3.5.0_Update_2-103909.i386.dd.bz2
$ ls -l VMware-VMvisor-big-3.5.0_Update_2-103909.i386.dd
-rwxr-xr-x 1 kfujii kfujii 786432000 2008-07-11 12:45      VMware-VMvisor-big-3.5.0_Update_2-103909.i386.dd

わざわざ一旦解凍しなくても、解凍先を標準出力にして、ddコマンドへ渡せばUSBへ書き込みできます。
しかし、そもそもどれくらいのサイズなのかを、知っておくことも大切だと思います。
あるいは、どれくらい圧縮できるものなのかを、知っておくことも大切だと思います。

# bzip2 -dc VMware-VMvisor-big-3.5.0_Update_2-103909.i386.dd.bz2| dd of=/dev/sdb

9. USB へ書き込み

新品のUSBメモリーはFAT16で初期化されているのがご時世です。
一応、確認しておきましょう。
内蔵ディスクが1台のlenovo ThinkPad X60(WindowsXPとDebianのデュアルブート)上で作業しました。

# fdisk -l

Disk /dev/sda: 60.0 GB, 60011642880 bytes  #こちらは内蔵1台目のHDD
255 heads, 63 sectors/track, 7296 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1        3264    26218048+   7  HPFS/NTFS
Partition 1 does not end on cylinder boundary.
/dev/sda2            3265        6726    27808515   83  Linux
/dev/sda3            6727        7296     4566240   12  Compaq diagnostics
Partition 3 does not end on cylinder boundary.

Disk /dev/sdb: 2051 MB, 2051013632 bytes #こちらがUSBメモリー
33 heads, 63 sectors/track, 1926 cylinders
Units = cylinders of 2079 * 512 = 1064448 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1        1927     2002927    6  FAT16

 

書き込み先を十分に確認します。
間違えると、内蔵HDDを論理的に壊します。二度とブートしなくなるかもしれません。
USBメモリーは1パーティションに切られていて、FAT16でフォーマット済みでした。
そんなことは一切気にしないで`/dev/sdb` へ書き出します。
`sdb1`(最初のパーティション)ではなく`sdb`(ディスクの先頭)へ書き出します。

$ su 
# dd if=VMware-VMvisor-big-3.5.0_Update_2-103909.i386.dd of=/dev/sdb
1536000+0 records in
1536000+0 records out
786432000 bytes (786 MB) copied, 531.836 seconds, 1.5 MB/s
# exit
$

10分くらいとすごく時間がかかりました。
bs(Block Size)オプションを併記すると、早くなるそうです。

10. ディスクイメージの再圧縮

少しでもHDDを節約するために、ファイルを圧縮して保存しておきましょう。
次回からは、`bzip2 -dc`(標準出力へ出力)と `|`(パイプ)を使いましょう。

$ bzip2 VMware-VMvisor-big-3.5.0_Update_2-103909.i386.dd 

 

11. 作成したUSBメモリーからブート

BIOSの設定変更が必要かもしれません。
ブートデバイスの優先順位を必要があれば変えてください。
USBメモリーをどのように扱うか、選択肢があればそれをHDDに変えてください。
HP ML115の場合には、上記設定変更が必要でした。
ESXiは、AHCIをサポートしていません、これを切ってください。
AHCIをONにしていると、そのSATA  コントローラーはESXi から見えません。従ってHDDが見えません。
ご注意ください。