FreeBSD9.0のvmxntが使えない?

先日の日記

FreeBSD 9.0でVMware-tools

ではうまくいったと思っても、
vmxnetでエラーを吐いてしまい、
vmxnet2、vmxnet3を使うことができません。

kldload vmxnet
KLD vmxnet.ko: depends on kernel - not available or version mismatch
linker_load_file: Unsupported file type
kldload: can't load vmxnt: Exec format error

いろいろ見てみると、

# ls -lha /usr/local/lib/vmware-tools/modules/binary/
total 112
drwxr-xr-x  14 root  wheel   512B Mar  3 20:11 .
drwxr-xr-x   4 root  wheel   512B Mar  3 20:11 ..
drwxr-xr-x   2 root  wheel   512B Mar  3 20:11 FreeBSD6.3-amd64
drwxr-xr-x   2 root  wheel   512B Mar  3 20:11 FreeBSD6.3-i386
drwxr-xr-x   2 root  wheel   512B Mar  3 20:11 FreeBSD7.0-amd64
drwxr-xr-x   2 root  wheel   512B Mar  3 20:11 FreeBSD7.0-i386
drwxr-xr-x   2 root  wheel   512B Mar  3 20:11 FreeBSD7.1-amd64
drwxr-xr-x   2 root  wheel   512B Mar  3 20:11 FreeBSD7.1-i386
drwxr-xr-x   2 root  wheel   512B Mar  3 20:11 FreeBSD7.3-amd64
drwxr-xr-x   2 root  wheel   512B Mar  3 20:11 FreeBSD7.3-i386
drwxr-xr-x   2 root  wheel   512B Mar  3 20:11 FreeBSD8.0-amd64
drwxr-xr-x   2 root  wheel   512B Mar  3 20:11 FreeBSD8.0-i386
drwxr-xr-x   2 root  wheel   512B Mar  3 20:11 FreeBSD8.1-amd64
drwxr-xr-x   2 root  wheel   512B Mar  3 20:11 FreeBSD8.1-i386

とあり、FreeBSD9.0には対応してないようです。

「vmxnet」だけみたいなので、「open-vm-tools」から「vmxnet.ko」だけ持ってきましょう。
(/usr/local/lib/vmware-tools/modules/source/vmxnet.tar vmxnet3.tar
をコンパイルしても 失敗します。。。。)


portsを使ってやります。
makeまででOK

# cd /usr/ports/emulators/open-vm-tools-nox11
# make
===>  Vulnerability check disabled, database not found
===>  License LGPL21 accepted by the user
=> open-vm-tools-8.6.0-425873.tar.gz doesn't seem to exist in /usr/ports/distfiles/.
=> Attempting to fetch http://heanet.dl.sourceforge.net/project/open-vm-tools/open-vm-tools/stable-8.6.x/open-vm-tools-8.6.0-425873.tar.gz
open-vm-tools-8.6.0-425873.tar.gz             100% of 3562 kB  513 kBps
===>  Extracting for open-vm-tools-nox11-425873,1

# 

エラーは特に出ないと思います。
必要なものは、

# cd work/open-vm-tools-8.6.0-425873/modules/freebsd/
# ls -lha
total 344
drwxr-xr-x  7 root  wheel   512B Mar  4 01:28 ./
drwxr-xr-x  6 root  wheel   512B Mar  4 01:26 ../
drwxr-xr-x  2 root  wheel   512B Sep 22 03:25 shared/
drwxr-xr-x  2 root  wheel   512B Mar  4 01:28 vmblock/
-rw-r--r--  1 root  wheel    28k Mar  4 01:28 vmblock.ko
drwxr-xr-x  2 root  wheel   1.5k Mar  4 01:28 vmhgfs/
-rw-r--r--  1 root  wheel    68k Mar  4 01:28 vmhgfs.ko
drwxr-xr-x  2 root  wheel   512B Mar  4 01:28 vmmemctl/
-rw-r--r--  1 root  wheel    15k Mar  4 01:28 vmmemctl.ko
drwxr-xr-x  2 root  wheel   512B Mar  4 01:28 vmxnet/
-rw-r--r--  1 root  wheel    20k Mar  4 01:28 vmxnet.ko

ここにあります。

で、目的の「vmxnet.ko」を「/boot/modules/」へコピーします。

# mv /boot/modules/vmxnet.ko /boot/modules/vmxnet.ko.back
# cp vmxnet.ko /boot/modules/

これでOK

FreeBSD 9.0でOpen-VM-tools
3)NICをVMXNET2にする


FreeBSDでVMXNET
2)rc.confを変更します。

を参考にしながら

# vim /etc/rc.conf
 
ifconfig_vxn0=" inet 192.168.***.*** netmask 255.255.255.0"
defaultrouter="192.168.***.***"
# ifconfig_vxn0="SYNCDHCP" # USE DHCP

もしくはこんな感じ

# vim /etc/rc.conf
 
ifconfig_vxn0_name="em0"
ifconfig_em0=" inet 192.168.***.*** netmask 255.255.255.0"
defaultrouter="192.168.***.***"
# ifconfig_em0="SYNCDHCP" # USE DHCP

DHCPの場合はSYNCDHCPにしないとIP取ってこないので注意

# shutdown -p now

あとは、NICをvmxnet2にしてあげればOKです。

# kldstat 
Id Refs Address            Size     Name
 1    4 0xffffffff80200000 11cd9b0  kernel
 2    1 0xffffffff813ce000 5630     vmxnet.ko
#
# dmesg |grep Eth
vxn0: <VMware PCI Ethernet Adpater> port 0x2000-0x203f irq 18 at device 0.0 on pci2
vxn0: Ethernet address: 00:0c:29:a2:xx:xx

認識していますね

あと一息です。

***注意***

The file /boot/modules/vmxnet.ko that this program was about to install already
exists.  Overwrite? [yes] no

ここは[no]にして下さい!!

再度、設定します。

# /usr/local/bin/vmware-config-tools.pl
Initializing...


Making sure services for VMware Tools are stopped.

Stopping VMware Tools services in the virtual machine:
   Guest operating system daemon:                                      done
   Guest memory manager:                                               done
   Guest vmxnet fast network device:                                   done


File /boot/modules/vmxnet.ko is backed up to /boot/modules/vmxnet.ko.old.0.

The file /boot/modules/vmxnet.ko that this program was about to install already
exists.  Overwrite? [yes] no


Please remember to configure your network by adding:
ifconfig_vxn0="dhcp"
to the /etc/rc.conf file and start the network with:
/etc/netstart
to use the vmxnet interface using DHCP.

Enjoy,

やっと終わりです。

再起動してみましょう

# reboot

ESXi上でFreeBSDのIPアドレスなどを取得できていることを確認します

正直、open-vm-toolsでいいと思う。。。

[tegaki]勉強になるなぁ()[/tegaki]

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

Enter code * Time limit is exhausted. Please reload CAPTCHA.

This site uses Akismet to reduce spam. Learn how your comment data is processed.