OS/2 Warp installation pitfalls

Recently I had an opportunity to install and update various versions of OS/2 (Warp 3 and later) in virtual machines. In the process I ran into several subtle and not so subtle issues which may be worth recording, complete with fixes/workarounds where applicable.

  • When installing OS/2 Warp Connect or Warp Server from CD, the installer may not correctly select the CD-ROM type. It must be manually set to “Unlisted IDE CD-ROM” (or probably any other IDE CD-ROM type), otherwise the networking install phase will fail with very cryptic errors.
  • When installing Warp Connect or Warp Server, it is often desirable to install NETBIOS over TCP/IP (rather than plain NETBIOS) as well as TCP/IP with automatic DHCP configuration. For some mysterious reason, the installer does not allow that. The workaround is manually configuring TCP/IP (not necessarily even using  a valid IP address) and switching to DHCP after the system is installed.
  • Warp Server Advanced SMP comes with a TCP/IP stack which is subtly broken. If DHCP is used (probably not considered typical for a server), the system sends invalid ARP requests where the last octet is zero and is unable to connect to anything over TCP/IP. This affects the 3.50smp stack and is fixed by WRx8506 (intetver 3.50L, 3.50e) or WRx8610 (32-bit MPTS). Warp Server Advanced (inetver 3.06q) does not suffer from this bug.
  • Warp Server Advanced (but not the newer SMP version) fails to boot when 256MB RAM is assigned to the VM and HPFS386 is used, because the HPFS386 cache (automatically configured) is “too big”. Reducing the VM memory size avoids the problem.
  • Warp Server Advanced SMP, and possibly other Warp 3 based systems, does not install \OS2\DLL\PMDDEML.DLL. That causes Feature Install to fail with misleading error messages about unsupported Java version if Netscape 4.61 is used. Newer Java and TCP/IP versions then cannot be easily installed. The symptom is that the Feature Install plugin is not in the Netscape plugin list, even though NPFI.DLL is in the plugin directory. The PMDDEML DLL was apparently created for the Netscape browser after the initial OS release. It is part of FixPack 40, but isn’t updated unless it already exists. It appears that installing Warp Server, FP40, and Netscape 4.61 was not well tested and PMDDEML.DLL fell through the cracks. The workaround is manually installing PMDDEML.DLL from FP40 (or another applicable FixPack).
  • Warp Server Advanced SMP does not work on VirtualBox in SMP mode unless FP43 with updated OS2APIC.PSD is installed. To work around the problem, the PSD line in CONFIG.SYS must be modified to read PSD=OS2APIC.PSD /PREC=LID . Removing the PSD line entirely also avoids the issue, at the cost of disabling SMP support. WSeB and later SMP versions of OS/2 do not need any manual help.
  • The TCP/IP 4.3 ZIP archive on Software Choice CDs is created with an old PKZIP version and uses the Shrink method. Many Info-ZIP versions do not support that method and will not extract the entire archive. The installation then fails, complaining of missing files. The solution is using PKUNZIP2.EXE which is typically already present on an OS/2 system, or an Info-ZIP version with UnShrink support.
  • Somewhat surprisingly, OS/2 WSeB and ACP1/MCP1 require a floppy drive when booting from CD. If no floppy drive is present, the CD boot will fail with the “OS/2 is unable to operate your hard disk or diskette drive” error message. The workaround is adding a floppy drive to the VM. ACP2/MCP2 do not have this problem.
  • Warp 3 and perhaps Warp 4 based VMs may sometimes hang at the very beginning of the boot sequence, before the boot blob is displayed. This is caused by “too fast” CPUs and the workaround it to attempt booting again. Newer ACP/MCP based systems do not have this problem.
  • Firefox, reportedly the last version that can be run on a Warp 3 based system, kept consistently crashing nearly all my Warp 3 VMs with TRAP E errors. The only working configuration was Warp Server Advanced SMP, regardless of whether one or more CPUs were used; the key is apparently the SMP kernel. The cause of the crashes is unknown. There were no problems with Warp 4 running Firefox
This entry was posted in OS/2, Virtualization. Bookmark the permalink.

12 Responses to OS/2 Warp installation pitfalls

  1. Thomas Clayton says:

    MichalN: Drop by the POSSI list and say “hello” sometime.

    With regards to memory – and this comment might have gone best with OS/2 2.0 section as well – I remember OS/2 2.xs and 3.xs still being limited and VERY “prickly” about memory. 16MBs (yes, I’m talking 2.xs and later, NOT 1.xs), and, then later, 64MBs (2.1 and 3.0?) was a installation limit. After some Fixpack #, the system ran fine with more memory than that – but this was AFTER installation. Also, it was best that ALL SIMMs were identical – from the same manufacturer.

    I suspect your VMs hand out only what the “system” requests, so memory limit problems MIGHT not appear in them. Oh, BTW, _what_ are you using on the PIII for these Virtual Machine(s)? Also, wasn’t there – at some point in the past – a VirtualBox(?) for OS/2 – from that German company . . Innotek(?) ?

    Secondly, even in Warp Connect, there wasn’t a DHCP “daemon” (client). Red or Blue WC box didn’t matter. I couldn’t find one – because one is _not_ included. (I had to “borrow” mine from my trial copy of Warp Server (4?) which has, both, Server and Client “daemons”within.) Still have 🙂 that (Warp Connect) system box (IN storage 🙁 as I said). Hostname: Tom’sWarpPet. 3/32-inch steel frame case – built to last. 😀

  2. michaln says:

    A 16MB limit may have been caused by memory holes etc. I doubt OS/2 2.0 had a 16MB limit, but I believe that was the practical limit on some systems. The 64MB limit is well known, it’s the maximum old BIOSes can report.

    Requiring matched SIMMs etc. was normal… OS/2 tended to stress the hardware a lot more than DOS, and below-spec hardware would cause trouble. In a VM, that’s of course not a problem. The guest can access whatever amount of RAM the VM is configured for, but if for example the VM is set up with 128MB RAM and the guest only understands the old BIOS interface, it will not see more than 64MB RAM. That’s the case with e.g. NT 3.1.

    I’m not using a PIII to virtualize anything, but I did use it to run some old OS/2 versions directly. There was a port of Virtual PC for OS/2 done by Innotek. There’s an unofficial OS/2 port of VirtualBox, but I don’t know if it is or ever was usable.

    Yes, there was no DHCP client in Warp Connect, only bootp. Warp Server and Warp 4 had DHCP support built in.

  3. Jason says:

    I’ve had better luck virtualizing OS/2 Warp 452 in Microsoft Virtual PC 2004 (haven’t tried 2007 yet) vs all the other vm products out there. I had nothing but problems with VirtualBox, Vmware, Parallels, etc.

  4. michaln says:

    It’s not surprising that OS/2 works in Virtual PC 2004 as it was an officially supported guest OS. It’s also not surprising that OS/2 doesn’t work in VMware or Parallels because it’s not a supported guest OS. Nearly all screenshots on this site were taken from VirtualBox, so I can safely say OS/2 runs there (and it is a supported guest OS).

    The problem with Virtual PC isn’t that it’s a bad product per se, but it’s getting rather outdated and does not run on any host OS other than Windows. If I want to run an OS/2 VM on, say, my Mac laptop, Virtual PC simply isn’t an option.

  5. DJ says:

    Hello, I have reached a roadblock with attempting to install OS/2 on a virtual machine and I was hoping someone can help me out.

    The software I have is OS/2 Warp 3 blue spine. It is the upgrade version and it only has floppies (no CD-ROM). I am using Virtualbox v4.1.8 (the latest) with the following settings: hard drive less than 2 gigs, chipset PIIx3, processor set to 1, and both VT-x/AMD-V & Nested Paging enabled. I have also added the floppy controller under storage while troubleshooting, with no success. My host machine is running Fedora 16. I have successfully mounted the internal floppy drive (as tested with other discs).

    Here is what happens when I attempt the install: I create the initial VM settings. I insert the first installation disk (diskette_0) and mount the drive. Once the installation wizard begins, I get to the “Select Installation Media”. By default only the dvd/cd drive is shown, so I click on the folder icon to find the mounted floppy. The activity light on my floppy drive lights. Once I’m in the mounted floppy director there are no files shown. I cannot get past this point.

    Any ideas on what I am missing? Could the issue be that this edition requires a previous functioning version of OS/2? I read that these diskettes are formatted in the XDF file system, which is not used by Windows or Linux to my knowledge.

    Out of desperation, I’ve tried this same process with diskette_1 and can see files on that disk, but none of these files will start the installation.

    Again, any help will be greatly appreciated.

  6. michaln says:

    Floppies in XDF format are not supported in VirtualBox. I don’t know if Virtual PC supports them but I’m pretty sure any still maintained virtualizer does not. So even if you figured out how to start the installation, you won’t be able to finish. A CD-ROM version is needed to install in a VM.

    And yes, the upgrade version usually requires a pre-existing OS.

  7. Andreas Kohl says:

    Virtual PC supports XDF floppy images definitly. So you have to create them from your physical diskettes by using EMT4WIN or a similar tool. Physical XDF floppy operation is NOT supported.

    You can install the Upgrade version without a pre-installed OS, but you’ll get no WinOS/2 in this case.

  8. Andreas Kohl says:

    To correct myself, you should better the provided XDFCOPY tool for image creation. It will run under DOS and OS/2 compatible systems (physically).

  9. harald says:

    The Answer to this might be obvious but i still wonder.

    Does Winimage, Rawrite/Rawwrite work for these images
    to make … floppy installation possible.

    Does there exist an Autoboot CD with installer?
    can i glue the floppy images into one and fume them
    together with existing installation on a CD to make it install ?

    I could use NERO 5 – still supporting making eltorrito
    and paste the whole mesh on one disc?

  10. Michal Necasek says:

    Rawrite etc. can build the OS/2 installation floppies. It probably won’t handle the higher-capacity XDF floppies but those weren’t used with CD installs.

    The OS/2 installation CDs were bootable starting with OS/2 Warp Server for e-Business (Aurora). That includes the Convenience Packs (MCP/ACP, MCP2/ACP2).

    I don’t know if the Warp 3/4 boot floppies would be usable with the El Torito floppy emulation. Probably not without some modification; the first hurdle with the Warp 4 boot floppies is that there were three 1.44MB boot disks, a bit hard to fit onto a single 2.88M floppy image.

  11. Abrahan says:

    I don’t know if the Warp 3/4 boot floppies would be usable with the El Torito floppy emulation. Probably not without some modification; the first hurdle with the Warp 4 boot floppies is that there were three 1.44MB boot disks, a bit hard to fit onto a single 2.88M floppy image.

    MCP2 uses an eltorito floppy emulation and a special driver to work in fact, on the MCP2 BOOT CD-ROM it has the boot floppy disk images. I assume , but not tested by me (or anyone) that this is possible with OS/2 Warp 3.0 and this special driver on the MCP2 Boot floppy image using a single 2.88 mb floppy disk image and write it on nero making a bootable cd-rom.. I suppose… not tested by anyone

  12. Michal Necasek says:

    I never looked at the CD boot in detail but I’m not actually sure exactly how it works. There are two floppy images, one 2.88MB and one 1.44MB. The A: drive appears to correspond to the floppy images, while the B: drive is the actual floppy drive (if there is one).

    There’s a CD_BOOT.FLT filter driver that probably does much of the trickery, but there could well be more to it. I also notice this line in CONFIG.SYS:

    basedev=ibm1flpy.add /A:0 /FORCE:1 /U:0 /F:2.88MB

    That ought to force a 2.88MB A: drive to exist regardless of the installed hardware.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.