Fedora Core Linux安装VMWare时调整用的脚本

原创 2006年06月04日 01:38:00
在Fedora Core上安装VMWare for Linux的时候,有时候会出一些问题,比如在执行 vmware-config.pl 的时候报错:

What is the location of the directory of C header files that match your running
kernel? [/usr/src/linux/include] /lib/modules/2.6.15-1.1907_FC5/build/include

The kernel defined by this directory of header files does not have the same
address space size as your running kernel.

即使给了正确的路径,依旧不对。因此,安装的时候不得不每次先去修改vmware的一些文件。为了方便起见,我写了个傻瓜脚本,能够帮助做一些包括打补丁之类的琐碎事情,当然,执行前最好知道自己在做什么:)

这个脚本仅仅是为了方便起见,没有考虑各种情况的检测,所以,事先要做好备份,另外需要注意执行多于一遍的时候,原始文件的备份可能被覆盖掉。虽然说一般不会出什么问题。:)

这个脚本需要root权限执行。

测试过的环境:

VMWare
    VMware Player 1.0.1 build-19317
    VMware Workstation 5.5.1
Linux
    Fedora Core 5
    Slackware 10.2
Kernel
    kernel 2.6.16-rc4
    kernel 2.6.16-1.2122_FC5
    kernel 2.6.16-1.2122_FC5smp
    kernel 2.6.16-1.2122_FC5xen0




#!/bin/bash

CURDIR=`pwd`
VM_CONFIG_PATCH='vmware-config.pl.patch'
VM_CONFIG=`which vmware-config.pl`

# generate the patch
cat > $VM_CONFIG_PATCH << EOF
1972,1973c1972,1973
< /$header_page_offset =~ s/^/$pattern /(?0x([0-9a-fA-F]{8,}).*/$//$1/;
< if (/$header_page_offset =~ /[0-9a-fA-F]{8,}/) {
---
> if (/$header_page_offset =~ /^/$pattern /(?0x([0-9a-fA-F]{8,})/) {
> /$header_page_offset = /$1;
EOF

# apply the patch to vmware-config.pl
patch $VM_CONFIG $VM_CONFIG_PATCH



# Modify the compressed archives

search_base(){
# 2 level search, for increase search speed
FIRST_LEVEL=$1
FINAL_SEARCH=$2

list=`find / -name $FIRST_LEVEL -maxdepth 4 2>/dev/null`
basedir=''

for item in $list; do
file=`find $item -name $FINAL_SEARCH`
if [ ! -z $file ]; then
break;
fi
done

if [ -z $file ]; then
echo "Cannot find $FINAL_SEARCH"
return 1
else
basedir=${file%/$FINAL_SEARCH}
fi

echo $basedir
}

SOURCE_DIR=`search_base vmware vmmon.tar`
VM_SOURCE_PATCH='vm.patch'

mkdir vmtemp
cd vmtemp
tar xf $SOURCE_DIR/vmmon.tar
tar xf $SOURCE_DIR/vmnet.tar

# generate patch
cat > $VM_SOURCE_PATCH <<EOF
10c10
< /$(EXTRA_CFLAGS) -Iinclude2/asm/mach-default //
---
> /$(EXTRA_CFLAGS) -Iinclude2/asm/mach-default -DKBUILD_BASENAME="/$(DRIVER)" //
EOF

# apply the patch
patch vmmon-only/Makefile.kernel $VM_SOURCE_PATCH
patch vmnet-only/Makefile.kernel $VM_SOURCE_PATCH

# backup the original tar
if [ ! -f $SOURCE_DIR/vmmon.tar.bak ]; then
mv $SOURCE_DIR/vmmon.tar $SOURCE_DIR/vmmon.tar.bak
fi
if [ ! -f $SOURCE_DIR/vmnet.tar.bak ]; then
mv $SOURCE_DIR/vmnet.tar $SOURCE_DIR/vmnet.tar.bak
fi

# create new tars
tar cf $SOURCE_DIR/vmmon.tar vmmon-only/
tar cf $SOURCE_DIR/vmnet.tar vmnet-only/

cp $VM_SOURCE_PATCH $SOURCE_DIR

cd ..
rm -rf vmtemp



Reference

这个脚本主要是参照cacao74的发言进行的修改
cacao74 at http://www.vmware.com/community/thread.jspa?threadID=31877&tstart=0

另一个可供使用的脚本
http://platan.vc.cvut.cz/ftp/pub/vmware/vmware-any-any-update101.tar.gz
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

VMWare虚拟机下Linux Fedora core 6网络配置过程

1.网上邻居-属性-可以看到在你安装好 VM虚拟机后又多了两个网络连接 (vmnet1是host-only,也就是说,选择用vmnet1的话就相当于VMware给你提供了一个虚拟交换机,仅将虚拟...

VMWare下Fedora Core 9(FC9)安装过程完整图解以及虚拟工具的安装

http://apps.hi.baidu.com/share/detail/19411177                Fedora&#...

VMware-workstation-full-7.1.4 + Fedora-11-i386-DVD.iso ---LINUX虚拟机安装配置详解

一、首先百度谷歌一下下载VMware-workstation和linux系统的镜像.iso文件 1、这里我使用的是VMware-workstation-full-7.1.4,而不是网上常见比较经典的...

Fedora Core Linux6 安装图解

  • 2015-10-16 21:13
  • 1.23MB
  • 下载

Linux系列一 VMware 中 Fedora系统的安装与网络配置

之前一篇文章,简单地总结了自己的Linux假期培训课程。因为自己也打算开始学习Linux,所以就在这里写点东西,记录自己的学习历程,如果也能给大家带去一点帮助的话,甚是欣慰。能力时间有限,难免有疏漏的...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)