FOXCONN A7DA 3.0でESXi動かす

自宅の検証用マシンをスペックアップしてみました。
シングルコアのAthlon64から、クアッドコアAthlon64へ…

購入したマザーボードNICが認識できず悪戦苦闘してしまったので設定メモ。

[構成]

CPU AMD Athron(tm) II X4 620 Processor
MotherBoard FOXCOMM A7DA 3.0
Memory 4GB
ESXi Server VMWare ESXi 4.0.0 build-171294

エラーの原因調査

ESXiを起動すると、オレンジ色の画面から各種ドライバがロードされるのですが、
途中で次のようなエラーメッセージでコケる。

 Failed to load lvmdriver

調べてみると、どうやらこのメッセージはNICの認識に失敗しているようです。
FOXCOMM A7DA 3.0のNICBroadcom NetLink 5784Mを使用しているようなので、
下記のページで、ESXiのNIC対応状況を確認すると「tg3 version 3.81c」という
ドライバで対応していました。
http://www.vmware.com/resources/compatibility/search_results_ajax.php?action=search&deviceCategory=io&productId=1&advancedORbasic=basic&keyBasic=&rorre=0&&partnerId[]=12&&&sort=manufacturer~asc&&startDisplayRow=50&ioTypeId=6

ブートUSBの作成

今回の対処として、ドライバ情報を追記する必要があるのですが、
インストールCDそのものの作り直しとなるとめんどくさそうなので、
実験もかねてUSBブートさせることにしました。

Google先生に教えてもらい、下記サイトを参考にUSBブートを実現しました。
http://d.hatena.ne.jp/shibainu55/20090620/1245579874

1. VMWare ESXiのISOイメージのダウンロード
2. ISOイメージをマウントし、image.tgzファイルを展開
3. /usr/lib/vmware/installer/VMware-VMvisor-big-171294-x86_64.dd.bz2を展開し、
  ddコマンドでUSBに書き込み

この手順で作成したUSBメモリをPCにつないでUSBブートをすると、
ESXiが起動します。

oem.tgzの作成

ESXiのなかに、ドライバ設定情報が書かれた「oem.tgz」というアーカイブがあり、
起動毎に展開されているようです。
この設定に、使用するハードウェアと対応するドライバを記載することにより
標準で使用できないハードウェアにも対応できます(ドライバがあればの話ですが)
※個別になにか設定したいときは、このoem.tgzに設定書いておけば
 ESXiをカスタマイズできそうですね
1. 作成したESXi USBでESXiを起動する
2. オレンジの起動画面が表示されたら、「Alt+F1」を押しコンソール画面を表示
3. unsupportedと入力。パスワードを聞かれるので、rootのパスワードを入力
  ※設定していない場合、そのまま「entrer」キー
4. 環境に合わせた、oem.tgzを作成する
  以下のサイトを参考に、simple.mapとpci.idsファイルを編集
  http://ultimatewhitebox.com/motherboard/156
  http://ssspt.net/node/67
  http://d.hatena.ne.jp/Lushifer/20090126
  http://www.vm-help.com/esx/esx3.5/Whiteboxes_SATA_Controllers_for_ESX_3.5_3i.htm

# cd /tmp
# mkdir -p oem/etc/vmware
# cd oem/etc/vmware
# cp /etc/vmware/simple.map
# cp /etc/vmware/pci.ids
simple.mapを編集し、エントリーを追加する
# vi simple.map
292行目: 14e4:1698 0000:0000 network tg3.o
※14e4:169で検索し、連番で記載
pci.idsを編集し、エントリーを追加する
# vi pci.ids
10049行目: [tab][tab]105b 0e14 NetLink BCM5784
※NetLinkという文字列を検索すると、14e4 Broadcom Corporationの中に、
 [tab]1698 NetLink BCM5784M Gigabit Ethernet PCIeのエントリーが
あるので、この文字の下に追加する。
5. カスタムoem.tgzを作成し設置する
# cd /tmp/oem
# chown -R 201:201 ./etc
# chmod -R 755 ./etc
# chmod 644 ./etc/vmware/simple.map
# chmod 655 ./etc/vmware/pci.ids
# tar -cvzf oem.tgz etc
# cp oem.tgz /bootbank/oem.tgz
# cd /bootbank/
# chmod 755 oem.tgz
# sync
# reboot
6. 再起動後、正常にESXiが起動することを確認する

以上。