VMWareServer

Материал из ALT Linux Wiki
48px-Mail-mark-junk red.svg.png
Эта статья конкретно протухла.
Статья уже не подходит под современные реалии, под современные версии Альта или сломана совсем. Возможно, её уже не доработать и не поместить в архив.


Stub.png
Данная страница находится в разработке.
Эта страница ещё не закончена. Информация, представленная здесь, может оказаться неполной или неверной.
42px-Wikitext-ru.svg.png
Эту статью следует викифицировать.


Установка VMWare Server 1.0

Условия

Имеем:
ALC3.0.4 с ядром 2.6.12-std26-up-alt10
VMware-server-1.0.0-28343.i386.rpm
(здесь не приложен, брать на  http://www.vmware.com :вместе с серийным номером)
kernel-modules-vmware.spec
proerties

$VMINSTALL - это директория с тремя последними файлами
$KRNL - версия ядра (например, 2.6.12-std26-up-alt10)

Придполагается, что у вас установлены пакеты rpm-utils, rpm-build, gcc3.4.
Может, ещё чего надо, но это пусть проверят более знающие люди.

Строки, начинающиеся со знака '$' выполняются от обычного пользователя.
Со знака '#' - с привилегиями root (но не обязательно под root,
достаточно sudo)

Процесс

# rpm -i $VMINSTALL/VMware-server-1.0.0-28343.i386.rpm
$ mkdir -p ~/RPM/SPECS
$ mkdir -p ~/RPM/kernel-source-vmware-server-1.0
$ cd ~/RPM/kernel-source-vmware-server-1.0
$ tar -xf /usr/lib/vmware/modules/source/vmmon.tar
$ tar -xf /usr/lib/vmware/modules/source/vmnet.tar
$ cd ..
$ tar -cjf kernel-source-vmware-server-1.0.tar.bz2 kernel-source-vmware-server-1.0
# mkdir -p /usr/src/kernel/sources
# mv kernel-source-vmware-server-1.0.tar.bz2 /usr/src/kernel/sources/
$ cp $VMINSTALL/kernel-modules-vmware.spec SPECS/
$ rpm -bb SPECS/kernel-modules-vmware.spec
# rpm -i RPMS/i586/kernel-modules-vmware-server-1.0-std26-up-1.0-alt1.i586.rpm
# cd /lib/modules/$KRNL/misc
# ln -s vmmon.ko vmmon.o
# ln -s vmnet.ko vmnet.o
# mkdir -p /usr/lib/vmware/modules/binary/${KRNL}-ALT/objects
# cp $VMINSTALL/properties /usr/lib/vmware/modules/binary/${KRNL}-ALT
# cd /usr/lib/vmware/modules/binary/${KRNL}-ALT/objects
# cp /lib/modules/$KRNL/misc/vmmon.ko vmmon.o
# cp /lib/modules/$KRNL/misc/vmnet.ko vmnet.o
# echo "answer ICONDIR /usr/share/icons" >> /etc/vmware/locations
# vmware-config.pl

.

Прочесть и согласиться с лицензионным соглашением.

Два раза ввод (пути к директориям оставить по умолчанию).
Ещё два раза ввод (согласиться с перезаписью модуля в
 /lib/modules/$KRNL/misc/vmmon.ko и
 /lib/modules/$KRNL/misc/vmmon.o)

Далее, конфигурируем сеть так, как нам надо.

Ещё два раза ввод (согласиться с перезаписью модуля в
 /lib/modules/$KRNL/misc/vmnet.ko и
 /lib/modules/$KRNL/misc/vmnet.o)

Задать порт, на котором сервер будет принимать запросы от удалённой
консоли (Remote Console) или согласиться с умолчаниями, нажав ввод.

Задать директорию, где по умолчанию будут создаваться виртуальные машины.

Ввести серийный номер.

Всё. Установка почти завершена. Осталась пара штрихов.

Если прямо сейчас запустить виртуальную машину и попробовать
воспользоваться host-only network (у меня это vmnet1), то будет облом.
Эта сеть всё ещё не настроена. Можно, конечно, сейчас ручками
прописать параметры интерфейса vmnet1,
но при перезагрузке они пропадут. Поэтому я сделал так.

# mkdir /etc/net/ifaces/vmnet1
# echo "10.1.1.254/24" >>/etc/net/ifaces/vmnet1/ipv4address
# echo "USE_HOTPLUG=yes" >>/etc/net/ifaces/vmnet1/options
# echo "BOOTPROTO=static" >>/etc/net/ifaces/vmnet1/options
# echo "TYPE=eth" >>/etc/net/ifaces/vmnet1/options

Далее, в файлах config и locations в директории /etc/vmware
я заменил 10.1.1.1 на 10.1.1.254,
т.к. я задавал последний адрес, а конфигуратор
с какого-то перепугу прописал первый. В связи с этим же,
я сделал такую же замену в файле vmnet1/dhcpd/dhcpd.conf и
в этом же файле заменил 10.1.1.254 на 10.1.1.199 в
параметре range DHCP-сервера.

# service vmware restart

Вот теперь всё. Добавлю напоследок, что при перезагрузке
у меня vmware-сервис не стартовал автоматом,
т.к. почему-то появлялся файлик not_configured в /etc/vmware
(при чём именно после перезагрузки,
service vmware stop или restart такого не делали).
Поэтому в /etc/rc.d/rc.local я добавил строчку
 rm -f /etc/vmware/not_configured
И иногда не может найти звуковую карту при запуске виртуальной машины
Не знаю, в чём дело; workaround:

service vmware stop
killall -9 vmware-serverd
service vmware start

Содержимое файлов

properties:

UtsRelease $KRNL
ModVersion yes
SMP no
PageOffset C0000000
Comment ALT Linux Compact 3.0.4

kernel-modules-vmware.spec:

 
%define module_name	vmware-server
%define module_version	1.0
%define module_release	alt1

%define kversion	2.6.12
%define krelease	alt10
%define flavour		std26-up

%define base_arch %(echo %_target_cpu | sed 's/i.86/i386/;s/athlon/i386/')

%define module_dir /lib/modules/%kversion-%flavour-%krelease/misc

Summary: VMware-server modules
Name: kernel-modules-%module_name-%module_version-%flavour
Version: %module_version
Release: %module_release
License: GPL
Group: System/Kernel and hardware

Packager: Kernel Maintainer Team <kernel@packages.altlinux.org>
BuildArch: i586
ExclusiveOS: Linux
Url: http://ftp.cvut.cz/vmware/
BuildPreReq: kernel-build-tools >= 0.7
BuildRequires: modutils
BuildRequires: perl
BuildRequires: rpm >= 4.0.2-75
BuildRequires: kernel-headers-modules-%flavour = %kversion-%krelease
#BuildRequires: kernel-source-%module_name-%module_version = %module_version

Provides: kernel-modules-%module_name-%kversion-%flavour-%krelease = %version-%release
Conflicts: kernel-modules-%module_name-%kversion-%flavour-%krelease < %version-%release
Conflicts: kernel-modules-%module_name-%kversion-%flavour-%krelease > %version-%release

PreReq: coreutils
PreReq: modutils
PreReq: kernel-image-%flavour = %kversion-%krelease
Requires(postun): kernel-image-%flavour = %kversion-%krelease
ExclusiveArch: %ix86

%description
This package contains VMware modules (vmmon and vmnet) that are needed
for VMware to run. Note that you have to compile these modules on the
system with your VMware version installed or you will have to specify
your VMware version as `vmversion' parameter when loading these modules
or in your /etc/modules.conf file.

%prep
rm -rf kernel-source-%module_name-%module_version
tar jxvf %kernel_src/kernel-source-%module_name-%module_version.tar.bz2
%setup -D -T -n kernel-source-%module_name-%module_version

%build
. %_usrsrc/linux-%kversion-%flavour/gcc_version.inc
for m in vmmon vmnet; do
    %make_build -C $m-only HEADER_DIR=%_usrsrc/linux-%kversion-%flavour/include BUILD_DIR=%_usrsrc/linux-%kversion-%flavour/
done

%install
for m in vmmon vmnet; do
%if "%kversion" <= "2.6.0"
    install -pD -m644 $m-only/$m.o %buildroot%module_dir/$m.o
%else
    install -pD -m644 $m-only/$m.ko %buildroot%module_dir/$m.ko
%endif
done

%post
%post_kernel_modules %kversion-%flavour-%krelease

%postun
%postun_kernel_modules %kversion-%flavour-%krelease
%files
%defattr(644,root,root,755)
%module_dir
%changelog
* Mon Aug 15 2005 Andrey Rahmatullin <wrar@altlinux.ru> update93-alt1.@kreleasebuild@
- initial commit to ALT kernel CVS