Installing OS/2 Warp in a virtual machine isn’t difficult, but there are a few pitfalls. The issues are easy to work around, but sometimes quite difficult to diagnose, especially for users not intimately familiar with OS/2. In general, the problems are the same one might encounter when installing OS/2 on a physical system. The first issue is that OS/2 Warp (and older 2.1 and 2.11 releases) may hang immediately when the system starts booting, even before displaying the “boot blob”. This problem was tracked by IBM as APAR PJ23092 (Faster Intel Machines fail to boot). IBM made updated OS2LDR files available in 1998, but those only reduce the incidence of the problem and do not fully fix it. At any rate, re-trying the boot usually helps.
The next problem is disk size. Using a disk larger than 2GB is not recommended unless the boot floppies are updated with newer disk drivers. However, a larger disk should not be necessary. For plain OS/2 Warp, there should be no other showstoppers—but read on.
For OS/2 Warp Connect and Warp Server, the second boot from the hard disk during installation may encounter the following (or very similar) error message: SYS1919: The file D: CID LCU SRVREXX.EXE specified in the RUN statement on line 81 of CONFIG.SYS does not contain a valid program. Line 81 is ignored. Press Enter to continue. Pressing Enter allows the boot process to continue, but the system then hangs in the networking installation phase shortly thereafter.
The problem is caused by a bug in the OS/2 installer which does not automatically recognize all IDE CD-ROMs. The installer will successfully access the CD-ROM in the initial install phases but fails to add the IBMIDECD.FLT base device driver to CONFIG.SYS.
That causes the above error message (D: should be the CD-ROM drive) and the subsequent hang. The bug affects OS/2 Warp, Warp Connect, as well as Warp Server. However, in plain Warp, it does not cause the installation to fail; the CD-ROM is simply inaccessible after an otherwise successful install. The problem is likely caused by a hardcoded list of CD-ROM vendors; that would avoid problems on IDE-based systems at the time when OS/2 Warp was released, but fails on newly introduced CD-ROM models.
The remedy is very simple: In the System Configuration panel, make sure the “Non-listed IDE CD-ROM” entry is selected. That ensures the IDE CD-ROM driver will be installed and the installation will not fail.The final Warp Connect installation hurdle is that there the OS does not come with a driver for the AMD PCnet network card emulated by VirtualBox and an OS/2 PCnet driver must be provided by the user on a floppy (image). Another potential networking-related issue is that OS/2 Warp Connect did not ship with a DHCP client. If TCP/IP networking is enabled, a static IP address must be used, or on some LANs OS/2 might be able to use BootP instead (a bootp utility did ship with Warp Connect). Alternatively, Warp Connect may be updated to the latest base OS and networking fix levels, which added a DHCP client. In comparison, OS/2 Warp 4 is much easier to install. The disk size limitation is still there, but the boot loader is less likely to hang and the installer properly handles an IDE CD-ROM.
A driver for AMD PCnet network adapter comes with the OS, and DHCP is supported which means easy TCP/IP configuration for the typical user. With Warp 4, it is highly recommended to update to at least Fixpack 5 and enable the GENGRADD display driver (generic VESA driver). That allows OS/2 to use much better display modes (higher resolution and color depth) as well as display graphics significantly faster. Note that GENGRADD was already available in Warp 4 GA but the initial GRADD support was too buggy for general use. This all seems to apply to VirtualBox.
With Virtual PC and Parallels Workstation most of this problems don’t exist. Only the missing NDIS driver for the emulated DEC network adapter in later OS/2 ACP/MCP is quite annoying. An floppy image with needed drivers should be created easily. Before applying the VPC additions to a Warp 3 guest it should be at the latest fixpak level. Some of this drivers also work with earlier releases (OS/2 2.x) – useful for folder sharing if networking is not available.
I don’t know about floppy image support in VirtualBox. VirtualPC allows attachment of XDF images, but doesn’t support physical XDF diskettes.
Some useful programs dealing with virtual floppies and converting between different image formats are EMT4Win and WinImage. Thanks for the first non-spam comment on this blog! But according to and common sense, you’re wrong when you say that the Warp installation problems don’t exist with VPC or Parallels. Most of the problems I described are problems with OS/2 Warp itself and no virtualizer can magically fix them. That applies to the lack of large IDE drive support, lack of DHCP, missing NIC drivers, and failing IDE CD-ROM detection. The occasional hangs before the boot blob can only be avoided by executing the guest code slowly enough; after all IBM itself acknowledged that the OS2LDR may hang on faster systems. I should note that the problems only really apply to OS/2 Warp 3; MCP has none of those issues (and in VirtualBox, MCP installation does not require the user to supply a NIC driver either, at least not for the AMD PCnet emulation).
It’s true that Virtual PC is probably the only virtualizer which supports XDF images. However, who wants to install from floppies when CD-based installation is available.
I’m just installing Warp 4 now via VirtualBox, and am scouring the web for advice BEFORE i screw up (!), and am happy to find a weblog or whatever that’s relatively current. (most have threads at least 2 years or more old). Still, i hope someone’s minding the store;-). Although i expect I’ll have solved any issues by the time i get a reply, considering how difficult it was to find any info regarding OS/2 install on (the current release of) VirtualBox.I’ll post my questions and solutions here, maybe it’ll help someone else. If that’s OK See right now I’m at the display options dialog and I can’t find out what type of display VBox emulates. Maybe pick plain VGA for now.
Yes, Warp 4 “has” GRADD. But it’s completely broken in the GA version. Don’t even try to use it. Like I said, you need at least FP5, and better FP9. Otherwise stick to plain VGA.
The VirtualBox Guest Additions were probably never tested with Warp 4 and may or may not work. The “locked file device driver” message is something the OS/2 installer uses when it’s updating in-use files.
If the VM is stuck, it’s stuck – normal OS/2 problem recovery procedures apply. I highly recommend using snapshots after every successful step of the installation, so that you have something to go back to. Ahh.been away. Thought i’d do something relaxing and set up a hackintosh for my Dad. Anyways, after my breather. I thought i’d install OS/2 in VMware instead. Can’t get past Fdisk am i just a sucker for punishment.
Or is it really not possible to create an OS/2 Virtual drive in VmWare 7.? Should i try the free M$ VPC 2007? I have some personal apps i REALLY want to get running in at LEAST warp 3. Which i also have but shied away from installing, as i just HATE 60 odd floppy disk installs. I’d have to image EVERY one on an external floppy drive and HOPE that they don’t suffer the ever present ibm floppy corruption menace;-(.suggestions? Thank you.Doc.
Great OS/2 blog! I have successfully installed Warp 4 into VirtualBox 4.04 running on Ubuntu 10.10 AMD64. I updated to FP15 immediately after the install and am trying to install the GENGRADD video driver, but am now a bit confused. After going through Selective Install and selecting the GENGRADD driver, it wants to copy files from the Warp 4 install CD at D: OS2IMAGE and overwrite some of the FP15 files with older ones from the CD.
I allowed it to overwrite with the intention of reapplying FP15 and it eventually brings up the “OS/2 Warp 4 Setup and Installation is complete” box. At this point, I can hit the OK button all day, but nothing happens. I’ve tried hitting the Cancel button or simply rebooting. Vista home premium preactivated. Upon reboot, Selective Install has revered back to the VGA driver.
So, what’s the correct procedure for installing the GENGRADD driver after applying FP15? Thanks for any help! In my experience, VMware is about the least suitable “professional” hypervisor to run OS/2 2.x on Virtual PC and VirtualBox are so much better. But I understand the fun of installing OS/2 2.0 on VMware anyway ? You might have better luck with the BusLogic emulation for SCSI. For networking, the OS/2 E1000 driver probably requires a newer version of OS/2 the PCnet emulation works much better for old OS/2 versions. In fact there are working PCnet drivers which can be used for LAN Manager 2.x running on top of OS/2 1.2 or 1.3 (been there, done that, should blog about it).
Wow, what a surprise to see how this site has matured! I remember way-back when the OS/2 Museum just “opened” The other day I found an.ISO of OS/2 Warp Connect 3 Red Box and then wondered whether it could run in VirtualBox. Alas, I never got the OS/2 Guest Additions working; the VBoxGuest.sys kept giving an error about the KEE kernel extensions, which apparently need OS/2 Warp 4 and some Fixpack.
I’m still amazed how well v3 runs in VirtualBox even without the Guest Additions. Incidentally, I found GRADD 0.83 problematic (wouldn’t install); using 0.97 worked perfectly. Thanks on the nice write-up (which is how I ended-up here) and maintaining the Museum! Got a bout of nostalgia for simpler days ? I have two PC’s – one running Windows XP (32bit) and a laptop with 64-bit Windows7 on. On the XP PC, I installed Microsoft Virtual PC, which allows me to make use of floppy disk images (which one cannot do on Windows7.
Anyway, I got OS/2 Warp v4 up and running. However, networking is still problematic. From the first posts above, it seems that I still have to install a NIC driver. Where can I get this NIC driver?
And last, but not least, how do I get to apply fixpacks? It’s been a while since I’ve used OS/2, so a lot of things have been forgotten TIA Emil. You can install even OS/2 2.0 from the hard drive. It’s not all that tricky. They all work on VPC.
You need a utility called os2hdd.exe. This will unpack your disk images. Unpack them to a directory, say d: os2v200 disk0 to diskNN. (similar to what’s on the cdrom). Once you have all of your os2 versions ready, you configure a DOS diskette, with a fast xcopy thing, and network or cdrom support. The hard disk of 1 GB is more than ample. Make your partitions up in something like OS/2 2.0: a boot manager, a DOS partition, a data partition D: and several OS/2 partitions.
Copy the intended setups to D: os2vxxx (including all subdirectories). Now modify the config.sys on the diskette 1 to add the directory where the files are. Set os2shell=sysinst2.exe d: os2xxx Install. It runs quite smoothly, and you can eventually put all the OS/2 versions on the same cdrom.
Hi Ivan and Doug, I though originally Kelvin might have ment CDBoot the program but I've removed two other posts were Kelvin is seeking ISO's of OS/2 Warp, Warp v4.52 Boot CD's. He is posting from China so I'm working on the assumption that some education is required Since Kelvin's flurry of posts shortly after joining (no claims to be a Google employee, ie, not standard bot), and conveying a sense of urgency in one removed post, Kelvin hasn't been back for 21 hours, at least not logged in. I also keep the OS/2 v4 boot disks on os2site.com, these are/were all publically available from IBM so no problems with these. The OS/2 Boot CD has a lot more copyright material as well as more up to-date files than what I have on os2site.com, and they were never publicly released, so I cant publicly host them Loaddsk and savedsk floppy diskette utilities simply create image files from FD's, or create FD's from image files, as you pointed out, from image files like the Warp3 boot diskette image on os2site.com, CDBoot is great for creating updated boot CD's but you still need the original OS/2 install/CD's etc as Radek pointed out. If Kelvin is a real person I'm more than happy to help him with instructions on using those utilities etc, so I hope I haven't scared him off! I give people the benefit but as I get older, my rope gets shorter ) Cheers Ian.
Technical Docume nt # - 8262710 Family: Operating Systems Product: OS/2 (All Releases) Release: 3.0, 4.0 Syslevel: Last Updated: TITLE OS/2 FDISK and Installation DESCRIPTION FDISK Partition Setup Errors RESOLUTION OS/2 Install FDISK Notes If you are having a problem with OS/2 installation related to hard drive configuration and partition size do the following: 1. Set the prompt to display return codes from executables. From an OS/2 command prompt, type SET PROMPT=$R $P; then press Enter. From the command prompt, query FDISK information as follows: FDISK /QUERY 3.
If any.BIOS xxx statements are displayed from the FDISK query, you may have problems. This indicates that the system hardware BIOS can only see a limited amount of the hard drive space available.
The number after the.BIOS indicates how many megabytes of drive space the BIOS can see. Any partition that is not inside of this range will not be seen by the BIOS. There is nothing that OS/2 can do about this; it is a hardware BIOS problem. The command prompt return code ( $R ) from the FDISK /QUERY command should be 0; if not, make note of what it is. Perform an install FDISK query with the following statement: FDISK /SI:SIZE /SIZE:35 Note: OS/2 Warp 4 uses /SIZE:100 instead of /SIZE:35. The command prompt return code ( $R ) should be 24; if not, make a note of what it is.
How to Use FDISK Command Line Parameters. Some FDISK parameters are only used for restrictors; this means that they have no function if you are trying to create a partition. These parameters are: /FSTYPE - Used to select a partition with a specific file system type like FAT. /VOLID This option is not valid use /NAME instead - Used to select a partition with a particular volume ID number. This is like the /NAME parameter, but is used when no name has been assigned to a particular partition.
This is a new function for OS/2 Warp 4. /NAME - Used to select a partition with a specific name. /BOOTABLE - Used to select a partition that is bootable. Other parameters are: /QUERY - Used to get current partition setup information for a system. /CREATE - Used to create a new partition.
This can add the partition to the Boot Manager menu if you specify a:name with it, for example, /CREATE:OS2V4. This creates a partition and adds the new partition to the Boot Manager menu as OS2V4. /DELETE - Used to delete a specific partition defined with restrictors or all partitions on a specific drive if used as /DELETE:ALL. /DISK - Used to select a specific hard disk for an operation. /SETNAME - Used to add a partition to the Boot Manager menu or remove a partition from the Boot Manager menu. /SETACCESS - Used to define the C: partition if a hard drive has more than one primary partition.
/STARTABLE - Used to set a partition as startable. This operation is only valid on primary partitions. /START - Used with /CREATE parameter to define whether the new partition should be at the start (top) of the drive or end (bottom) of the drive. OS/2 Warp 4 allows for a MB variable to define the starting location. /SIZE - Used to define the size of a new partition with the /CREATE parameter, or used as a restrictor to select a specific partition.
![]()
/VTYPE - Used to define a partition as primary or logical with the /CREATE parameter or used as a restrictor to select a specific partition. /BOOTMGR - Used with the /CREATE parameter to create a Boot Manager partition. /SYSTEM - Used to create special system partitions, such as IML/FE type, with the /CREATE parameter or as a restrictor to define a specific partition. /NEWMBR - Used to rewrite the Master Boot Record information.
/FILE - Used to pass FDISK a response file with a set of FDISK operations to perform. /HELP - Used to display information about FDISK parameters. FDISK Command Line Examples FDISK /CREATE /BOOTMGR /START:T - Create a Boot Manager partition the using first available free space at the start of the drive.
FDISK /CREATE:OS2V40 /START:T /DISK:1 /VTYPE:1 /SIZE:300 - Create a primary partition at the top of first drive and add this partition to the Boot Manager as OS2V40. FDISK /CREATE /DISK:1 /VTYPE:2 - Create a logical partition on disk 1 using all free disk space. FDISK /DELETE:ALL /DISK:2 - Delete all partitions on second disk. Note that this will not delete any system (IML/FE) type partitions. FDISK /DELETE /VTYPE:2 /FSTYPE:FAT /DISK:1 FDISK /DELETE /VTYPE:2 /FSTYPE:06 /DISK:1 - Delete the logical FAT partition on first disk.
FDISK /DELETE /SIZE:400 /DISK:2 - Delete the partition on disk 2 that is 400 MB size. FDISK /DELETE /DISK:1 /BOOTABLE:1 /VTYPE:2 - Delete a bootable logical partition.
FDISK /DELETE /VOLID: - Delete partition on disk 1 (01) with volume name 00101800. FDISK /DELETE /NAME:WARP - Delete partition with the Boot Manager name WARP. FDISK Response File Example /CREATE,/BOOTMGR,/DISK:1 /CREATE:OS2V4,/SIZE:300,/VTYPE:1,/DISK:1 /CREATE:MAINT,/SIZE:20,/VTYPE:2,/DISK:1,/START:B /CREATE,/VTYPE:2,/DISK:1 /CREATE,/VTYPE:1,/DISK:2 Note: There is a restriction on the size of an FDISK command; if the command is too long, the last parameter or so will not be used. How to Use SETBOOT SETBOOT is used to reboot the system for CID (Configuration, Installation, and Distribution) procedures and control some of the Boot Manager functions.
The following parameters are available: /B - Requires the Boot Manager to be present; reboots the system, and displays the Boot Manager menu. /IBD:d - Reboots the system, configures Boot Manager to not display a menu and start up on drive d. /IBA:name - Reboots the system, configures Boot Manager to not display a menu and startup on drive with name. For a partition name containing space characters, enclose the name in quotation marks. To setup the Boot Manager to always boot a specific partition and not display a menu use the following two commands: /n:name - n is a number from 1 to 3; name is the name of a partition as it is listed in the Boot Manager menu. /X:n - Sets the auto boot partition to n, which can be a number from 0 to 3. 0 resets the Boot Manager menu to display.
/Q - Query information from Boot Manager partition /T - Set the timeout delay for the display of the Boot Manager menu. A value of 0 causes the menu not to display. /T:NO sets the Boot Manager menu to timeout value. IDE Hard Drive BIOS Setup It is the responsibility of the PC system hardware BIOS to provide access to the hard drive so that software programs can use the hard drive. This is done using an industry standard BIOS call into the system interrupt 13 (INT13). This industry standard only allows 10 bits to define a cylinder to select for an operation.
This limits the BIOS INT13 to using 1024 cylinders or less. In the past, the BIOS INT13 code mapped INT13 cylinder requests directly to physical cylinders on the IDE hard drive. Because new IDE type hard drives commonly have more than 1024 cylinders, the industry was confronted with a problem. To get around this problem the industry has developed a new standard for INT13 BIOS with the use of a LBA (Logical Block Addressing) mode for IDE type hard drives. The new LBA mode BIOS INT13 code takes the drive head count and increases it logically, while decreasing the cylinder count.
Normal conversions double the head count and cut the cylinder count in half. They also quadruple the head count and cut the cylinder count to one fourth. Some new versions of BIOS allow for eight times the head count and cut the cylinder count to one eighth. When you configure a new hard drive for a system, it is recommended that you make sure that the INT13 BIOS can map all hard drive cylinders into the 1024 range. Document Info Related Docs: IBM disclaims all warranties, whether express or implied, including without limitation, warranties of fitness and merchantability with respect to the information in this document.
By furnishing this document, IBM grants no licenses to any related patents or copyrights. Copyright (c) 1994, 1996 IBM Corporation.
Any trademarks and product or brand names referenced in this document are the property of their respective owners. Consult your product manuals for complete trademark information.
The OS/2 boot sequence The OS/2 boot sequence Introduction This is intended to be a fairly complete description of the mechanisms involved in booting OS/2, right from basics. Note that decimal numbers are written 'as is', and hexadecimal numbers are written with a trailing H except where otherwise noted. Due to lack of space in some areas of the boot sequence, error messages are often limited to rather cryptic OS/2 error numbers, e.g. For the meanings of the specific messages likely to be encountered at boot time, see the. Hardware and BIOS initialisation On system reset, the BIOS is given control by the CPU. After performing tests and system initialisation, the BIOS starts the system boot operation; this all takes place in real mode, generally using 16 bit code, although some 32 bit instructions may be used.
The actual sequence of operation depends on the BIOS options selected, but in most cases the BIOS will attempt to boot from the first diskette drive; if this fails, it will attempt to boot from the first hard drive. In both cases, the basic operation is the same, although the following is primarily about booting from a hard drive. The boot operation consists of reading the first sector (cylinder 0, head 0, sector 1) from the boot device, and placing it into memory starting at address 0000:7C00H (segment 0, offset 7C00). Control is then transferred to address 0000:7C00H, i.e.
With CS (the code segment register) set to 0000H, and IP (the instruction pointer) set to 7C00H. Note that this is functionally different to having CS set to 07C0H, and IP set to 0000H! Hard drives and partitions The master boot record The PC/XT was the first IBM machine to be fitted with a hard drive. At that time, it was unclear whether users would prefer PC-DOS, or one of the other available systems (such as CP/M-86 or the UCSD p-system). Thus, it was made possible to divide the disk into up to four areas (named partitions) and to select which partition should be made active; i.e., the one which should be booted.
The mechanism to make this selection was embedded within each system (inside FDISK in the case of PC-DOS), and selection of system at boot time was not possible. The first sector on a hard drive is generally known as the Master Boot Record (often abbreviated to MBR). It consists of three basic parts:. The; this is the code executed when the system boots, and it starts at the beginning of the MBR (which will lie at 0000:7C00H when the BIOS transfers control).
The; this defines the way in which the disk is divided up. Due to space constraints, the partition table had room for only four entries, and for reasons of backwards compatibility (as well as space) has remained at that size to the present day. Other information may also be stored in the MBR by particular systems. The actual boot code varies according to the system which created it; generally, this would be the system which originally partitioned the disk, but systems may choose to update the code to suit themselves. Although the area between offsets 000H and 1BDH is technically available for use by the boot code, some systems store other information in this area as well.
![]() Ecomstation
FDISK /NEWMBR to rewrite the boot code without touching the partition table. The equivalent command for Warp Server for e-Business, or for one of the OS/2 Convenience Packs, is: LVM /NEWMBR: n where n is the drive number (starting at 1 for the first drive). On DOS, one can use the command: FDISK /MBR Although the boot code may vary, its basic function remains the same:. Move itself in memory, to vacate the area it occupies in order to make way for the boot sector for the partition being booted.
Conventionally, it is moved to 0000:7E00H but this is not compulsory. Validate the partition table (checking for exactly one active partition, and for format errors). Read the boot sector (first sector) from the active partition, into memory at 0000:7C00H; this mimics the effect if the disk were not partitioned at all (as would be the case for a diskette). Transfer control to 0000:7C00H. Before doing so, the code sets registers as follows:. DL is set to the drive number, with 80H added; e.g., 80H for the first drive, and 81H for the second drive. SI is set to point to the partition table entry for the partition being booted; it points to the copy in the loaded partition table, so will only be valid as long as this is not overwritten.
In order to understand the boot process fully, it is essential to know how the partition table works. Its format is now described.
The partition table starts at offset 1BEH in the MBR. It consists of four entries, each of which is 16 (10H) bytes in length. The format of one entry is as follows: Offset Size (bytes) Description 00H 1 01H 1 02H 2 04H 1 05H 1 06H 2 08H 4 0CH 4 Partitions normally occupy an integral number of cylinders; the exception is the first partition on the disk, which normally starts at the second track of the first cylinder, since the first track is partially occupied by the MBR. The rest of the first track is sometimes used for special hardware initialisation code, disk managers, or multiboot systems.
Os/2 Warp 4 Boot Disk
Most utilities tend to fill the table 'backwards', using the last entry first; this is not, however, universal. Note that the order of partitions in the partition table may not reflect their physical order on the disk. Head numbers run from 0 to n-1, where n is the total number of heads on the drive. The starting head number is the first head used by the partition, and the ending head number is the last head used by the partition. Sector and cylinder numbers are packed into a single 16 bit word, but in a non-obvious way. The sector number occupies the least significant 6 bits of the first byte, and the cylinder number occupies the second byte, but is concatenated at its high end with the spare two bits from the sector byte. This strange arrangement reflects the fact that, originally, the cylinder number was only 8 bits; the extra two bits were added later when it was realised that larger values were needed.
Sector numbers run from 1 to n, where n is the number of sectors per track. Cylinder numbers run from 0 to n-1, where n is the total number of cylinders on the drive. The starting sector/cylinder numbers describe the first sector used by the partition, and the ending sector/cylinder numbers describe the last sector used by the partition. This is an alternative way of describing the location of the partition.
The relative starting sector is the offset of the start of the partition, in sectors, from the MBR itself (i.e. From the start of the whole disk). The size is simply the number of sectors which make up the actual partition. This is used to indicate the status of a partition (i.e. Whether or not it is the active partition). There are only two legal values; 80H flags an active partition, and 00H flags all other partitions.
Any other value may cause the partition table to be treated as corrupt. This is used to indicate the type of partition to an operating system. This may be interpreted in whichever way an operating system chooses, and there is no truly official standard. However, the following values are in common use: Type (decimal) Type (hex) Description 0 00 Unused partition table entry 1 01 FAT-12 2 02 XENIX root filesystem 3 03 Xenix /usr filesystem 04 FAT-16 (.
Comments are closed.
|
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |