Virtual Windows98
Ok, you have to be a masochist (or perhaps merely an incorrigible flinty cheapskate). Windows 98 is insecure, slow and inefficient, and, well, is Windows (I am an unabashed Linux proponent).
On the other hand, Windows 98SE is the only Windows OS that can be used without constantly contacting Microsoft (which consumes a huge amount of network time in aggregate). It also does not require registration to run and is not linked to specific hardware, as are other versions of Windows. It also allows the modicum of networking required for CPRS.
Further, many old computers have a copy lying around (with a license) that can be co-opted for the purposes of using in a virtual machine. Our organization had a closetful of old unused computers with Windows 98 licenses, gathering dust.
Contents
Using Windows 98SE in VirtualBox
VirtualBox doesn't really like Windows 98. The guest additions don't work well (if at all), and there are no intrinsic device drivers in VirtualBox to support the antique Windows 98 drivers.
With a few tweaks, however, Windows 98 can be made to run in a VirtualBox virtual machine suitably enough to run CPRS.
- Install VirtualBox.
- In my (K)Ubuntu system, I used
sudo apt-get install virtualbox-ose virtualbox-ose-source virtualbox-guest-additions
- I happen to use Kubuntu, so I use the QT addition:
sudo apt-get install sudo apt-get install virtualbox-ose-qt
- Start VirtualBox and create a Windows98 virtual machine. I name it Win98SE.
- I give the virtual machine 1024 RAM and 2 Gb virtual hard drive space. In retrospect, I note that my entire virtual machine (once all the Windows updates and modules are installed) only requires less than 400 Mb, so 2 Gb may be overkill. However, this allows some swap space for the Windows 98 virtual memory manager (Start menu -> Settings -> Control Panel -> System -> Performance -> Virtual Memory). Nevertheless, a 1 Gb virtual hard disk may be sufficient. It depends on how much RAM is allocated -- the more RAM is available, the less virtual memory is needed.
- With only 1024 Mb RAM, Windows startup is quite slow, but the CPRS clients run fine (since they are very efficient).
- After frequent usage, I ended up giving the virtual machine 2048 Mb RAM (my laptop has 3 Gb pre-installed) and used a 2 Gb virtual hard drive. (This worked out for me because I later placed the virtual machine on a 4 Gb USB flash drive.)
Install Windows 98SE in the virtual machine
- Place the Win98SE setup disk in the CD-ROM drive and start the virtual machine. Install Windows98 from the CD as usual. (All installation (including disk formatting) occurs completely within the virtual hard drive, so it does not affect the host Linux operating system.) I do a custom install and don't include all the "extra" programs (Imaging, Paint, Online Services, etc.) to save space. Internet Explorer, VPN, and the networking modules are required, so I leave those alone.
- I use a login name and networking name of client9260, without a password. (Later this allows network logins with Astronaut SSH to be a little more streamlined.) I don't use a password so that automatic startups can proceed without user intervention.
- Make sure Windows bootup does not require a user logon password (so automatic logons can proceed):
- Start menu -> Settings -> Control Panel -> Network -> Primary Network Logon: Windows Logon
- It is probably best to update Windows 98SE as far as possible.
- I could not get the VirtualBox guest additions to work properly with Windows 98, so I could not get folder sharing between the Windows guest OS and the Kubuntu host OS to function properly. I therefore used a CD as a medium to transfer files between the two operating systems. Initially I copied four files onto the CD:
- The astronaut_clients.x.x.x.x.exe CPRS client package for Windows
- The Mozilla Firefox web browser (which is more secure than Internet Explorer)
- Windows98 VESA graphics drivers from this website. (Windows 98 does not have a native utility to unzip files, so I unzipped the VESA-driver zip file in (K)Ubuntu first, then copied the unzipped 081021 folder onto the CD.)
- Internet Explorer 6 SP1 (see below). Although it is less secure than Firefox, TMG-CPRS requires it, so I installed it.
- I copied these files from the CD into the My Documents folder of Windows 98 in the virtual machine.
- The default driver in Windows 98SE that can be accommodated by VirtualBox is VGA, which is insufficient. I therefore installed the VESA drivers that I copied in the previous step:
- Start menu -> Settings -> Control Panel -> Display -> Settings -> Advanced -> Adapter -> Change -> Next -> Search for a better driver... -> Specify a location -> Browse -> "C:\My Documents\081021\Vbe9x\Uni"
- A restart is required. I found that a 800x600 screen area size (in Windows) works best when using VirtualBox in windowed mode ("Adjust Window Size"), or 1024x768 when using VirtualBox in Fullscreen Mode. YMMV.
- TMG-CPRS requires a more modern version of Internet Explorer than is supplied with Windows 98. Internet Explorer 6 SP1 is the latest version of IE compatible with Windows 98. I had previously downloaded a full version of IE6 (onto a Windows machine) using these instructions and burned it onto the CD (as above). (It could also be done directly in the Windows 98 virtual machine.) Install IE6 in the virtual machine. I use a minimal custom installation (to avoid installing MediaPlayer and other modules), but that is merely my preference. (I do install Shockwave, since it is hard to find websites on the Internet that don't use flash, anymore.) Be prepared -- IE6 installation takes a long time.
- It is probably best to update IE6 as far as possible.
- I installed Firefox, but this is optional (if you don't mind IE6). Besides, this is a virtual machine, so I use the browser in the host OS anyway. I really only want to run TMG-CPRS in the virtual machine.
- Install the Astronaut CPRS package. The Astronaut installer is not really made with Windows 98 in mind, so a good deal of tweaking is required, but I want to keep the installation consistent.
Environment variables in Windows 98
- The Astronaut installer uses environment variables effectively. Unfortunately, Windows 98 doesn't use environment variables quite the same way as do later versions of Windows. While they can be set (see here), the Astronaut installer does not recognize this method.
- It is possible to create all the environment variables that Astronaut uses, but I find it easier to ignore the environment variable system and merely edit the shortcuts by hand, as I would when installing into a protected environment. (The Astronaut shortcuts are installed to the C:\Windows\Start Menu\Programs\Astronaut folder in Windows 98).
- After tweaking the Astronaut SSH shortcut, copy the revised shortcut into the Windows98 Start menu -> Programs -> StartUp folder (found at C:\Windows\Start Menu\Programs\StartUp), replacing the original that the Astronaut installer placed there.
- After tweaking the remaining shortcuts in the C:\Windows\Start Menu\Programs\Astronaut folder, copy the appropriate revised desktop shortcuts to the desktop folder (C:Windows\Desktop) to replace the originals that the Astronaut installer placed there. (To see the C:\Windows\Desktop folder, you will have to enable hidden file viewing: Start menu -> Settings -> Control Panel -> View -> Folder options -> View -> Files and Folders -> Hidden files -> Show all files (ticked) .)
Streamlining the system
For added security and faster, smoother SSH negotiation, I recommend installing (and using) an SSH keypair for SSH authentication instead of the password authentication method used by default by the Astronaut installer.
Create a Linux shortcut to start the virtual machine automatically
- Create a Menu Item / Shortcut in (K)Ubuntu Linux to start the virtual machine automatically. In the example below, the virtual machine I created in VirtualBox is named Win98SE. In the Command: line of the Menu Item / Shortcut I use
virtualbox -startvm "Win98SE"
Now, in summary, when this Menu item / Shortcut is invoked, VirtualBox starts the Windows 98 virtual machine. The Windows 98 virtual machine has been configured to logon (as client9260) automatically without a password. The (revised) Astronaut SSH shortcut has been placed in the Windows 98 Startup folder so that the SSH connection is made when Windows 98 starts. (Presumably, all configuration has been tweaked so that no user input is required for the SSH negotiation).
Now all that is required is to start one of the clients (such as TMG-CPRS) that are on the Windows 98 desktop and login with the ACCESS CODE / VERIFY CODE.
That's the way I like it.
Clone the virtual machine and copy it to a USB flash drive
(Under construction)
- This is purely optional. I like having a mobile copy of the Astronaut CPRS files on a USB drive, but it is not necessary. I can also make multiple copies (for backup, of course, in case I lose one).
- I use a 4 Gb USB flash drive.
- Clone the VirtualBox virtual machine.