You intend to install VMware 2.0.3 (from the SuSE CDs) and/or you want to install the VMware 2.0.4 both using the kernel version 2.4.4.

Support knowledgebase (dolsson_vmware_72)
Applies to

SuSE Linux: Version 7.2
This article refers to an older version of SuSE Linux. Therefore some of the informations given in this article may be outdated or the article may contain stale links.

Kernel: Version 2.4.x (UP and SMP)
VMware: Version 2.0.3 and 2.0.4

Symptom:

This article covers the symptoms with both VMware 2.0.3 and VMware 2.0.4, when one of these products are used the under the SuSE Linux 7.2 Professional distribution.
The notes also apply for the SuSE Linux 7.2 Personal distribution, although all references in this article to CDs used are with regard to the CDs found in the Professional edition, and thus will have to be adjusted accordingly for the Personal edition.

Symptoms with VMware 2.0.3:

Symptoms with VMware 2.0.4:

Cause:

For VMware 2.0.3:

For VMware 2.0.4:

Solution:

As it is necessary to recreate the missing include files in the kernel sources, as well as to fix various bugs in the VMware 2.0.4 distribution, it is necessary to install the kernel sources, as well as to start with a system without any VMware package installed.

All the following steps are performed as the "root" user.

Step 0: Verify if the kernel sources have been installed:

# rpm -qa | grep -i kernel
kernel-source-2.4.4.SuSE-17
#

If the above is returned, continue with step 1, otherwise do:

>Insert CD #2 from the SuSE Linux 7.2 Professionel in your CD drive<
# yast
>Select menu >Package Management (Update, Installation, Queries)< <
>Select menu >Change or create configuration< (2)<
>Select menu >d      Development (C, C++, Lisp, etc.)< <
>Select menu >[  ] kernel-source     The sources of the SuSE kernel< (1)<
>Push the F10 function key.<
>Push the F10 function key (again).<
>Select menu >Start installation< <
...Screen with indication of the installation of the kernel sources is displayed...
>Select menu >Main menu< <
...Output from "SuSEconfig" is displayed...
>When finished, push the ENTER key as answer to "Continue".<
>Select menu >Exit YaST< <
#

The kernel sources, which are needed for the steps later on, have now been installed.

Notes:
(1) Use the SPACE bar to select the menu; will be indicated with an "[X]".
(2) If the selection of this menu results in the error message "You have either chosen an invalid installation medium or none at all!", then do the following to select the CD as installation medium:

>Push ENTER as answer to the Continue<
>Select menu >Main menu< <
>Select menu >Installation settings< <
>Select menu >Select installation medium< <
>Select menu >Installation from CD/DVD< <
...Select the driver type you are using -- most commonly this will be...
...the ATAPI EIDE or SCSI...
...After the selection of driver type, you need to select which device...
...your CD/DVD is attached to...
...After YaST has verified and mounted the CD, you end up with the menu:
>Select installation medium<
>Hit the ESC key (only once!)<
...now, go back to the above, as if you just had started YaST...

Step 1: Verify which VMware version you have installed:

# rpm -qa | grep -i vmware
vmware-2.0.3-45
#

If the above is returned, continue with Step 2.
If anything else (also nothing!) is returned, continue with Step 4.

Step 2: As the VMware 2.0.4 supplied "vmware" init script is not compatible with the LBS compliant SuSE Linux 7.2, it is necessary to secure the "vmware" init script that comes with SuSE Linux 7.2 for later usage by doing:

# cd /etc/init.d
# cp -p vmware vmware-2.0.3

Step 3: Uninstall the VMware 2.0.3 package, before installing the VMware 2.0.4:

# rcvmware stop
...(some output follows)...
# rpm -e -h vmware-2.0.3-45
##################################################
#

Continue with Step 5.

Step 4: As explained under Step 2 above, it is necessary to secure the "vmware" init script from the VMware 2.0.3 version as supplied with the SuSE Linux 7.2 distribution, but as you do not have this package installed, we need to extract this script and a symbolic link manually, like this:

Mount the CD #5 from the SuSE Linux 7.2 Professionel distribution in your CD drive, and do the following:

# mount /cdrom
# cd /tmp
# ( cd /cdrom/suse/pay2; rpm2cpio vmware.rpm ) |
> cpio -idmv etc/init.d/vmware usr/sbin/rcvmware
etc/init.d/vmware
usr/sbin/rcvmware
22391 blocks
# mv /tmp/etc/init.d/vmware /etc/init.d/vmware-2.0.3
# mv /tmp/usr/sbin/rcvmware /usr/sbin
# rm -rf /tmp/etc /tmp/usr
# umount /cdrom
# eject
# # Remove the CD from the tray
# eject -t

Step 5: Install the new downloaded VMware 2.0.4 RPM package:

# cd /tmp
# rpm --install -h VMware-2.0.4-1142.i386.rpm
##################################################
#

Note: In the above it has been assumed that the downloaded RPM package from the VMware download site (as described above under "Symptom") was saved under the "/tmp" directory.
Should this not be the case, please, substitute the "/tmp" path name in the above to whatever is appropriate for you.

Step 6: Replace the just installed "vmware" init script with the secured script from the SuSE Linux 7.2 distribution by doing:

# cd /etc/init.d
# mv vmware vmware-2.0.4
# cp -p vmware-2.0.3 vmware

Step 7: Make sure that no VMware kernel modules has been loaded:

# rcvmware stop
...(lots of output)...
#

Step 8: As the SuSE Linux 7.2 distribution already in its kernel modules have the VMware kernel modules included, but as we cannot make use of these, remove them by doing:

# cd /lib/modules/2.4.4-4GB/misc
# rm -f vmnet.o vmmon.o vmppuser.o

Note:
The above path name applies for the UP (Uni (single) Processor) kernel.
If you have installed the SMP (Symmetric Multi Processor) kernel, the path name will be /lib/modules/2.4.4-4GB-SMP/misc (64GB is not supported by VMware -- see also at the top of this article under the For VMware 2.0.4 section).
Use the path that is appropriate for your installation.

Step 9: Prepare the kernel sources for your current configuration -- this is especially needed, if you are using the SMP kernel, while this step creates/updates some essential include files that the VMware configuration script uses in order to be able to create the VMware kernel modules to fit the actual used kernel:

# cd /usr/src/linux
# cp /boot/vmlinuz.config   .config
# make menuconfig
>Select the Exit by using the right arrow key and pushing the ENTER key.<
>Answer Yes to the question Do you wish to save your new kernel configuration? by pushing the ENTER key<
#

Note 1: In the above the "/boot/vmlinuz.config" file is copied to the local ".config" (i.e. ">dot<config") file!

Note 2: In case the "make menuconfig" bails out with the error message:

>> Unable to find the Ncurses libraries.
>>
>> You must have Ncurses installed in order
>> to use 'make menuconfig'
then you can either install the suggested library, or you can make use of the command:
# make config
...(Tonnes of configuration questions)...
...(Just hint the ENTER key to *all* of the questions)...
...(It is "save" to hold down the ENTER key, until the command)...
...(prompt '#' appears again)...
#
The "make config" is the same as "make menuconfig", except that it makes use of the normal command line interface (CLI), instead of a menu controlled interface (MCI -- or "semi" graphical user interface (SGUI), if you will:-).

Step 10: Create the missing Linux kernel include source files by doing:

# make include/linux/version.h $(pwd -P)/include/linux/modversions.h
...(some output from make)...
#
# ls -la include/linux/*vers*
-rw-r--r--   1 root     root           29 Jul 24 14:25 include/linux/modversions.h
-rw-r--r--   1 root     root          126 Jul 24 14:23 include/linux/version.h
#

Step 11: As VMware Inc. has not made all of its code aware of the changes made in the source code for the Linux kernel 2.4-series, it is necessary to fix a minor bug in the source code to the VMware "vmppuser.o" kernel module by doing the following editing of the "ppdev.c" source file:

# cd /usr/lib/vmware/modules/sources
# tar -xpf vmppuser.tar
# cd vmppuser-only
# vi ppdev.c
:652<ENTER>
o
<TAB>THIS_MODULE,<ESC>
:x!<ENTER>
#

Note 1: <ENTER> means push the ENTER key; <TAB> means push the TAB key; and <ESC> means push the ESC key.

Note 2: The above character sequence inserts a line with the text "THIS_MODULE," (i.e "THIS_MODULE>comma<"), which is missing in the initialization of the "struct file_operations" at this place in the source code. This is due to the added field that has been introduced with the Linux kernel 2.4-series.

Step 12: Compile, install, and clean up the fixed code for the "vmppuser.o" kernel module by using either Step 12a & 12c when using an UP kernel, or by using Step 12b & 12c when using an SMP kernel:

Step 12a: When using an UP kernel do:

# make
# cp -p vmppuser-* /lib/modules/2.4.4-4GB/misc/vmppuser.o
Continue with Step 12c.

Step 12b: When using an SMP kernel do:

# make SUPPORT_SMP=1
# cp -p vmppuser-* /lib/modules/2.4.4-4GB-SMP/misc/vmppuser.o

Note:
Only the "2.4.4-4GB-SMP" kernel is supported by VMware -- see also at the top of this article under the For VMware 2.0.4 section.

Step 12c: Finish up with:

# cd ..
# rm -rf vmppuser-only

Step 13: The installed VMware 2.0.4 can now be configured as described in the VMware installation instructions, i.e.:

# cd /tmp
# vmware-config.pl
...(lot of text output)...
...(When asked, if you want the script to compile the "vmmon" and)...
...("vmnet" modules, say "yes" (the default answer), which will)...
...(build these two modules for you, and install them together)...
...(with the other kernel modules in "/lib/modules/2.4.4-*/misc")...
#

Step 14: Make sure that the correct dependencies are set by executing:

# depmod -ae

This will ensure that the dependencies for the newly installed VMware kernel modules are correctly updated in "/lib/modules/2.4.4-*/modules.dep".

Step 15: Logout as "root", and login under your own user account, and enjoy the usage of the "vmware" product together with all the other supplied SuSE applications.

Final note: The above given steps to get VMware 2.0.4 successfully installed and configured on a SuSE Linux 7.2 distribution will not effect your claim on free installation support, as outlined on the package in which the distribution was delivered in, as no changes have been made to the by SuSE supplied kernel.

General note: If you do not want the kernel to complain about attempted but unsuccessful accesses to the floppy drive (because no floppy has been inserted in the drive), just configure the actual used "vmware" configuration such that it starts with the floppy disconnected. When needed, the floppy can be (re)connected at any time after the start of the "vmware" configuration.
For further instructions, please, refer to the VMware documentation.


Keywords: 72, 244, VMWARE, WORKSTATION, MODVERSION

Categories: X Applications

SDB-dolsson_vmware_72, Copyright SuSE Linux AG, Nürnberg, Germany - Version: 16. Aug 2001
SuSE Linux AG - Last generated: 30. Nov 2001 by dolsson (sdb_gen 1.40.0)