How to create a GA Boot Disk for OS/2 version 2.0


 * By Daryl Caudill
 * Version: 6.307
 * May 16, 1992

CREDITS
Thank you to Morton F. Kaplon for starting all of this. Morton created the first version of this, entitled:

"Creating a Boot disk for OS/2 GA version for FAT FILE SYSTEM."

Morton created the first version of this back in the BETA versions of OS/2 v2.0. He later updated his document when GA came out.

At the time, Morton wasn't running HPFS, so he hadn't included it in his write-up. I started from the base he had gotten to, which was 36 files, and managed to hack it down to 28 files.

I've added support for HPFS, as well as taking in consideration whether you have a math co-processor, a PS/2 versus a clone pc, and a more thorough discussion on a file-by-file basis.

DISCLAIMER
I don't work for IBM, own any IBM stock, or have any other vested interest in IBM other than being an avid fan of the OS/2 product. All statements in this document are solely my opinion, and chances are I'm probably wrong on several issues. I had to make educated (or lack of) guesses on many items, especially when it comes down to figuring out what each file is actually used for.

I'm sure this document will experience several corrective versions. I've pointed out in several places where a configuration could (hopefully) be replaced by something more efficient.

If you find you can't create a boot disk which will work on your computer, send me a message via the OS/2 Support Internet echo, or post a message to me on Pete Norloff's OS/2 Shareware BBS in Fairfax, Virginia 703/385-4325.

I have only tested this on two computers (work and home), so I'm sure most people will have different configurations. For now, I'm out of time to continue this, as you'll see by some blanks needing filled in.

Good Luck!

SECTION 1: INTRODUCTION
My intention was to create a boot disk with the absolute minimum number of files and config.sys statements. I wanted to be able to create a 5-1/4" boot disk and have done so. After doing that, I wanted to begin adding necessary/desirable features and still keep it on one disk.

The 5-1/4" disk has minimal features and has several exceptions, meaning your computer must have this or that, or you can't create a 5-1/4" disk.

The 3-1/2" disk can hold anything, short of running CHKDSK with HPFS support all from one disk. This is not a problem though.

If your computer has two floppy disk drives, with one being high- density, then you can build a two-disk boot with ALL the features covered in this write-up, including HPFS.

If your computer only has ONE high-density floppy disk drive then you can build a custom boot disk for:

3-1/2" 1.44 Meg floppy disks NO PROBLEM!

5-1/4" 1.2 Meg floppy disks possible with the following conditions:        - No HPFS support         - Your pc MUST have a 80387 co-processor

SECTION 2: CREATING THE BOOT DISK
I. PREPARING A FLOPPY DISK

All of the files you will need are located on the Installation Disk and Disk 1. The easiest way to do this is to create a temporary directory on your hard disk and copy all the needed files into this directory. If it turns out you need additional files placed on your boot disk, you can copy them from this directory, instead of having to pull out the original diskettes again.

The following steps will get you started:

1. Make a directory on your hard disk:  MD BOOTDISK 2. Put the Installation disk in drive A:, and copy these files into the BOOTDISK directory: SYSINSTX.COM, OS2KRNLI, OS2LDR, OS2LDR.MSG 3. Type:  RENAME OS2KRNLI OS2KRNL 4. Put Disk 1 in drive A:, and copy all files into the BOOTDISK directory. 5. Put a high-density disk in drive A: and format it. 6. From the BOOTDISK directory, type:  SYSINSTX A:

The disk is now prepared. The next session discusses which files you need to copy to the boot disk from the BOOTDISK directory.

II. COPYING FILES TO THE BOOT DISK

The following configuration is the absolute minimum (for now) that I could hack down to. It makes several assumptions and is just an example configuration. Your configuration could most likely be different (more files required).

This configuration is a complete bootable disk, based on the following: - your pc is a clone (non PS/2) - your pc has a math co-processor installed (80387 or 80486) - your pc has a standard ISA-compatible hard disk controller - your pc doesn't have any HPFS partitions

Error Load if not  Lock Filename Ext  Size  when  found   open  Description/Purpose --- --   --    --- BKSCALLS DLL    401                 Yes  HIIK BMSCALLS DLL   398                 Yes  HIIK BVHINIT DLL   9203                 Yes  HIIK BVSCALLS DLL   454                 Yes  HIIK CLOCK01 SYS   3666     2            No  Clock/Timer driver CMD     EXE  87552 *                No  OS/2 command interpreter CONFIG  SYS    181                  No  dah! COUNTRY SYS  24604     3            No  HIIK DOSCALL1 DLL 87884                 Yes  HIIK HARDERR EXE  14436                 Yes  HIIK IBM1FLPY ADD 24026 *                No  floppy disk controller driver IBMINT13 I13  9564 *                No  generic ISA disk controller driver KBD01   SYS  29013     2            No  Keyboard driver KBDCALLS DLL   858                 Yes  HIIK MOUCALLS DLL  1010                 Yes  HIIK MSG     DLL    477     3     3      No  HIIK NAMPIPES DLL   711     3     2      No  HIIK NLS     DLL    465     3     2      No  HIIK OS2CHAR DLL  56320                 Yes  HIIK OS2DASD DMD  31994 ? 3    4      No  Disk Device driver? OS2KRNL     716044     1     1      No  BOOT STRAP OS2LDR       32256     1     1      No  BOOT STRAP OS2LDR  MSG   8440     1     1      No  BOOT STRAP QUECALLS DLL 14994                 Yes  HIIK SCREEN01 SYS  1441           4      No  Screen driver SESMGR  DLL  31256                 Yes  HIIK SYSINST1 EXE  4224                 Yes  CONFIG protshell=sysinst1.exe VIOCALLS DLL  1825     3     2      No  HIIK

On a 5-1/4" disk, CHKDSK will give you:

1213952 bytes total disk space. 1536 bytes in 1 hidden files. 1199104 bytes in 28 user files. 4096 bytes in extended attributes. 9216 bytes available on disk.

512 bytes in each allocation unit. 2371 total allocation units. 18 available allocation units on disk.

As you can see, it's just _squeaking_ by on a 5-1/4" disk, with a whopping 9216 bytes to spare!

On a 3-1/2" disk, CHKDSK will give you:

1457664 bytes total disk space. 1536 bytes in 1 hidden files. 1199104 bytes in 28 user files. 4096 bytes in extended attributes. 252928 bytes available on disk.

512 bytes in each allocation unit. 2847 total allocation units. 494 available allocation units on disk.

With 252928 bytes available, you can configure a 3-1/2" disk with everything you want, short of the UHPFS.dll file. This file will go on a second disk along with the CHKDSK.com file (discussed later).

KEY DEFINITIONS:

This file will change, depending on the configuration of your computer.

HIIK: Heck if I know. I can guess, but don't know the appropriate file description.

Loads When: 1 - at power-up time, typically known as the boot strap 2 - at the OS/2 graphical logo with copyright notice 3 - screen clears and says: Loading, please wait... 4 - screen clears with a cursor in the upper-left hand corner

Error message if the file isn't found by the system (see Appendix A for a description of these error messages): 1 - !SYSxxxx error message 2 - LIBPATH error (states which filename is missing) 3 - LIBPATH error (no filename) 4 - The system cannot find the file "????????.???" 5 - The system cannot find the file "A:\COUNTRY.SYS"

Lock Open: After the system is finished booting, these files remain locked open by the system. I used ERASE A:\*.* and these were the files which couldn't be deleted because they were locked open.

III. CONFIG.SYS FILE CONTENTS

This is the absolute minimum CONFIG.SYS file you can have on your GA boot disk. I have a feeling both the protshell and os2_shell can be replaced with something smaller. The buffers should probably be increased, especially since the disk cache is not being used.

libpath=\; buffers=32 protshell=sysinst1.exe set os2_shell=cmd.exe protectonly=yes set path=\; set dpath=\; basedev=ibm1flpy.add   ** Replace this file basedev=ibmint13.i13   ** Replace this file basedev=os2dasd.dmd

These two files are the floppy and hard disk controller files. You should check the final CONFIG.SYS file on your hard disk to see which files your system actually uses and use those. See the discussion below in Section 3 (IBM PS/2 versus non-PS/2 drivers).
 * Replace this file:

SECTION 3: REQUIRED CONSIDERATIONS
I. MATH CO-PROCESSOR SUPPORT

If your computer does NOT have a math co-processor, then the system will require the NPXEMLTR.DLL file (25280 bytes) be present on your boot disk. This file is too large for the 5-1/4" boot disk--sorry!

No statement is required in the CONFIG.SYS file. The file is loaded in the third phase (Loading, please wait...). If the file is not found, you'll get the fifth error:

The system cannot find the file "A:\COUNTRY.SYS"

Yea, I know. It has nothing to do with that file, yet several files produce this error message when missing.

II. IBM PS/2 versus NON-PS/2 DRIVERS

If you look in the CONFIG.SYS file on the original disk 1, you'll see the system loads the floppy and hard disk drivers for both the PS/2 and non-PS/2 machines. Depending on which machine you have, you do NOT need the other machines drivers loaded. If you look in the final CONFIG.SYS file located on your hard disk, you'll see it only loads the files needed for your machine.

These are the floppy disk drivers included on disk 1:

IBM1FLPY.ADD 24026    Floppy disk controller driver IBM2FLPY.ADD 12997    IBM floppy disk controller driver

These are the hard disk drivers included on disk 1:

IBMINT13.I13  9564    Generic ISA disk controller driver IBM1S506.ADD 12908    ST-506 compatible disk controller driver IBM2SCSI.ADD 15780    IBM Generic SCSI disk controller driver IBM2ADSK.ADD 10724    IBM ABIOS DASD Device Driver

Both systems I've tried this on are clones with an IDE hard disk controller. Although the hard disk CONFIG.SYS file ends up using only the IBM1S506.ADD file, I've found it can be replaced with the IBMINT13.I13 file. They seem to be interchangable on my system. I'm assuming the IBM1S506 file is faster/better than the generic file, but for a boot disk I used the generic driver because its a smaller file. Obviously, whatever your hard disk CONFIG.SYS file ends up with, you should leave alone! (unless of course a problem requires you to change it).

SECTION 4: NON DISK-CONSUMING OPTIONS
These options are not required to be in the CONFIG.SYS file (meaning the system will still come up without them). Since they don't require any additional files to be added to the disk, the services they offer are worth the few bytes they take up in the CONFIG.SYS file.

I. SET KEYS ON

This option enables the command-line history function, which remembers the commands you enter at the OS/2 command prompt. This has the same function as the DOS DOSKEY feature. The command line history is stored in a 64KB buffer.

II. PAUSEONERROR=NO

If you use this line item, you must keep it equal to NO. I've tried to define the response you'll get from the system, depending on the problem encountered. The reason I suggest this option is because the opposite should NOT be selected.

If you set PAUSEONERROR=YES, and the system does encounters a problem, the system will attempt to load the ________.___ file, which contains the error messages. Since this file is too large to be placed on your boot disk, you'll get an error message stating the system can't find the _________ file. (I forgot to write down the file name, but it's a big file).

III. IOPL=YES

I don't know what this is, but it doesn't seem to cause any problems. This is something which is in the original CONFIG.SYS and ends up in your final CONFIG.SYS file (at least it did in mine).

IV. MEMMAN=NOSWAP

This option tells the system that a swap file is not to be used, but if you do not include this and do not include a CONFIG.SYS line which defines the swap file, you'll have no problem.

V. DISKCACHE=64,LW

This option enables the disk cache with lazy writes. Since you will most likely not be running applications off your hard disk when booting from a floppy, this line isn't necessary.

SECTION 5: DISK-CONSUMING OPTIONS
Each of these options requires an additional file be placed on the boot disk. Depending on how much disk space you have available and what features you want, you can selectively include these on your boot disk.

I. DEVICE=PRINT01.SYS

This option requires the PRINT01.SYS file (8934 bytes) be on your boot disk. With this option enabled, you can print to the standard print device on your computer. I don't know which printers/configurations will work and which don't. My EPSON off of LPT1 works fine. I don't know if non-ASCII (i.e. PostScript) printers will work.

II. CODEPAGE=850 DEVINFO=KBD,US,KEYBOARD.DCP

These two statements go together in the CONFIG.SYS file. If you have the CODEPAGE entry, but no DEVINFO entry, you'll get a SYSxxxx message, but the system will continue to boot normally.

This requires the KEYBOARD.DCP file (5177 bytes) be located on the GA boot disk.

III. DEVICE=\TESTCFG.SYS

I'm not sure what this does. This requires the TESTCFG.SYS file (3216 bytes) be located on the GA boot disk.

IV. IFS=HPFS.IFS /c:64

This statement enables the system to access any HPFS partitions. Without it loaded, trying to access an HPFS drive will give:

SYSxxxx error: Cannot access the device specified (or whatever...)

This option requires the HPFS.IFS file (125466 bytes) be located on the GA boot disk. Obviously, the size of this file prevents it from being installed on a 5-1/4" boot disk. However, a 3-1/2" boot disk has plenty of space for it.

SECTION 6: TWO-DISK BOOT CONFIGURATION
I. 3-1/2" A: DRIVE

If you have an HPFS partition and desire HPFS support, then your going to end up with TWO floppys. For a 3-1/2" floppy, the first will be a complete boot disk, taking you to the OS/2 prompt. The second 3-1/2" disk should contain CHKDSK.com (68656 bytes) and UHPFS.dll (178896). You can add other files such as a text editor, although this could reside on the hard disk, since the hard disk is available (unless you need to fix via CHKDSK, which is why you booted via floppy in the first place!).

II. 5-1/4" A: DRIVE

For the 5-1/4" method, you'll need two floppy disk drives. You'll need to put some of the files on the second floppy disk, and modify the config.sys file path, dpath, and/or libpath statements so the system can find the files.  I haven't tried this option yet, but it should be pretty straight forward.

APPENDIX A: ERROR MESSAGES
I. LIBPATH ERROR

You will receive the following error message if a needed DLL file is missing from your boot disk(s). The underline represents the filename the system was looking for. Sometimes the system does NOT pull a file name there--leaving you to figure out which file is missing!

The system cannot load the dynamic link library ________ which is need to start the system.

Install the dynamic link library in the root directory of  the startup drive or in the directory specified in the LIBPATH command in the CONFIG.SYS file.

The system is stopped.

Correct the preceding error and restart the system.

II. FILE NOT FOUND ERROR

You will receive the following error message usually when you have a statement in the CONFIG.SYS which references a file that does not exist. One exception is when certain system files are missing (which are not referenced in the CONFIG.SYS file) you will receive this error message, with the missing filename always being COUNTRY.SYS

The system cannot find the file "________.___". This device driver, program, or data file is not located in the default path or the path specified for it in the CONFIG.SYS file. Install this file in the correct directory, or correct the appropriate CONFIG.SYS file statement. The system is stopped. Correct the preceding error and restart the system.