八月 01
准备开始尝试 2.6.x的kernel了,于是在vmware里面部署了台trustix 3.0.5,结果在安装vmware-tools就遇到了相当的问题,记录一下遇到的两个主要问题:
- 由于2.6系列kernel的version.h缺少定义,导致编译vmmemctl、vmxnet的时候会认不出正确的kernel版本,报错如下:
The directory of kernel headers (version @@VMWARE@@ UTS_RELEASE)
does not match your running kernel
-
还是由于2.6系列kernel的函数变动,导致vmmemctl、vmxnet编译的时候会出错,出错信息如下:
- CC [M] /tmp/vmware-config5/vmxnet-only/vmxnet.o
- /tmp/vmware-config5/vmxnet-only/vmxnet.c: In function `vmxnet_open':
- /tmp/vmware-config5/vmxnet-only/vmxnet.c:813: warning: passing arg 2 of `request_irq' from incompatible pointer type
- /tmp/vmware-config5/vmxnet-only/vmxnet.c: In function `vmxnet_tx':
- /tmp/vmware-config5/vmxnet-only/vmxnet.c:945: error: `CHECKSUM_HW' undeclared (first use in this function)
- /tmp/vmware-config5/vmxnet-only/vmxnet.c:945: error: (Each undeclared identifier is reported only once
- /tmp/vmware-config5/vmxnet-only/vmxnet.c:945: error: for each function it appears in.)
- make[2]: *** [/tmp/vmware-config5/vmxnet-only/vmxnet.o] Error 1
- make[1]: *** [_module_/tmp/vmware-config5/vmxnet-only] Error 2
- make[1]: Leaving directory `/usr/src/kernel-source-2.6.19.2-1tr'
- make: *** [vmxnet.ko] Error 2
- make: Leaving directory `/tmp/vmware-config5/vmxnet-only'
- Unable to build the vmxnet module.
查找了一下资料,用以下步骤可以在trustix 3.0.5的默认kernel上正确安装vmware-tools
-
预编译kernel-source为安装vmware-tools作准备
-
安装kernel-source
- swup --install kernel-source
- cd /usr/src
- ln -s kernel-source-<version> linux
- 将当前适用的kernel配置复制为kernel-source的配置
- cp /boot/config-<version> /usr/src/linux/.config
- 预编译
- cd /usr/src/linux
- make oldconfig
- make modules_prepare
- 修改/usr/src/linux/include/linux/version.h,加入以下一行
- #include <linux/utsrelease.h>
-
安装kernel-source
-
安装vmware-tools
-
解压缩vmware-tools的安装程序
- cd /usr/src
- tar zxvf /mnt/cdrom/vmware-linux-tools.tar.gz
- cd /usr/src/vmware-tools-distrib/lib/modules/source
用http://tuxx-home.at/archives/2007/06/29/T12_33_53/上修正过的vmmemctl.tar、vmxnet.tar替换/usr/src/vmware-tools-distrib/lib/modules/source下的相应文件
- 正常安装vmware-tools
-
解压缩vmware-tools的安装程序
附录:鉴于trustix是修改自RedHat的fedora,所以以上的步骤应该可以套用在fedora上。