马大哈 Trustix 3.0.5 boot on software raid1故障恢复实验
八月 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编译的时候会出错,出错信息如下:

    1. CC [M]  /tmp/vmware-config5/vmxnet-only/vmxnet.o
    2. /tmp/vmware-config5/vmxnet-only/vmxnet.c: In function `vmxnet_open':
    3. /tmp/vmware-config5/vmxnet-only/vmxnet.c:813: warning: passing arg 2 of `request_irq' from incompatible pointer type
    4. /tmp/vmware-config5/vmxnet-only/vmxnet.c: In function `vmxnet_tx':
    5. /tmp/vmware-config5/vmxnet-only/vmxnet.c:945: error: `CHECKSUM_HW' undeclared (first use in this function)
    6. /tmp/vmware-config5/vmxnet-only/vmxnet.c:945: error: (Each undeclared identifier is reported only once
    7. /tmp/vmware-config5/vmxnet-only/vmxnet.c:945: error: for each function it appears in.)
    8. make[2]: *** [/tmp/vmware-config5/vmxnet-only/vmxnet.o] Error 1
    9. make[1]: *** [_module_/tmp/vmware-config5/vmxnet-only] Error 2
    10. make[1]: Leaving directory `/usr/src/kernel-source-2.6.19.2-1tr'
    11. make: *** [vmxnet.ko] Error 2
    12. make: Leaving directory `/tmp/vmware-config5/vmxnet-only'
    13. Unable to build the vmxnet module.

查找了一下资料,用以下步骤可以在trustix 3.0.5的默认kernel上正确安装vmware-tools

  1. 预编译kernel-source为安装vmware-tools作准备

    1. 安装kernel-source

      1. swup --install kernel-source
      2. cd /usr/src
      3. ln -s kernel-source-<version> linux
    2. 将当前适用的kernel配置复制为kernel-source的配置
      1. cp /boot/config-<version> /usr/src/linux/.config
    3. 预编译
      1. cd /usr/src/linux
      2. make oldconfig
      3. make modules_prepare
    4. 修改/usr/src/linux/include/linux/version.h,加入以下一行
      1. #include <linux/utsrelease.h>
  2. 安装vmware-tools

    1. 解压缩vmware-tools的安装程序

      1. cd /usr/src
      2. tar zxvf /mnt/cdrom/vmware-linux-tools.tar.gz
      3. 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下的相应文件

    2. 正常安装vmware-tools

附录:鉴于trustix是修改自RedHat的fedora,所以以上的步骤应该可以套用在fedora上。

Leave a Reply