Hello
again, and welcome to another Linux Letter.
Today I’m working up in the mountains of central Idaho
with my notebook, so I don’t have a high speed Internet
connection to surf with.
In fact, I don’t have any Internet connection at all,
so I’m using my notebook computer, which forces me to use
Windows 98.
Now
I should start off by pointing out that, unlike a vocal group of
Linux advocates, I don’t think that “98” is the number of
the beast and I’m pretty sure that Bill Gates isn’t Satan,
or even a lesser demon.
The operating systems that we use are just tools to get a
job done, and like the tools in your garage, some do a better
job at certain things than others.
You wouldn’t use a hammer to remove a screw, would you?
So
I run Windows 98 on my notebook computer and that’s because
there are some proprietary features on it that only Windows
supports.
And I’m OK with that.
In fact, there are a number of programs that I use that
just don’t have a Linux analog.
Quicken is one.
NetXRay, the network scanning software that I use to
maintain our network also doesn’t have a Linux version.
The bug tracking software that I use at work is a
Windows-only product.
I
suppose that means that I have to either have two computers on
my desk or dual boot one and reboot it several times a day.
Of
course, you know that the answer is that there are other
options, or else this would be a very short column.
In fact, there are a couple of methods of running Windows
programs within Linux.
The
two approaches are emulation and virtual machines.
Emulators, such as Wabi and WINE allow you to run most
Windows programs by providing the dynamically linked libraries
(DLLs) that the programs expect to see from Windows.
They “fool” the program into thinking that it is
running under Windows, when, in fact, it is not.
Virtual machines actually create a completely separate
environment within the host operating system that allows you to
physically install the Windows operating system, almost like an
island in the middle of the ocean.
Each has its strengths and weaknesses.
Emulators
tend to be fast.
They don’t require much more CPU power than the program
itself, but they can be limited in the number of programs that
they can run.
If a particular program requires a special library that
hasn’t been ported to Linux, then it will not run.
Virtual machines tend to be slower, but because they
actually run the Windows operating system, there is almost no
limit to the number of programs that will run.
My
choice is to use a virtual machine to run my Windows programs.
VMware produces a virtual machine software package that
not only lets you install any version of Windows on your Linux
system, but also allows you to install and run DOS, FreeBSD and
just about any version of Linux.
Linux within Linux?
It makes sense if you are trying to develop a new
software product and only have one computer to use.
Rather than risk crashing your development system, you
can create another Linux computer within it, so that all of the
damage from a crash is contained within that virtual machine.
Now,
as I said earlier, a solution like this takes some power.
The recommended system is a Pentium II 266 with 96MB of
RAM.
I installed VMware on a Pentium II 300 with 96MB.
The performance, while not the equivalent of Windows 95
running on a PII 300, was still very good after I installed
VMware’s Windows toolkit.
The
toolkit provides SVGA drivers to allow super VGA resolution in
high color.
It also accelerates the display, improving the virtual
machine’s performance tremendously.
The toolkit is a free download from the VMware web site.
Speaking
of downloading, I was able to install networking under Windows
in the virtual machine.
It works just as you would expect networking to work
under Windows.
DHCP provided the IP address, as it does for the rest of
the systems on my network.
From there, it was a simple matter to open Internet
Explorer and download the VMware toolkit.
In fact, networking works very well.
You can see a demonstration by pointing your browser to http://virtual.nospin.org.
That will connect you to a very simple web page served by
the virtual machine running Windows 95.
I
installed a fairly wide variety of software on the virtual
machine, including Microsoft Office 97, Microsoft Publisher and
Quake II.
Office and Publisher worked well, but because VMware only
implements DirectX 3, Quake II’s performance suffered.
Nonetheless, everything that I installed worked.
You
can use up to four IDE devices, the mouse, printers, serial
ports, sound, two floppy drives, and up to 2GB of memory.
At this point in the software’s development, hard
drives must be actual IDE devices, but CD-ROM drives can be IDE
or SCSI.
The virtual machine will see them as IDE CD-ROM drives.
VMware
is commercial software.
You can download a 30 day trial version, then purchase a
key online to continue using it.
Support is provided via the web and newsgroups.
Also,
because you must install a copy of another operating system
within the virtual machine, licensing issues may need to be
dealt with.
Next
week, we’ll talk about the other way to run Windows
applications: emulators.
We’ll take a look at WINE, the Windows Emulator.
Keep
those questions and comments coming to: LinuxLetter@nospin.org.
Has
this happened to you?
You’ve successfully installed RedHat Linux 6.0, but
realized that the kernel is just a few revisions out of date.
So, you go to http://www.kernel.org
and download the latest kernel sources.
After compiling the kernel and updating lilo, you start
seeing errors like this:
Warning: /boot/System.map
has an incorrect kernel version
Everything
seems to work correctly, but that error really bugs you.
Here’s what happened:
In
the pre-RedHat 6.0 days, System.map was either copied from /usr/src/linux
to /boot, or was a soft link to /usr/src/linux/System.map.
In RedHat 6.0, System.map is a soft link to
/boot/System.map-2.2.5-15.
Change the link like this:
su
to root
rm
System.map
ln
–s /usr/src/linux/System.map System.map
Your
error messages will be gone!
Happy Computing!
Drew Dunn