何年も前のエントリーですが、下書きのまま放置してたので公開します。ただ、もうESXi4.1の情報なんて価値がない気がします。この時構築した箱はまだ活躍中です。
目標
- HP Z400にESXi 4.1U1をインストールする
- 蟹NICを一枚追加する
- USBメモリからインストールする
準備するもの
- ESXiのインストーラーのCDのiso(VMware-VMvisor-Installer-4.1.0.update1-348481.x86_64.iso) VMwareから貰ってきます。
- 追加する蟹NICのドライバ(後述)
- USBメモリ1G以上のもの1つ
- Linuxが動いているPC(VMじゃない物理マシンの方がベター)
ハードウェアの確認
あらかじめHP Z400にNICを追加。BIOSの設定でSATA-RAIDをIDEに変更しておきます(影響よくわからず)。
CDドライブが無い場合、途中の工程をすっとばしてUSBメモリのインストーラーを作り、起動します。CDドライブが使えるなら、CD1枚無駄にしますが、素でisoを焼いてしまいブートしてみるのが確実に早いです。素のインストーラーでは、NICが認識されない先でインストーラーがコケるので、ここでALT+F1でシェルに降ります。
lspci -v | less で、NICの箇所を見つけてメモります。
オンボードNIC
000:001:00.0 Ethernet controller Network controller: Broadcom Corporation NetXtr eme BCM5764M Gigabit Ethernet PCIe Class 0200: 14e4:1684蟹NIC
000:055:04.0 Ethernet controller Network controller: Realtek Semiconductor Co., Ltd. RTL-8169 Class 0200: 10ec:8169
それぞれ最後の16進の数値をチェックして、次に hwinfo -p | less して、その数値がある所を探します。
(略) 000:001:00.0 14e4:1684 103c:1309 10/ 10/0xd0 A V 000:015:00.0 10de:1245 1048:0fa6 7/ 7/0xb8 A V 000:015:00.1 10de:0bee 1048:0fa6 10/ 10/0xc0 B V 000:055:04.0 10ec:8169 1154:032b 3/ 3/0x88 A V (略)
上記の最初と最後です。
- 14e4:1684 103c:1309 オンボード
- 10ec:8169 1154:032b 蟹NIC
oem.tgzの作成
蟹NICのドライバの入ったoem.tgzを vm-help.comから貰ってきます。http://www.vm-help.com/ から探せば大抵のドライバは見つかるはずです。今回の蟹NICのドライバは、http://www.vm-help.com/forum/viewtopic.php?f=12&t=3039&p=11774&hilit=8169 で貰ってきました。当該NICのドライバは、r8169.o ですが、このoem.tgzは、Realtek詰め合わせ状態です。 このoem.tgzをLinuxで、適当な場所で展開します。必要なのは、- etc/vmware/pci.ids
- etc/vmware/simple.map
- usr/lib/vmware/vmkmod/*.o 折角なので全部入れておこう。
pci.ids
pci.dsとsimple.mapをカスタムする訳ですが、まず lspci と hwinfo で調べた数値を頼りに pci.ids で、NICを探します。 オンボード14e4 Broadcom Corporation 0800 Sentry5 Chipcommon I/O Controller <略> 1681 NetXtreme BCM5761 Gigabit Ethernet PCIe 1684 NetXtreme BCM5764M Gigabit Ethernet PCIe 1685 NetXtreme II BCM57500S Gigabit Ethernet <略>14e3:1684をキーに探して、項目が載ってればOK。何故か載っていたので何もせず。 次、蟹NIC
10ec Realtek Semiconductor Co., Ltd. 0139 Zonet Zen3200 <略> 8169 RTL-8169 Gigabit Ethernet 1025 0079 Aspire 5024WLMi 10bd 3202 EP-320G-TX1 32-bit PCI Gigabit Ethernet Adapter 1259 c107 CG-LAPCIGT <略>10ec:8169 1154:032b の下位の2つまで該当する項目がありません。今回は追加せずに行けましたが、別の蟹NICだと足さないとダメなこともあったので、足すなら、
8169 RTL-8169 Gigabit Ethernet 1025 0079 Aspire 5024WLMi 1154 032b LGY-PCI-GT 10bd 3202 EP-320G-TX1 32-bit PCI Gigabit Ethernet Adapter <略>てな具合に適当に埋めます。
simple.map
こっちにも2つエントリを足しますが、蟹NICの方は既に10ec:8136 0000:0000 network r8169.o 10ec:8139 0000:0000 network 8139too.o 10ec:8167 0000:0000 network r8169.o 10ec:8168 0000:0000 network r8169.o 10ec:8169 0000:0000 network r8169.oと定義してあったのでOK。ここもpci.ids同様認識されない場合は、
10ec:8169 1154:032b network r8169.oを追加してみてください。 オンボードの方は、エントリが無いので、
14e4:1684 0000:0000 network tg3.oを適当な場所に追加。これで認識されない場合、
14e4:1684 103c:1309 network tg3.oと下2つまで追加してみてください。 tg3.oはインストーラーに含まれていて、ドライバは揃っているので、これで固め直します。ドライバを追加する場合は、usr/lib/vmkmod/ の下に集めます。 tar+gzするときに、全てのファイルのオーナーは201:201で、パーミッションも他のファイルに合わせておきましょう。なんとなく。
# tar cvfz oem.tar.gz usr etc
カスタムインストーラーUSB作成
基本的に、http://www.vm-help.com/forum/viewtopic.php?f=12&t=4 に沿って進めます。
mkesxiaio が途中で失敗すると、最初からやりなおしとなるのでトライ&エラーすると大部時間を喰います。折れずに頑張りましょう。
- http://code.google.com/p/mkesxiaio/から、mkesxiaio_4.3.1.sh を貰ってきます。
- 作業用のディレクトリを作ります。/tmp/work とか。
- mkesxiaio_x.x.x.shを作業用ディレクトリに置いて、chmod +x します。
- webアクセスにプロキシが必要な場合は環境変数にセットしておきます。export http_proxy=http://x.x.x.x:port/
- VMWareのインストールCDのisoを/tmp/work に置きます。symbolic inkで可
- 上で作った oem.tgz を 同じ場所に置きます。複数ある場合、とりあえず oem_*.tgz という名前にしておけば後から選択可能みたいです。
- ./mkesxiaio_x.x.x.sh 実行。とりあえず実行してみて、足りない物があったらインストールしてください。
- ESXiのバージョンは、4.1の3を選び
- 2のUSB installtion を選ぶ。
- wget や rsync他を入れる? と聞かれるけど、入れない n で。
- あとはずんずんデフォルトで進めて
- kickstart をカスタマイズするかと聞かれたらy で、ipaddress や netamask は空で。全部 enter のみで答えて、ks.cfgを編集するか? と聞かれたらYしてエディタに入ります。
vmaccepteula rootpw nantokakantoka autopart --firstdisk --overwritevmfs install usb network --bootproto=dhcp --device=vmnic0
こんな風にします。install usb がポイント。ネットワーク回りが決まっていれば最後の行は、
network --bootproto=static --ip=192.168.0.10 --gateway=192.168.0.254 --hostname=esxihost --device=vmnic0 --nameserver=192.168.70.1 --netmask=255.255.255.0
とかすればいいでしょう(実際は1行で)。 USBメモリを刺して(一応、やるならFAT32でフォーマットしておく) インストールするUSBのデバイス名を与える。後から刺したらupdateして認識しなおす。 これで、コピーが始まり完成するハズなのですが、私の環境だと
Next step will be to make the USB drive bootable and copy the installations files to the it. You need to unmount the device manually Need to be fat16 or fat32 OBS !!! You need 700 MB free on the USB Using /dev/sdd1 Do you really like to continue with this ? [y/N] y Information: You may need to update /etc/fstab. [Done] Mounting the /dev/sdd1 to /tmp/work/esx-usb/ [Fail] The script failed for som reason, if you can't solve it your self please make a post on http://vm-help.com/forum #で、mountしにいって必ずコケました。USBを変えても同じ。/etc/fstabを変える必要あり?? 仕方ないので、手動で mount すると、ふつうにmountできます。
mount /dev/sdd1 /tmp/work/esx-usb/tmp/work/esx-usb には、ldlinux.sys が入っていて、これはそのままにして、/tmp/work/save/VMware_esxi_cutom_4.1_oem.usb/* を全部/tmp/work/esx-usb にコピーして完了。 USBを刺して、USBからブートし(F9かBIOS)あとは眺めてれば終わります。 最後の画面に落ちつく前に一瞬赤い文字がチラっと見えます。こんなのです。
cpu3:4608)ALERT: Elf: 3043: Kernel module r8169 was loaded, but has no signature attached3rd party製のドライバにsignatureが必要ですよ、と言われてる風ですが、動いてるので見なかったことにします。
(終わり)長かった。
0 件のコメント:
コメントを投稿