[[ header START ]]

Welcome to OS2.GURU site! (eComStation.RU)

Select your language: Russian English Deutch Spanish Italian Portuguese Czech Polish French

Frequently asked questions and answers:
telegram

Форум обсуждение

telegram

Send message

telegram

[ +7-981-8529467 (Санкт-Петербург)

telegram

t.me/os2_guru

eComStation.RU


ru · en · de · es · it · pt · cz · pl · fr
OS/2 - это совершенно другая операционная система для PC (ArcaOS, eComStation, IBM OS/2 Warp)
Программы, новости, статьи, поддержка пользователей, оборудование, вопросы и ответы.
 
[Что такое OS/2?  Новости  Установка  Обновление  
 
 
Применение  Будущее  Сообщество  Проекты  

[Как заработать в OS/2?

Как купить OS/2 дискету?

Идеи для фанатов OS/2

*

(Карта сайта)

 
 
[[ head-3-search ]]

Отчет: OS/2 совместимое оборудование

[[ head-3-search END ]]

 
Обновление

 
Программы

 
(Санкт-Петербург)

 
Преимущества (1)

 
Разработчику (1)

 
(Пайпы программ)

 
Компании: (1)

 
История (1):

 
(Бонусы)

 
Советы:

 
(Барьеры и решения)

 
Технологии: (1)

 
(Применение в науке, лаборатории, ..)

 

 
Готовые решения:

 
Новая eComStation:

 
Будущее: (1)

 
(Ссылки на другие сайты)

 
(Картинка дня)

 
Артефакты OS/2

 
Гаджеты

ConfigTool 1.0.0 database - INTRODUCTION

[ConfigTool page] [Table of contents] [Index]
BOOT CD HOW TO
CONFIG.SYS OPTIMISATION
CREATING MAINTENANCE DISKS
ENABLE REXX IN THE CONFIG.SYS
INSTALLING IOMEGA PARALLEL DRIVES
LINUX
MOVING OS/2 TO ANOTHER PARTITION
NETSCAPE SETTINGS
NEW FUNCTIONS WITH FIXPAKS
NEW MOTHERBOARDS
OS/2 TRAPS
OS2 OPTIMISATION
PARTITION TYPES
RECOVER
REMOVING AUTOSTARTS
SELECTIVE BOOT
STAROFFICE HTML ASSOCIATION
SWAPPER.DAT
SYNATTACK
THE DB2 FAQ
WINDOWS 2000
WINDOWS NT4.0

BOOT CD HOW TO
[Table of contents] [Index] [INTRODUCTION]

OS/2 Boot CD HowTo V1.1

With kindly permission by Christopher Wohlgemuth the developer of Cdrecord for OS/2 and Audiocdcreator

The newest version of this FAQ and also Cdrecord and audio-datacdcreator can be found at: http://www.geocities.com/SiliconValley/Sector/5785/index.srcl

Creating an OS/2(*) boot CD isn't that easy due to the nature of OS/2. The following HowTo shows you a way with minimal effort. It is tested with OS/2 V4 FP10 IDE only. For a more technical description of the boot process from CD get the cdboot.zip package which contains drivers, sample config.sys files and an informational file.

Disclaimer:

THERE ARE NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE INFORMATION GIVEN MAY BE INSUFFICIENT OR WRONG. YOU MAY USE IT ON YOUR OWN RISK. THE AUTHOR ISN'T RESPONSIBLE FOR ANY DATA LOSS OR DAMAGE AS A RESULT OF USING THIS INFORMATION EVEN IF BEING INFORMED ABOUT THE POSSIBILITY OF SUCH DATA LOSS OR DAMAGE.
REPRODUCTION OF THIS PAGE IN ANY FORM WRITTEN OR VERBATIM (INCLUDING CDROM) IS NOT ALLOWED WITHOUT PRIOR PERMISSION BY THE AUTHOR. YOU MAY LINK TO THIS PAGE IF YOU DO NOT CHARGE FOR IT OR CLAIM COPYRIGHT FOR IT.

In short: Don't blame the author if anything goes wrong and your data is shreddered. Don't try to make a couple of Dollars with my page without giving me a Ferrari and a villa in Bel Air.


Prerequisites

You need some utilities but all of them are free:

* BootOS2 for creating the boot image
* LXLite1.2.1, for packing the system files
* CD_BOOT.FLT, a filter driver contained in cdboot.zip.
* VFDISK, a virtual floppy driver (if you don't have a 2.88M floppy
drive). You may also use the Super virtual floppy (Shareware).
* SAVEDSKF.EXE or IMAGE.EXE (included with OS/2 V4 in the DISKIMGS
directory) for grabbing the floppy image

Unpack bootos2.zip and install a 2.88M virtual floppy drive if necessary. Be sure to put the files LXLITE.EXE and LXLITE.CFG from the LXLite package into the bootos2 directory as described in BOOTOS2.DOC.



A text only boot system

This is done really fast. Just start bootos2.exe to create a minimal boot system with the floppy as the target. Replace the drive letter with the one of your 2.88M floppy. Use the LX parameter to compress the files.

bootos2.exe FORMAT:NONE LX TARGET=i:

The config.sys created by bootos2.exe on the floppy is shown below.

PROTSHELL=\OS2\BOS2SHL.EXE
SET OS2_SHELL=\OS2\CMD.EXE
SET COMSPEC=\OS2\CMD.EXE
MEMMAN=NOSWAP,PROTECT
CODEPAGE=850
DEVINFO=KBD,GR,\OS2\KEYBOARD.DCP
DEVINFO=SCR,EGA,\OS2\VIOTBL.DCP
LIBPATH=.;I:\OS2\DLL;I:\OS2\MDOS;
SET PATH=I:\OS2;I:\OS2\MDOS
SET DPATH=I:\OS2;I:\OS2\MDOS
SET PROMPT=[$p]
BUFFERS=30
IOPL=YES
SET KEYS=ON
DISKCACHE=D,LW
BASEDEV=IBMKBD.SYS
BASEDEV=IBM1FLPY.ADD
BASEDEV=IBM1S506.ADD
BASEDEV=OS2DASD.DMD
BASEDEV=OS2SCSI.DMD <-- Only for SCSI devices
BASEDEV=QL510.ADD <-- My SCSI card driver
BASEDEV=IBMIDECD.FLT
BASEDEV=OS2ASPI.DMD /ALL <-- Generaly not necessary
DEVICE=\OS2\TESTCFG.SYS
IFS=\OS2\HPFS.IFS /CACHE:64 /AUTOCHECK:DI
DEVICE=\OS2\OS2CDROM.DMD /Q
IFS=\OS2\CDFS.IFS /Q
DEVICE=\OS2\POINTDD.SYS
DEVICE=\OS2\MOUSE.SYS

You have to modify this config.sys.
First remove the drive letters marked in red. You may also remove any device statements you don't need. In the above example the SCSI stuff may be removed if the CD will be used on a non SCSI system. Add any (BASE)DEVICE statements necessary for the target PC. Make sure a driver for the CD-Rom drive of the target PC is included.

The next change is the important one:

Insert the line

BASEDEV=CD_BOOT.FLT /D:2

right after

[...]
BASEDEV=IBMIDECD.FLT

into the config.sys. Don't forget to copy the CD_BOOT.FLT (in the
cdboot.zip package) into the \OS2 directory of the floppy!

The config.sys should look something like this afterwards:

PROTSHELL=\OS2\BOS2SHL.EXE
SET OS2_SHELL=\OS2\CMD.EXE
SET COMSPEC=\OS2\CMD.EXE
MEMMAN=NOSWAP,PROTECT
CODEPAGE=850
DEVINFO=KBD,GR,\OS2\KEYBOARD.DCP
DEVINFO=SCR,EGA,\OS2\VIOTBL.DCP
LIBPATH=.;\OS2\DLL;\OS2\MDOS;
SET PATH=\OS2;\OS2\MDOS
SET DPATH=\OS2;\OS2\MDOS
SET PROMPT=[$p]
BUFFERS=30
IOPL=YES
SET KEYS=ON
DISKCACHE=D,LW
BASEDEV=IBMKBD.SYS
BASEDEV=IBM1FLPY.ADD
BASEDEV=IBM1S506.ADD
BASEDEV=OS2DASD.DMD
BASEDEV=IBMIDECD.FLT
BASEDEV=CD_BOOT.FLT /D:2
DEVICE=\OS2\TESTCFG.SYS
IFS=\OS2\HPFS.IFS /CACHE:64 /AUTOCHECK:DI
DEVICE=\OS2\OS2CDROM.DMD /Q
IFS=\OS2\CDFS.IFS /Q
DEVICE=\OS2\POINTDD.SYS
DEVICE=\OS2\MOUSE.SYS

Ok , one last step has to be done. Grab the image from the floppy with your favorite image utility. Warp 4 users may find the program image.exe on the Installation CD in the directory DISKIMGS:

image i: OSBOOT.IMG

Copy the image file into the folder containing all the data you want to burn on the CD like disk utilities, fdisk, format, chkdsk etc. Build the CD image using the following command:

mkisofs -l -L -J -ocdimage.raw -bOSBOOT.IMG -cboot.cat x:/data

The name after the -b option must exactly match the name of the image file. This option is case sensitive!

You may burn this image on CD now. OS/2 boots to a fullscreen command window using this CD. Read the documentation coming with bootos2 about the features avaiable with such a system. Since the IBM1S506.ADD is included you have full access to the harddisks of the PC for maintenance.


A basic WPS boot system

You need a 2.88M floppy drive and a harddisk partition without an OS/2
installation for temporary installing a basic OS/2 system.

1. First start bootos2.exe to create a minimal boot system with the
floppy as the target. Replace the drive letter with the one of your
2.88M floppy. Use the LX parameter to compress the files.

bootos2.exe FORMAT:NONE LX TARGET=i:

2. Install a minimal WPS system using bootos2.exe. You need about 15MB
free space on the partition. Use the drive letter of the target
partition.

bootos2.exe FORMAT:NONE VGA LX TYPE=WPS TARGET=f:

The display is set to VGA to make sure the CD works on virtual any
system.

3. Copy CD_BOOT.FLT from the cdboot.zip package to the OS2 directory of
the floppy.

4. Copy PMDD.SYS to the OS2 directory of the floppy. You find this file
in the OS2 directory of the basic WPS system.

5. Copy the config.sys of the basic WPS system to the floppy.

6. Copy VDISK.SYS to the OS2 directory of the basic WPS system. The file
is located in the OS2\BOOT directory of any standard OS/2
installation.

7. Now you have to modify the config.sys file of the boot floppy. The
file looks like this:

PROTSHELL=\OS2\PMSHELL.EXE
SET USER_INI=\OS2\BOS2USER.INI
SET SYSTEM_INI=\OS2\BOS2SYS.INI
SET OS2_SHELL=\OS2\CMD.EXE
SET COMSPEC=\OS2\CMD.EXE
SET AUTOSTART=PROGRAMS,TASKLIST,FOLDERS,WARPCENTER
SET RUNWORKPLACE=\OS2\PMSHELL.EXE
DEVICE=\OS2\PMDD.SYS
MEMMAN=SWAP,PROTECT
SWAPPATH=F:\ 512
LIBPATH=.;F:\OS2\DLL;F:\OS2\MDOS;
SET PATH=F:\OS2;F:\OS2\MDOS
SET DPATH=F:\OS2;F:\OS2\MDOS
SET PROMPT=[$p]
BUFFERS=30
IOPL=YES
SET KEYS=ON
DISKCACHE=D,LW
SET HELP=F:\OS2\HELP
BASEDEV=IBMKBD.SYS
BASEDEV=IBM1FLPY.ADD
BASEDEV=IBM1S506.ADD
BASEDEV=OS2DASD.DMD
BASEDEV=IBMIDECD.FLT
DEVICE=\OS2\TESTCFG.SYS
IFS=\OS2\HPFS.IFS /CACHE:64 /AUTOCHECK:DF
COUNTRY=049,\COUNTRY.SYS
DEVICE=\OS2\OS2CDROM.DMD /Q
IFS=\OS2\CDFS.IFS /Q /W
DEVICE=\OS2\POINTDD.SYS
DEVICE=\OS2\MOUSE.SYS
CODEPAGE=850,437
DEVINFO=KBD,GR,\OS2\KEYBOARD.DCP
DEVINFO=SCR,VGA,\OS2\VIOTBL.DCP
SET VIDEO_DEVICES=VIO_VGA
SET VIO_VGA=DEVICE(BVHVGA)
DEVINFO=SCR,VGA,\OS2\VIOTBL.DCP

Because the WPS system contains way to much data to fit on the boot
floppy we move as much files as possible on the CD as described in the
section DEVICE drivers on CD. The following line in the config.sys
insures the CD drive gets drive letter x:.

RESERVEDRIVELETTER=W:

Modify the config.sys by replacing the drive letters (in this example
f:) with the drive letter of the CD drive. Add and modify the
statements as shown below.

PROTSHELL=x:\OS2\PMSHELL.EXE
SET USER_INI=y:\OS2\OS2_y.INI
SET SYSTEM_INI=y:\OS2\OS2SYS_y.INI
SET OS2_SHELL=x:\OS2\CMD.EXE
SET COMSPEC=x:\OS2\CMD.EXE
SET AUTOSTART=PROGRAMS,TASKLIST,FOLDERS,WARPCENTER
SET RUNWORKPLACE=x:\OS2\pmshell.EXE
DEVICE=\OS2\PMDD.SYS <-- Do not add a drive letter here!
MEMMAN=SWAP,PROTECT
SWAPPATH=y:\ 512
LIBPATH=.;x:\OS2\DLL;x:\OS2\MDOS;\os2;\os2\dll;
SET PATH=x:\OS2;x:\OS2\MDOS;\os2;\os2\dll;
SET DPATH=x:\OS2;x:\OS2\MDOS;\os2;\os2\dll;
RESERVEDRIVELETTER=W: <-- This forces the CD-drive on drive letter x:
SET PROMPT=[$p]
BUFFERS=30
IOPL=YES
SET KEYS=ON
DISKCACHE=D,LW
SET HELP=x:\OS2\HELP
BASEDEV=IBMKBD.SYS
BASEDEV=IBM1FLPY.ADD
BASEDEV=IBM1S506.ADD
BASEDEV=OS2DASD.DMD
BASEDEV=IBMIDECD.FLT
BASEDEV=CD_BOOT.FLT /D:2 <-- Do not forget this driver
DEVICE=\OS2\OS2CDROM.DMD /Q
IFS=\OS2\CDFS.IFS /Q
DEVICE=\OS2\TESTCFG.SYS
IFS=x:\OS2\HPFS.IFS /CACHE:64 /AUTOCHECK:DF
COUNTRY=049,\COUNTRY.SYS
DEVICE=x:\OS2\POINTDD.SYS
DEVICE=x:\OS2\MOUSE.SYS
CODEPAGE=850,437
DEVINFO=KBD,GR,\OS2\KEYBOARD.DCP
DEVINFO=SCR,VGA,\OS2\VIOTBL.DCP
SET VIDEO_DEVICES=VIO_VGA
SET VIO_VGA=DEVICE(BVHVGA)
DEVINFO=SCR,VGA,\OS2\VIOTBL.DCP
DEVICE=X:\OS2\VDISK.SYS 3584,512,512 <-- This is the driver for a RAM
disk which holds the desktop and the *.ini files.
The RAM-disk will have the first free drive
letter
CALL=X:\OS2\CMD.EXE /C MD Y:\OS2 & COPY X:\OS2\CMD.EXE Y:\OS2 >NUL
CALL=X:\OS2\CMD.EXE /C COPY X:\OS2\DLL\BVSCALLS.DLL Y:\OS2\DLL >NUL
REM Copy the *.ini files to the RAM-disk
CALL=X:\OS2\CMD.EXE /C COPY X:\OS2_y.INI Y:\OS2 >NUL
CALL=X:\OS2\CMD.EXE /C COPY X:\OS2SYS_y.INI Y:\OS2 >NUL

Make sure the HPFS.IFS will be loaded after the CDFS.IFS because you
need CDFS.IFS to access the CD.

8. The WPS uses *.ini files to store important information. Using the
makeini utility coming with OS/2 and ini.rc and inisys.rc located in
the OS2 directory of any standard OS/2 installation we build custom
ini-files for the CD. To do so Replace any occurence of a drive letter
in the *.rc files with the drive letter of the RAM-disk created during
CD boot (Y:). This is a quick and dirty hack because most of the
program objects located on the WPS will have wrong settings
afterwards. To make it the right way step through the files and adapt
any setting as necessary. This is beyond the scope of this HowTo. Save
the modified files as ini_y.rc and inisys_y.rc. Use the following
commands to create the custom ini files:

makeini.exe os2_y.ini ini_y.rc

makeini.exe os2sys_y.ini inisys_y.rc

The *.ini files are hidden. Use attrib to make them visible. Copy the
created files to the directory containing the CD data. The files must
be in the root of the CD.

9. Grab the image from the floppy with your favorite image utility. Warp
4 users may find the program image.exe on the Installation CD in the
directory DISKIMGS:

image i: OSBOOT.IMG

Put the image file in the directory containing the CD data.

10. Create the CD image using the following command where x:/data contains
the files for the CD and F:\OS2 is the directory created by
bootos2.exe when building the basic WPS system. All the data in the
F:\OS2 directory will be put in the OS2 directory of the CD preserving
the directory structure.

mkisofs -l -L -J -ocdimage.raw -bOSBOOT.IMG -cboot.cat x:/dataOS2/=F:/OS2

The name after the -b option must exactly match the name of the image
file. This option is case sensitive!

11. You may burn this image on CD now.

Remarks

During boot the standard program objects are created. Because the desktop is on the RAM-disk but the program files are located on the CD most of the settings are wrong. You have to adapt the *.rc files according to your needs.

At the moment it's not possible to create a copy of an installation on CD.

If you choose not to set the display to VGA your CD is probably not usable on other PCs than the one it is created on because of different graphicadapters. The display doctor may be a solution but I havn't tried that.

Swapping is enabled to keep every program happy. But have in mind that you swap on a RAM-disk with limited space. You may extend the disks size but running your favorite office suite while compiling Mozilla will presumably fail...


Hints and Tips

Remarks on BASEDEV= and DEVICE=

Any driver loaded in the config.sys via the BASEDEV= statement must be in the floppy image. Because the filesystem isn't fully setup yet the files must be located in the OS2 directory or the root of the floppy(image).

In contrast drivers specified with DEVICE= are loaded when the filesystem functions are avaiable. So you can put them somewhere on the CD and provide the fully qualified path in the config.sys. This means they are not part of the floppy image but are loadable from the CD after the CD filesystem is loaded by the kernel from the floppy image. This is useful if you have little space on your floppy and must include another BASEDEV driver.


Making room on the floppy

There isn't much space on the boot floppy. This may be a problem if you have to include a lot of BASEDEV drivers. There're some ways to make room for the additional drivers.

* Remove the file OS2LOGO in the root dir to get about 60kBytes
* Of course delete unnecessary BASEDEV drivers. For example SCSI stuff
if you need no access to SCSI devices. But be careful OS/2 needs some
drivers found in OS2 even if they are not listed in the config.sys
e.g. SCREEN01.SYS.
* Move drivers loaded with DEVICE= from the floppy to a directory on the
CD. Read below how to do that.

DEVICE drivers on CD

DEVICE drivers may be loaded from any place in the filesystem. To move them on the CD you have to make sure the CD drive letter does not change because of different numbers of hard disk partitions in different PCs. This is important because you provide the full path with drive letter. Insert the following line into the config.sys to make sure your CD drive gets drive letter x:.

RESERVEDRIVELETTER=W:

After doing so you may load any DEVICE driver using a statement like:

DEVICE=X:\The_path\MYDRIVER.SYS

(C) Chris Wohlgemuth 2000

CONFIG.SYS OPTIMISATION
[Table of contents] [Index] [INTRODUCTION]

You can also create multiple configurations for specific optimisations, and then select the appropriate configuration at system boot by pressing ALT-F1. See how to get multiple configuration files in Warp 3 or 4

If your only internet connection is via a modem, then you can REM (or delete) the following lines in the CONFIG.SYS in Warp 4

REM DEVICE=C:\IBMCOM\LANMSGDD.OS2 /I:C:\IBMCOM /S
REM DEVICE=C:\IBMCOM\PROTMAN.OS2 /I:C:\IBMCOM
REM RUN=C:\OS2\SMSTART.EXE
REM CALL=C:\IBMCOM\PROTOCOL\NETBIND.EXE
REM RUN=C:\IBMCOM\LANMSGEX.EXE
REM DEVICE=C:\MPTN\PROTOCOL\AFOS2.SYS
REM DEVICE=C:\MPTN\PROTOCOL\IFNDIS.SYS
REM CALL=C:\OS2\CMD.EXE /Q /C C:\MPTN\BIN\MPTSTART.CMD >NUL
REM DEVICE=C:\IBMCOM\MACS\NULLNDIS.OS2

If you don't run DOS/Windows TCP/IP programs, then you can remove the DOS TCP/IP support. The relevant lines in CONFIG.SYS are:

REM DEVICE=C:\TCPIP\BIN\VDOSTCP.VDD
REM DEVICE=C:\TCPIP\BIN\VDOSTCP.SYS
REM RUN=C:\TCPIP\BIN\VDOSCTL.EXE

If you don't use Voicetype remove the following

Remove all statements refering to Voicetype (normally they start with x:\vt) in your various path staements (don't forget your autoexec.bat)

LIBPATH
SET PATH
SET DPATH
SET HELP

Then delete the following lines:

SET SPCH_RUN=X:\VT\SPCH_RUN
SET SPCH_RO=X:\VT\SPCH_RO
SET SPCH_RW=X:\VT\SPCH_RW
SET SPCH_BIN=X:\VT\SPCH_BIN
SET SPCH_PATH=X:\VT\SPCH_RO\LANGS\%L\POOLS
SET SPCH_TRN=X:\VT\SPCH_DBF

CREATING MAINTENANCE DISKS
[Table of contents] [Index] [INTRODUCTION]

The probably easiest way to create Maintenance Disks or Partitions is the use of BOOTOS2 a free IBM-EWS utility.

Together with FP13 and up the creation fails due to some enlarged files. If this happens get additionally LXLITE so the files will be compressed.

1. Backup your original config.sys and create one with only the absolute necessary drivers in it. If you use DANIATAPI.FLT don't forget to shorten it to DANIATAP.FLT in your config.sys and also make a shortened copy in \OS2\BOOT.

2. Start Bootos2 with the parameter: '2DISK LX'

3. When Bootos2 asks to insert 'Target Disk 1' copy sysinstx.com from \OS2\INSTALL\BOOTDISK to the \BOS2TEMP subdirectory where BOOTOS2 is installed before proceeding. This will overwrite the old sysinstx.com from your original Warp4 Installationdisks.

4. Now proceed with inserting 'Target Disk 1'.

5. After finishing the Maintenance Disks you may want to copy systinx.com to 'Target Disk 2' in the \OS2 subdirectory, so you will be able to install Warp4.

6. Make a third Disk with some utilities on it e.g. FC/2, or DFSEE or other VIO maintenance programs. As some tools need additional DLL's make a \OS2\DLL subdirectory on this disk and copy: moncalls.dll, moucalls.dll, msg.dll, nsl.dll, quecalls.dll and viocalls.dll from your \OS2\DLL directory into.

7. Don't forget to copy the backup'ed original config.sys back to config.sys in your boot-drive

ENABLE REXX IN THE CONFIG.SYS
[Table of contents] [Index] [INTRODUCTION]

The question of whether REXX programs can be called from within the config.sys file has been asked by a number of people.
Russ Williams wrote to All:

RW> Can anyone tell me what restrictions there are on running
RW> REXX programs from config.sys (via "CALL=")? It doesn't
RW> work for me, and the on-line help is no help.

You cannot. The DLLs required to support Rexx are not loaded until Presentation Manager is loaded. If you require Rexx support earlier, look for a program call SRVREXX at a fine BBS near you.

Adding the line RUN=SRVREXX.EXE to the config.sys will immediately initialize Rexx. You will then be able to access Rexx with or without PM being loaded.

INSTALLING IOMEGA PARALLEL DRIVES
[Table of contents] [Index] [INTRODUCTION]

Installing the OS/2 Warp drivers for the Iomega Zip drive.


Try first the new BASEDEV PPAOS2.ADD it should work with ALL Zipdrives (100, 100+ and 250), if this doesn't work use the following steps, but keep in mind that the origianl Iomgea driver only works with Zip100 and there also only with older models.

1.Obtain the latest Iomega ZIP drive drivers for OS/2 from iomega
2.copy it to an empty temporary directory
3.double click OS2V234.EXE (depends on version downloaded from the ftp site), or run from OS/2 command line window. This unzips the driver zip file, and a copy of pkunzip so the drivers can be unzipped.
4.read the readme that came with the drivers.
5.run extract.bat You must finish the file decompression by running the EXTRACT.BAT file. This will create two new directories labled DISK1 and DISK2.
DISK1 -contains the Iomega Tools and Win-OS/2
DISK2 -contains the Drivers and Utilities OAD version 2.34.
6.Copy each of the disk directories to a seperate floppy. Open the disk1 folder in the PM, and insert an empty, formatted floppy in the floppy drive. Select all the objects in the disk1 folder, and drag them to the floppy icon. After the copy is completed, close the disk 1 folder, remove the floppy from the floppy drive, insert a second blank floppy, open the floppy icon, open the disk2 folder, select all objects in the folder, and drag them to the floppy icon.
7.decide which driver interface(filter) you need. The following is a breakdown of adapters and drives used with the Iomega ADD Filter and with Iomega OAD.

ADD FILTER* SUPPORTED IOMEGA HARDWARE:

ADAPTERS: DRIVES:
PC1600 16 bit SCSI adapter** Bernoulli 230
Zip zoom accelerator card** Multidisk 150
Jaz Jet Zip 100 SCSI
Jaz 1GB


*The Iomega ADD Filter, allows you to use non- Iomega SCSI adapters compatible with OS/2 Adapter Device Drivers(ADD). Refer to your adapter documentation or manufacturer for information on OS/2 ADD compatibility.

OAD SUPPORTED IOMEGA HARDWARE:
ADAPTERS: DRIVES:
PC1616 16 bit SCSI adapter Bernoulli 230
PC1600 16 bit SCSI adapter** Multidisk 150
PC800 8 bit SCSI adapter Bernoulli 90
PC2 8 bit SCSI adapter Zip 100 SCSI
PC4 8 bit SCSI adapter Zip 100 Parallel port
PPA-I parallel port SCSI adapter Jaz 1GB
PPA-3 parallel port SCSI adapter
Zip zoom SCSI accelerator card**


**The Zip zoom accelerator card and PC1600 may conflict with Adaptec 152x adapters or Adaptec 6x60 based SCSI adapters. If you have more than one of these adapters, refer to "Solving Problems" in the OADMAN.EXE or the ADDMAN.EXE
electronic manuals before installing the adapter or running Automatic Setup. If you are installing the PC1600 or the Zip zoom accelerator card for the first time, Iomega recommends these adapters be supported with the Iomega ADD Filter.

Note the parallel port version requires OAD

Don't worry about correspondence between adapters and drive type, for instance, the Zip 100 Parallel port does not require the PC4 8 bit SCSI adapter.

8.run setupref.exe from disk2 It will inform you of the options you need to make for selecting ADD or OAD filters, and how to load the distribution floppies onto your hard disc.
9.Run the executeable that matches the driver type you will need. Internal help is available from within these programs. Before you run them, you should be aware of the settings of your parallel ports if you have changed them from the defaults.
10.Iomega ADD Filter and Iomega OAD Filter -- Automatic Setup N.B., to make these instructions generic, where they refer to the OAD filter, I use OAD/ADD to indicate that the selected filter name should be used.

I.Insert the Iomega Tools for OS/2 install diskette into a floppy drive.
II.Run the OS/2 Device Driver Install program. Open your OS/2 System icon, open your System Setup folder, and double click on the Device Driver Install icon.
III.Check source and destination drives. Make sure the source drive is the floppy drive used in step I. The destination drive must be your OS/2 boot drive if you want OAD to load automatically when your system boots.
IV.Install the Open Architecture Drivers (OAD or ADD) Select Install and Iomega OS/2 OAD/ADD Driver, then click on OK. The OAD/ADD files are copied automatically to the selected destination drive. When file copying is complete,
remove the Install diskette from your floppy drive.
V.Exit the OS/2 Device Driver Installation window. Select EXIT, YES, and OK to exit.
VI.Preform an OS/2 SHUTDOWN and reboot the system. NOTE: While the system is rebooting, the OAD/ADD driver will display a message indicating that configuration is not yet complete. Continue with step VII. to configure the software.
VII.Run GENOAD. (or GENADD) Open an OS/2 full-screen prompt and type:

CD OAD (change to the OAD directory)
GENOAD (run GENOAD)

{if the ADD filter is appropriate for you:
CD ADD (change to the ADD directory)
GENADD (run GENADD)}

VIII.Press when you are ready to leave the Introduction screen. The Introduction screen explains how to use GENOAD/GENADD, including navigation information and how to make selections.
IX.Select "Scan Physical Connections" from the GENOAD/GENADD Main Menu and follow the screen instructions. Supported devices found on your system are displayed in the window as the scan progresses. Make sure all your Iomega devices are listed when the scan is finished. If No Devices are Found. . . Refer to Solving Problems in this guide or in the electronic manual.
X.Exit the hardware scan window. Press twice and select YES at each dialog box to save the OAD/ADD changes, save OAD/ADD as CONFIG, and overwrite the existing OAD/ADD file.
XI.Exit GENOAD. Press ESC twice and select YES to exit.
XII.Perform an OS/2 SHUTDOWN and reboot the system.

This completes Automatic Setup. For additional information on Iomega OAD refer to the electronic manual OADMAN.EXE. For additional information on Iomega ADD refer to the electronic manual ADDMAN.EXE.

Your WARP system should boot up recognizing your ZIP drive at this point.

If using the parallel port there are options to choose optimization levels for the zip drive, and choose which parallel port driver is used, if there is a desire to override the automatic parallel port support mechanism...

▒╛. Б═╙╕╔:

BASEDEV PPAOS2.ADD

LINUX
[Table of contents] [Index] [INTRODUCTION]

As Linux gets more and more common here some BASIC rules for the installation, so that you can have a trip back in times ;-)

1. Have the IBM OS/2 Bootmanager installed. Using LILO is not advised, although you can also use LILO as bootmanager.

2. If you posess the Gammatech-Utilities make an backup of your partition-table for an easier recovery if anything went wrong. Naturally this can also be done with the Graham-Utilies, but as I don't have 'em I'm not familiarized with them.

3. Make the partitions for Linux with OS/2 fdisk but DON'T format them. Linux can - like OS/2 - boot from any logical partition. And - again like in OS/2 - the boot partition has the same limitations (e.g. if no support for LBA is in your Motherboards BIOS the partition on (E)IDE Drives has to be inside the magical 528MB range). Minimum is one partition to mount the root (/) and one smaller
partition for the swap drive - its size depends on your installed memory and your needs, maximum size is 128 MB with kernel 2.0x, as a 'simple' rule, make the swap partition as large as your installed memory.

4. Add Linux to your Bootmanger menu.

5. Now you can install Linux itself (see your Linux Guide for doing this). Install the Linux Bootmanager LILO ONLY in the partition where you have mounted the Linux root (/) e.g. /dev/hdc5.

NEVER NEVER INSTALL LILO IN THE MBR if you want to avoid a lot of troubles. (I know what I'm talking of). Naturally this is not true if you decide to use LILO as bootmanager.

6. If you should have the curious idea to change your partitions AFTER the installation of Linux (e.g. you want to make out of two small ones one big, or the other way round). You'll get CERTAINLY a KERNEL PANIC whenever you try to boot
Linux: In this case you have to boot from the (hope you've done it before) generated Linux rescue disk(s) and then change your mounted drives (e.g. /dev/hdc5) in Linux, install Lilo new ... (see your Linux reference for how to do this).

7. Together with the ext2.ifs you can read-write access the linux drives from OS/2. See cm2cfg.dat for more informations.

8. To read-access the OS/2 HPFS formatted drives compile the Linux kernel with the HPFS-MODULE option. There are also modules for read and write access of HPFS. Thanks to John Thompson by IBM they are now available at Hobbes, or look at
ftp://sunsite.unc.edu/pub/Linux/. Actually they are available for the kernel 2.0x, 2.1x. and 2.2x.

MOVING OS/2 TO ANOTHER PARTITION
[Table of contents] [Index] [INTRODUCTION]

By Daniela Engert

Rule of thumb: any drive letter found at a proper place in a valid WPS object is adjusted by the WPS if the object in question is targeted to another drive letter. Of course this doesn't include data stored in the OS/2 INIs which are *not* WPS objects (some software stores pointers to themselves there).

So, the basic operation of moving an existing desktop to another drive letter is *move* the "Desktop" tree from the source drives object to the target one. If the target drive letter doesn't yet exist, create it beforehand. Then reboot to a command line window only (no WPS started!) and issue "XCOPY source: target: /H /O /T /S /E /R /V". This moves the rest of your boot drive to the new target; don't forget to adjust CONFIG.SYS. If required run "SYSINSTX target:" to make the new target drive bootable, You may need to add the new target to your favourite bootmanager as well.

If you need to transplant a desktop to another location, save away \OS2\OS2.INI, \OS2\OS2SYS.INI and the full \Desktop tree including *all* extended attributes. This needs to be done without PM active! Restore the mentioned items to the new target and you're done...

Using these operations I migrated several OS/2 2.1, Warp3 and Warp 4 installations to several new drive letters (D: -> E: -> F: -> ...), changed the underlying hardware and disk drives quite often, cloned existing desktops or full installations to new target drive letters (for testing purposes), and on and on...

No magic, just basic WPS features are involved.

NETSCAPE SETTINGS
[Table of contents] [Index] [INTRODUCTION]

Netscape Communicator 4.61 for OS/2 Release Notes

A number of additional browser configuration options are available in the OS/2 version of Netscape Communicator 4.61. These options can be enabled or disabled by editing the file PREFS.JS. This file is located in your NETSCAPE\USERS\NAME directory where NETSCAPE is the directory where you installed Netscape and NAME is the name of the user you created when you installed Netscape. Note these files might be in your 4.04 directory if you installed on a machine that has 4.04.

user_pref("os2.fonts.allow_arial", true|false);

By default, Netscape Communicator for OS/2 Warp only allows the Arial font to work on pages that use the Western Encoding. This is because web pages in other languages do not display properly with Arial. This preferences allows you to turn off Arial for ALL pages or to turn on Arial for ALL pages.
Note: If you want the original behavior, you must REMOVE this preference. Neither true or false emulate the original behavior.

user_pref("os2.replace_dots", true|false);

Sometimes, when files are downloaded, Netscape changes the name incorrectly. This happens when a filename has two extensions such as test.tar.gz. This preference prevents Netscape from changing the name of any filename it is going to download.
Note: default=false

user_pref("os2.use_system_codepage", true|false);

For some national language functions within Netscape, the codepage of your operating system is used. If you set this value to false, Netscape will use your default encoding to be used. This allows more functions of a translated non-Western browser to work on a Western system configured for codepage 850.
Note: default=true

user_pref("os2.use_oem_charset", true|false);

The User Defined Encoding defaults to 1004. This defaults the User Defined Encoding to your system codepage.
Note: default=false

user_pref("os2.emulate.windows", true|false);

This preference causes your browser as a Windows browser. You can use this when a site will not let you use it. You can test this by typing javascript:alert(navigator.appVersion) in the URL bar.
Note: default=false

user_pref("os2.drag_menu", true|false);

The toolbar menus for the OS/2 version were changed to be real menus, not simulated menus as in the Windows product. This preferences causes the simulated menus to be used by default.
Note: default = false

user_pref("os2.url_completion", true|false);

This preference allows you to turn off URL completion in the URL bar.
Note: default = true

user_pref("browser.bidi.bidi_enabled", true|false);

Although the OS/2 browser supports Arabic and Hebrew pages, by default, Hebrew and Arabic options are only available on Arabic and Hebrew systems or when you are
viewing an Arabic or Hebrew page. This preference forces the browser to think it is on an Arabic or Hebrew system.
Note: If you want the original behavior, you must REMOVE this preference.

user_pref("browser.download_unknown_as_binary", true|false);

By default, Netscape downloads unknown file types as text files. This preferences forces Netscape to download unknown types as binary.
Note: default = false

user_pref("os2.mail_sound", "filename");

With the OS/2 version of the browser, you can specify a WAV or MIDI file to play when you receive mail. Change filename to the fully qualified name of the file you want to play.

user_pref("mailnews.start_page.enabled", true|false);

When Messenger is started, by default it loads a Netscape home page. This preference turns that off.
Note: default = true

user_pref("mailnews.start_page.url", "name_of_page");

When Messenger is started, by default it loads a Netscape home page. This preference turns that off. This allows you to change the page that is loaded.

user_pref("browser.cache.memory_cache_size",4096);

Sets the Browser internal cache size to 4096 kByte. MacIntosh users ;-) have reported that this speeds up the Navigator.

NEW FUNCTIONS WITH FIXPAKS
[Table of contents] [Index] [INTRODUCTION]

FIXPAK 13 for Warp 4

Two new RAS utilities are included: PSFILES.EXE and PSSEMS.EXE.

PSFILES.EXE can dump out information about open files on the system. By default, it dumps out the information for all processes. Alternately, "PSFILES xxx" will dump out information for PID xxx (xxx is a hex number, e.g. from PSTAT).

PSSEMS.EXE can dump out information about open 32 bit semaphores on the system. By default it prints out all the shared (i.e. system-wide) semaphores. Usage is: pssems [/n] [hex_pid | /a] ; where /n suppresses shared semaphores and /a prints pruivate sems for all system processes.

<<=NOTE=>> These RAS Utilities are added to the OS2 directory on your system.

New Rexx functions, see the readrexx.txt supplied with the fixpak.

FIXPAK 14 for Warp 4

Support for Intel's new SpeedStep (a.k.a. Geyserville).

Kernels 14.050 and higher:
1) alt-f3 works (being the equivalent of alt-f1 plus alt-f2)
2) the blob stays up a reasaonble time on all machines (I think)
3) alt-f2 functionality is ALWAYS enabled if there exists a file named altf2on.$$$ in the root or the \os2\boot dir of the bootdrive.

Kernels 14.062e and higher

1) Support for >64m memory using int15 func e820. Note, this support is enabled ONLY for Intel Pentium Pro or later, or non-Intel Pentium-class machines. This is done in an effort to prevent problems on older PCs.
2) The presence of \os2\boot\os2norev.$$$ suppresses the display of internal revision during boot.
3) Adding "EARLYMEMINIT=TRUE" to config.sys will allow device drivers, etc., access to the memory above 16mb early in boot. Previously, this was only available after DD and IFS init was completed. This has various implications when enabled:
a) large VDISKs are possible. I tried DEVICE=\os2\vdisk.sys 16000
b) AHA154X.ADD may do bad things to your system. Don't even ask.
c) There may be some settings of HPFS386 cache that are incompatible.
This feature is experimental.
4) Trap messages will now give the module name instead of the device name. For example, "Exception in module: CLOCK01" instead of "Exception in Device Driver: CLOCK$". Unfortunately, traps in linear code will still be somewhat "mysterious".
5) Because item 4, above, necessitates a small additional overhead in resident memory when loading exectuables (device drivers, DLLs, EXEs), there was added an option 'NOOTE' to the RASKDATA= line. Now, we can have RASKDATA=OTE,NOOTE,LOCKS,NOLOCKS where, heretofore, the default was NOOTE and all you could do was turn on OTE copies. In general, you shouldn't care about this at all. If you turn on NOOTE, trap screen reporting gets reverted to the old way....

NEW MOTHERBOARDS
[Table of contents] [Index] [INTRODUCTION]

HOW TO use new Motherboards with more than 64MB Ram

Before using this advise try to get an updated bios for your motherboard and test if this solves the problem. If not (and only then) follow these steps.

1. Get the patchldr.zip developed by Daniela Engert from hobbes, leo or somewhere else

2. Follow this description (from patchldr.zip)

From Warp 4 on, OS/2 uses the BIOS function Int15 [AX=E801] to get the size of installed memory. In the recent past some authority sentenced this function as 'not ACPI compliant' and made the BIOS manufacturers to remove this function. WinXX is not affected by that change because it uses BIOS function Int15 [EAX=0000E820] which was added later and which is considered 'ACPI compliant'.

You may run the DOS based utility MEMTEST from this package to determine if your BIOS exhibits the defect I described. Straight DOS is preferred, but it works in an OS/2 VDM sufficiently well. If BIOS function Int15 (E801) is reported as 'not supported', and you have more than 64 MeB of memory installed, the PatchLDR utility will solve the problem.

The utility patches OS2LDR so that the query for the size of installed memory no longer uses BIOS function Int15 [AX=E801] but Int15 [EAX=0000E820]. Due to space constraints I had to remove the memory detection routines for PS/2 machines. But, as these aren't affected by the recent BIOS changes, this is a non-issue.

This patch utility is supposed to work with all fixpacks of Warp 4, the later fixpacks of Warp 3 (including derivatives), and the current version of Warp Server for e-Business. It was able to patch all of my different Warp 3/4/SeB installations successfully. You may decide to run OS/2 with the patched OS2LDR even if you don't need it right now.

According to my own tests and a lot of user reports it solves the memory size defect found with all (?) of the Athlon boards and others as well. So I consider the patch as safe.

USAGE
1) move to the root of the boot partition.
2) enter the command 'ATTRIB -R -S -H OS2LDR'.
3) enter the command 'PatchLDR'.

If step 3 fails, an error message will be displayed. If it succeeds, the old OS2LDR is copied to OS2LDR.bak, and a new, patched OS2LDR is created.

4) enter the command 'ATTRIB +R +S +H OS2LDR'.

From the next reboot on, the new memory size detection code is in effect.

Please remember: after installing a fixpack the OS2LDR patch needs to be applied again because it will be replaced by a non-patched version from the fixpack. If the fixpack installer asks you if it should replace the patched version of OS2LDR with the one from the fixpack distribution, then reply 'YES'! Failing that may render OS/2 unbootable because OS2LDR and OS2KRNL need to match.

OS/2 TRAPS
[Table of contents] [Index] [INTRODUCTION]

TRAP 0000 - DIVIDE ERROR: A program attempted to divide a number by zero. Contact software support.

TRAP 0001 - DEBUG EXCEPTION: Contact software support.

TRAP 0002 - HARDWARE/MEMORY ERROR: Memory or hardware failure in the system. Contact hardware support.

TRAP 0003 - BREAKPOINT: This is a special instruction (INT 3) used in debugging" software, which was left in the code either accidentally or by design. Contact software support.

TRAP 0004 - OVERFLOW: An overflow occurred during an arithmetic operation. Contact software support.

TRAP 0005 - BOUND RANGE EXCEEDED: A Bound instruction exceeded the specified limits. Contact software support.

TRAP 0006 - INVALID OPCODE: The processor tried to execute an unreserved invalid opcode. Contact software support.

TRAP 0007 - COPROCESSOR NOT AVAILABLE: If coprocessor diagnostic tests run error-free, contact software support.

TRAP 0008 - DOUBLE FAULT: The processor detected an exception while processing another exception. It could be caused by either hardware or software. If TRAP 0002 also is being experienced, contact hardware support.

TRAP 0009 - COPROCESSOR OVERRUN: The middle portion of a COPROCESSOR operand is protected or not present. Contact software support.

TRAP 000A - INVALID TASK STATE SEGMENT: A task switch to an invalid task-switch segment was attempted. Contact software support.

TRAP 000B - SEGMENT NOT PRESENT: The referenced segment is not present. Contact software support.

TRAP 000C - STACK FAULT: The referenced page is not present in memory, or the procedure referencing the page does not have enough privilege to access the page. Contact software support.

TRAP 000D - GENERAL PROTECTION EXCEPTION: All protection violations that do
not cause another exception cause a TRAP 000D. Contact software support.

TRAP 000E - PAGE FAULT: The referenced page is not present in memory, or the procedure referencing the page does not have enough privilege to access the page. Contact software support.

TRAP 000F - RESERVED BY INTEL.

TRAP 0010 - COPROCESSOR ERROR: The processor detected an error from the coprocessor. This could be caused by hardware or software.

OS2 OPTIMISATION
[Table of contents] [Index] [INTRODUCTION]

For those of you new to OS/2. Congratulations you are now about to experience slick, reliable computing, not to be found in most other operating systems

This document is intended for both novice and experienced users. It is hoped that it will lead you to a better understanding of your system, and more enjoyable computing. It is not intended to be comprehensive, but rather as a starting
point, and that you will find other information from various sources, some mentioned here.

The best way to optimise your system is by helping OS/2

1. Install as much memory as you can afford, OS/2 will use it if it is there, so you won't be wasting your money. Typically 32 Meg is a good starting point.

2. use only HPFS (High PERFORMANCE File System) partitions

3. Use OS/2 without DOS and Windows sessions (you also block those nasty little things called virus)

4. Don't use voicetype if you don't need it.

5. Use small apps (like Papyrus) and not those Ram-Hogs like Staroffice

6. Use native apps (not Java, Windows, Mirrorports like Word-perfect for OS/2)

7. Delete the OpenDoc environment by using 'selective-uninstall', as OpenDoc is deplorably death.

8. Use as FEW partitions as possible. OS/2 checks all partitions during bootup, so having fewer partitions speeds boot-time.

BTW. when you compare Windows and OS/2 on the same system, remember that Windows can only boot from the first partition, the one which is on most drives also the fastest! Using removable media together with OS/2 and newer Fixpaks slows OS/2 bootup significantly (but the Drivers by Daniela Eggert: DANIS506.ADD and DANIATAPI.FLT boost the speed for EIDE drives). As a trade off (compared to Windows, all versions) you get dynamically assigned drive letters, a feature that saves you from the drive-letter chaos in Windows whenever you change a partition, drive etc.

9. try and avoid program hopping, that is jumping from one application to the next, as this will avoid swapper activity (unless you have lots of RAM)

PARTITION TYPES
[Table of contents] [Index] [INTRODUCTION]

The partition type number (hex id) are as follows:

00 Empty
01 FAT12 (supported by OS/2)
02 XENIX_1 root
03 XENIX_2 usr
04 FAT16 <32MB (supported by OS/2)
05 EXTENDED, Supports at most 8 GB disks:
with type 05 DOS/Windows will not use the extended BIOS call,
even if it is available. See type 0F below.
06 FAT16 >32MB (supported by OS/2)
Partitions, or at least the FAT16 filesystems created on
them, are at most 2 GB for DOS and Windows 95/98 (at most
65536 clusters, each at most 32 kB). Windows NT can create
up to 4 GB FAT16 partitions (using 64 kB clusters), but
these cause problems for DOS and Windows 95/98.
Note that VFAT is 16-bit FAT with long filenames;
FAT32 is a different filesystem.
07 IFS, e.g. HPFS, HPFS386 (supported by OS/2) or NTFS, or
Advanced Unix, or QNX2.x pre-1988
IFS = Installable File System. OS/2 will only look at
partitions with ID 7 for any installed IFS. That's why the
EXT2.IFS packet includes a "Linux partition filter" device
driver to fool OS/2 into thinking Linux partitions have ID 07.
08 OS/2 (v1.0-1.3 only), or AIX boot partition, or SplitDrive, or
Commodore DOS, or DELL partition spanning multiple drives,
or QNX 1.x and 2.x ("qny")
09 AIX data partition, or Coherent filesystem, or QNX 1.x and
2.x ("qnz")
0A BOOTMANAGER (supported by OS/2), or Coherent swap partition,
or OPUS (Open Parallel Unisys Server).
0B WIN95 OSR2 32-bit FAT Partitions up to 2047GB.
Supported by DANIDASD.DMD
0C WIN95 OSR2 32-bit FAT, LBA-mapped Extended-INT13 equivalent of 0B.
Supported by DANIDASD.DMD
0E WIN95: DOS 16-bit FAT, LBA-mapped
0F WIN95: Extended partition, LBA-mapped, also used by PQMAGIC 4.0
Windows 95 uses 0E and 0F as the extended-INT13 equivalents of
06 and 05. This causes problems and possible data loss with
LBA and INT13 extensions. (Especially when going back and forth
between MSDOS and Windows 95, strange things may happen with a
type 0E or 0F partition.) OS/2 and even Windows NT does not
recognize the four W95 types 0B, 0C, 0E, 0F, but there is
a FAT32.IFS by Henk Kelder.
According to the uncountable requests for help in different OS/2
newsgroups the use of 0E and 0F is not recommended at all.
Supported by DANIDASD.DMD
ATTENTION: using PQMAGIC 4.0 also results in heavily errors.
10 Hidden partition (bits OR'd with partition type)
11 Hidden DOS 12-bit FAT
When it boots a DOS partition, OS/2 Boot Manager will hide
all primary DOS partitions except the one that is booted, by
changing its ID: 01,04,06 becomes 11,14,16. Also 07 becomes 17.
12 COMPAQ config partition
To use a COMPAQ PC with OS/2 save the config partition on disks
and then delete this partition (best is to delete all and
re-partition the harddisk according to your needs).
ATTENTION: Seems not to work with all COMPAQ's, my now
outdated CONTURA 386/25, and also the AERO 486/33 worked fine.
14 Hidden DOS 16-bit FAT <32M
16 Hidden DOS 16-bit FAT >=32M
17 Hidden IFS (e.g., HPFS)
18 AST Windows swapfile (`Zero Volt Suspend Partition' or
`SmartSleep Partition', 2MB+memory size).
1b Hidden WIN95 OSR2 32-bit FAT
1c Hidden WIN95 OSR2 32-bit FAT, LBA-mapped
1e Hidden FAT95
21 Reserved
23 Reserved
24 NEC DOS 3.x
26 Reserved
31 Reserved
33 Reserved
34 Reserved
35 JFS (supported by OS/2 Server for e-business)
36 Reserved
38 THEOS ver 3.2 2gb partition
39 THEOS ver 4 spanned partition
3a THEOS ver 4 4gb partition
3b THEOS ver 4 extended partition
3c PartitionMagic recovery partition
40 VENIX 80286
41 LINUX/MINIX (sharing disk with DRDOS), or Personal RISC Boot,
or PPC PReP (Power PC Reference Platform) Boot
42 LINUX swap (sharing disk with DRDOS),or SFS (Secure Filesystem)
43 LINUX native (sharing disk with DRDOS)
4d QNX4.x
4e QNX4.x 2nd part
4f QNX4.x 3rd part, or Oberon partition
50 OnTrack Disk Manager (older versions) RO
51 OnTrack Disk Manager RW (DM6 Aux1), or NOVELL
52 CP/M, or MICROPORT SysV/AT
53 Disk Manager 6.0 Aux3
54 Disk Manager 6.0 Dynamic Drive Overlay
55 EZ-Drive
56 Golden Bow VFeature Partitioned Volume.
5c Priam EDisk
61 SPEEDSTOR
63 UNIX System V (SCO, ISC Unix, UnixWare, ...), Mach, GNU Hurd
64 PC-ARMOUR protected partition, or NOVELL Netware 2.xx
65 NOVELL Netware 3.xx or 4.xx
67 NOVELL
68 NOVELL
69 NOVELL
70 DiskSecure Multi-Boot
71 Reserved
73 Reserved
74 Reserved
75 IBM PC/IX
76 Reserved
80 MINIX until 1.4a
81 LINUX/MINIX since 1.4b, or MITAC disk Manager
82 LINUX SWAP or SOLARIS UFS, or PRIME
83 LINUX or NT Stripe and Mirror Set
84 OS/2 hidden C: drive, OS/2-renumbered type 04 partition.
or Hibernation partition
85 LINUX extended partition
86 NTFS volume set
87 NTFS volume set
93 Amoeba
94 Amoeba bad block table
99 DCE376 logical drive
A0 IBM Thinkpad hibernation partition, or Phoenix NoteBIOS
Power Management "Save-to-Disk" partition
A1 Reserved. Also used as "Save-to-Disk" on a NEC 6000H
A3 Reserved
A4 Reserved
A5 BSD/386, 386BSD, NetBSD, FreeBSD
A6 OpenBSD
A7 NEXTSTEP
AA Olivetti Fat 12 1.44Mb Service Partition
A9 NetBSD
B1 Reserved
B3 Reserved
B4 Reserved
B6 Reserved
B7 BSDI filesystem
B8 BSDI swap partition
C0 CTOS
C1 DRDOS/secured (FAT-12)
C4 DRDOS/secured (FAT-16, < 32M)
C6 DRDOS/secured (FAT-16, >= 32M), or Windows NT corrupted
FAT16 volume/stripe set
C7 Windows NT corrupted NTFS volume/stripe set, or SYRINX boot
D8 CP/M-86
DB Digital Research CP/M, Concurrent CP/M, Concurrent DOS or
CTOS (Convergent Technologies OS -Unisys)
E1 DOS access or SpeedStor 12-bit FAT extended partition
E3 DOS R/O or SpeedStor
E4 SpeedStor 16-bit FAT extended partition < 1024 cyl.
E5 Reserved
E6 Reserved
EB BeOS Filesystem
F1 SpeedStor
F2 DOS 3.3+ secondary partition
F3 Reserved
F4 SpeedStor large partition
F6 Reserved
FF BBT, Xenix Bad Block Table
FE PS2S PS/2 IML System Partition, or SpeedStor > 1024 cyl., or LANstep

ATTENTION: If you install different OS (e.g. Solaris and Linux, or OS/2 and NT) you can run into serious troubles whenever the id's aren't unique.

Together with a disk-tool like e.g. the FREE DFSEE by Jan van Wijk, the fdisk out of LINUX, or the Norton Diskdoctor for Dos and naturally the Gammatech and the Graham utilies (both for OS/2) there are many useful options for recovering and not so useful for DESTROYING a partition table. So be careful whenever editing a partition table. It is wise to get accommodated with these tools JUST BEFORE an accident happens, cause when something went wrong you're to much excited.

RECOVER
[Table of contents] [Index] [INTRODUCTION]

In OS/2 Warp, IBM provides an archive feature which can be activated whenever you need it. It will save ON THE NEXT SYSTEM BOOT, a copy of all the necessary system files to restore to a previous configuration.

To recall a saved configuration, press "ALT-F1" when you see "OS/2" in the very upper left hand corner of your boot-screen screen. On fast computers it is not visible for long, so pay attention.

A blue screen will appear with a list of choices, and instructions, at the bottom of which will be listed the various archives available. Select the appropriate archive, and the system will be restored to this configuration.

For managing your archives there is the FREE tool warco13.zip, developed by Stefan Milcke (Stefan.Milcke@t-online.de)

CREATING A SYSTEM CONFIGURATION ARCHIVE

Click on an empty area of your desktop
Click on "Properties"
Click on "Archive"
Click on "create archive on...."
Edit the location if you desire
Close the properties window
Perform a normal shutdown

During the boot process you should see a small status window confirming the archive is being created.

The system will create an archive on EVERY boot, which will slow the boot process down, and create new archives. I normally only create an archive when I have made changes to my system and after the boot disable archive creation. Also the total number of archives is limited to 5, then OS2 will overwrite the oldest archive.

With this feature activated, you can simply press Alt+F1 at boot and be presented with a menu which will allow you to boot with an alternate (backup) config.sys file. See your user documentation for details.

REMOVING AUTOSTARTS
[Table of contents] [Index] [INTRODUCTION]

There is a clean way of removing the IBM Registration program from your system (unless you admire dancing elephants).

Open folder "OS/2 SYSTEM" on your desktop
Open "DRIVES"
Open "Drive C"
Open "OS/2"
Open "Install"
Open "Installed Features"
Open "Installed Object - Inventory"

Click the checkbox next to "art"
Click on "uninstall"
Click "art" in the next box that opens
Click on "uninstall"

This will totally uninstall the "art" directory and all components relating to registration.
Some applications (like Staroffice, Smartsuite, Amipro) install some 'reminders' or 'speeders' in the autostart-folder remove or delete them, they are normally not needed.

SELECTIVE BOOT
[Table of contents] [Index] [INTRODUCTION]

The ALTF1 boot process begins by displaying a selection screen which is constructed from three files to be found in x:\OS2\BOOT

ALTF1TOP.SCR

RECOVERY CHOICES

Select the system configuration file to be used, or enter the option
corresponding to the archive desired.

ESC - Continue the boot process using \CONFIG.SYS without changes
F2 - Go to command line, (no files replaced, use original CONFIG.SYS)
F3 - Reset primary video display to VGA and reboot
F4 - Restart the system from the Maintenance Desktop (Selective Install)
F5 - Enable full hardware detection
F6 - Disable hardware detection

Choosing an archive from the list below replaces your current CONFIG.SYS,
Desktop directory, and INI files with older versions. These older versions
might be different from your current files. Your current files are saved in
\OS2\ARCHIVES\CURRENT.

ALTF1MID.SCR

1) Archive created 5-6-1999 7:09:58AM
0) Original archive from INSTALL created 5-5-1999 8:03:16AM

ALTF1BOT.SCR


<<=NOTE=>> ALTF1BOT.SCR contains a blank line to overwrite any screen image occupying the last line of the screen

These files are text files, you can edit them, but remember that the text must fit within the origional number of lines. Otherwise the image will be more than the 25 line screen size and cause scrolling

STEP 1

MAKE BACKUPS OF ALL FILES TO BE MODIFIED

According to IBM the following characters are reserved and cannot be used as selections in your menu:

Warp3 C M V X 1 2 3
Warp4 C M V X 1 2 3 4 5

Decide what you need and modify ALTF1TOP.SCR (18 Lines, including 1 empty line at top) to suite your needs, as an example


next line is line 1 -------vvvvvvvv-------

ACME CORP SYSTEM RECOVERY CHOICES

Select one of the following

ESC - Continue the boot process using \CONFIG.SYS without changes
F3 - Reset primary video display to VGA and reboot
F5 - Enable full hardware detection
F6 - Disable hardware detection
D - Enable DOS/Windoze
P - Pure OS/2 (no DOS/Windoze support)
N - DISABLE Network

CAUTION choosing an archive from the list below reconfigures your entire system, think before you act.... or press ESC

Your current files are saved in \OS2\ARCHIVES\CURRENT.

line above is line 18 -----^^^^^^^^----------

STEP 2

When a selection is made ALTF1.CMD is called with the keystroke passed as a parameter. Edit this file to reflect your selection screen. Note x: refers to the boot drive

ALTF1.CMD

@ECHO OFF
REM
REM Make sure at least one parameter was passed
REM
IF @%1==@ goto end
REM
rem F3 passed a "V"
REM If a V or v is passed, call SETVGA
REM
IF V==%1 GOTO setvga
IF v==%1 GOTO setvga
REM
rem F4 passed an "M"
REM If an M or m is passed, call SETVGA
REM
IF M==%1 GOTO setvga
IF m==%1 GOTO setvg a
REM
REM Check our modified selections
REM

rem new lines added here vvvvvv

IF D==%1 GOTO setd
IF d==%1 GOTO setd
IF P==%1 GOTO setp
IF p==%1 GOTO setp
IF N==%1 GOTO setn
IF n==%1 GOTO setn
GOTO skip

:setd
REM
REM Set up DOS/WINDOZE
REM
copy x:\os2\boot\config.d x:\config.sys

GOTO end

:setp
REM
REM Set up pure OS/2
REM
copy x:\os2\boot\config.p x:\config.sys

GOTO end

:setn
REM
REM Disable Network
REM
copy x:\os2\boot\config.n x:\config.sys

GOTO end

:skip
rem original lines begin here vvvvvvvv

arcrecov %1

GOTO end

:setvga
setvga

:end


STEP 3

Create corresponding config(x).sys files in the x:\OS2\BOOT directory for the command file to be able to copy

STAROFFICE HTML ASSOCIATION
[Table of contents] [Index] [INTRODUCTION]

Delete the StarWriterHtmlFile Class.

You can do this either by using the FREE VClassed by Dabiele Vistalli (dvistalli@tin.it), or by using this REXX-Script by Winifried Tilanus.

/* DELCLASS.CMD This REXXprogram destroys classes */
Call RxFuncAdd 'SysLoadFuncs', 'RexxUtil', 'SysLoadFuncs'
Call SysLoadFuncs
class = "StarWriterHtmlFile"

rc = SysDeregisterObjectClass (class)
if rc = 1 then
do
say "Class "class" destroyed OK"
end
else
do
say "Class "class" destroy failed"
end

SWAPPER.DAT
[Table of contents] [Index] [INTRODUCTION]

by Britton Turnbull

OS/2 is a mature environment that has improved over time. It has now reached a stage where internally the system will dynamically optimise itself.

OS/2 uses a disk file named SWAPPER.DAT to store software when the real RAM is insufficient. This is called VIRTUAL memory, as the swapper.dat file looks like ram, but is not.

So when you load an application and you have insufficient memory, OS/2 will copy memory contents to the swapper file, and then use the real ram for the new program to operate in.

You would expect OS/2 to then copy the old memory contents back into memory when you close the application, but OS/2 is intelligent enough to realise that this may not be necessary. It will load data
from the swapper file, when YOU the user select an application that resides in the swapper file.

Typically software modules that are dormant are moved to the swapper file, and active modules are retained in real RAM.

This means that if you start your working day in a word process and spreadsheet environment, with little contact to the ouside world, OS/2 will adjust to this environment. Then if you start to access a
Network or the Internet, OS/2 will bring necessary modules into real RAM, and religate dormant software to the swapper file.

You will always have a responsive system with few pauses as in other environments. The only noticable activity is when you activate a dormant application, then the disk will be active for a few seconds.

If you find that the way you are using your computer triggers a large amount of drive activity, consider adding more RAM, or change your ways.

SWAPPER OPTIMISATION


1) swapper size

On system boot the swapper.dat file is initialised, so a contiguous block of hard drive space will be created, but only as large as you have specified. So if your size is small you will experience swapper fragmentation as it is used

Your swap file will grow (in 1MB increments), but it also shrinks when one of two conditions are met.

a) when the amount of free space in the swap file is greater than 1.5MB, the swap file will be compressed during system idle time. (It will not shrink if there is a constant "hit" on the drive by
a program such as a swap file monitor.)

b) during the compression of new entries, free space is moved to the end of the swap file. When this free space at the end of the swap file exceeds 1MB, the swap file will be shrunk.

OS/2 tries to maintain the file size the same as specified in config.sys by moving free space to the end of file, and then re-sizing. So if you specify a small file size, this mechanism will consume
valuble CPU time. The usual way to determine YOUR swapper size is to simply use your computer as normal and occasionally check the size of swapper.dat. Then set this value (plus a couple of meg) as your start-up size.

2) swapper location

a) Consider dedicating a separate partition for the swap file. This helps avoid fragmentation of the swap file, because other files will not be added or deleted from the dedicated partition.

b) If you have both FAT and HPFS partitions, put the swap file on the HPFS partition to take advantage of the better performance of HPFS, and less fragmentation

c) If you have a system with two hard disk controllers, put the swap file on a disk managed by the LEAST used controller.

d) Keep your swap file on the MOST used partition of the LEAST used hard drive.

<<=Warning=>> NEVER put your swap file on a networked drive.

SYNATTACK
[Table of contents] [Index] [INTRODUCTION]

Here is a tip from IBM's TCP/IP document site

For TCP/IP 4.0 - apply the latest MPTS/TCP/IP update.
This will give you a new program -SYNDEF.EXE.

This works as follows:
SYNDEF.EXE ON (enables SYN defenses)
SYNDEF.EXE OFF (disables SYN defenses)
SYNDEF.EXE -? (displays SYNDEF syntax)

For TCP/IP 4.x - The ability to protect against this type of attack is built in to TCP/IP 4.x. To enable this protection:

1. To GET the current status of the SYNATTACK parameter in the INETCFG.INI file,
go to an OS/2 command line and type:

INETCFG -G SYNATTACK, then press Enter.

2. By default, SYNATTACK is set to 0, which means OFF.

3. To SET the SYNATTACK parameter in the INETCFG.INI file to an ON state, (1),
type the following at an OS/2 command line:

INETCFG -S SYNATTACK 1

4. This new setting in TCP/IP 4.x will now prevent the SYNATTACK from occurring.

THE DB2 FAQ
[Table of contents] [Index] [INTRODUCTION]

| Mostly Harmless - The Hitchikers Guide for the IBM DB2 UDB |
+--------------------------------------------------------------+

The simple DB2 FAQ v0.09 28.09.00 hohmann@harddiskcafe.de

I can give only the warranty, that this document is full of
spelling bugs and wastes space on your various media.

Contributions, errata, additions, bug & spelling-fixes, reports
of broken links are welcome. If your contribution is not listed
in the next issue w/o notice, please resend your suggestion to me.

The current and previous versions of this FAQ can be found here:
http://www.harddiskcafe.de/db2faq/index.phpl

================================================================
Changes (+ new - removed * changed):
to do -> + typical memory consumptions DB2JD, TCP/IP close connection...
+ faq-header according to guidelines found in
http://www.faqs.org/faqs/news-answers/guidelines/index.srcl
+ additions in the header
+ additions in the contributions
================================================================
Chapters:
1. Preface
2. Related Links
3. Installation, starting and stopping DB2, using the tools
4. Common Problems & Questions (nearly unsorted)
5. Backup & Restore
6. Troubles with Java
7. Fixpacks
8. To Do

Appendix
A. Some remarkable Numbers
X. Contributions
================================================================
Chapter 1. PREFACE
------
Common prerequisites, settings & sites to make the life easier:
I. OS/2
1) a good source for files. Try hobbes.nmsu.edu or
ftp.leo.org
2) a port scanner. A good one is available from Ralf
Christen at http://www.horgen.net/rem/software/
3) Theseus 3 (a Memory Analysis Program) available at
ftp.software.ibm.com/ps/products/os2/fixes/v4warp/theseus3
4) "set sckillfeatureenabled=1" in your config.sys so you
can watch & kill most Processes with ctrl + left Mouse
Button on the Windowlist of the Warpcenter (the 2nd Icon
from the Left)
II. Windows
III. Linux
There is a "DB2 V7.1 for Linux Installation HOWTO" at
http://www.linuxdoc.org/HOWTO/DB2-HOWTO/index.srcl, which
describes how to install DB2 on the most common distributions and
tells you how to get the Control Center running.
IV. OS/390
-----
Homepage of DB2
http://www-4.ibm.com/software/data/db2/
-----
Support
On the web
The DB2 Technical Library (Manuals etc...) is here:
http://www-4.ibm.com/software/data/db2/library/

Other searchable help is here:
http://www-4.ibm.com/cgi-bin/db2www/data/db2/udb/winos2unix/support/index.d2w/report

Fixpacks
The DB2 fixpacks are here:
ftp://ftp.software.ibm.com/ps/products/db2/fixes
(there are also so called 'interim fixpacks' which fixes some
errors in advance to the next 'big' fixpack. See 'can i mix
different language versions ?')

Development
The DB2 Application Development website can be found here:
http://www.ibm.com/software/data/db2/udb/ad
It contains updated information on appliation development
issues (for example, documented the compiler settings for all
supported platforms, document the JDBC methods and features
that are not supported by the DB2 JDBC drivers, etc.)

Newsgroups
news://comp.databases.ibm-db2
Some of the developers and supporters from IBM around the world are here.

Per voice
Ask your local sales representative (never try 'hello ibm' or
other efforts of IBM to centralise incoming calls).

HINT: IBM is a very, very large and very decentralised company.
So it's difficult to get somebody on the phone who can really
help. On the other side: DB2 is expensive so IBM is interested
to sell. If you're asking very (I mean VERY) polite you'll get
masses of phone numbers and email addresses in and around the
IBM world. Do not misuse but cultivate your connections - so
you can get a lot of help even in the pre-sales phase.
-----
Obtaining a legal copy of DB2
Direct download of the Developer Editions
http://www-4.ibm.com/software/data/db2/udb/downloads.srcl#download
It contains a single-user, full-function UDB licensed for
evaluation, demonstrating and development of application
programs (but NOT for a production environment).

Ordering an evaluation copy on CD
http://www-4.ibm.com/software/data/db2/udb/downloads.srcl#cd
Order a 90 day evaluation copy of the Enterprise Edition.
Hint: if you installed this evaluation copy, went to holidays,
broke your legs and are now returning to your workstation
again after 90 days, try to delete DB2SYSLT in \SQLLIB.

Ordering with massive developer rebates:
Try to obtain a commercial membership in the developer
program of IBM. Its located at http://www.developer.ibm.com
You should have a good reason (e.g. a software under
development which uses some of the bigger tools of IBM)
before knocking on the registration door.
Hint: Although not clearly pointed out on the website
you can also mention planned software or future projects
of your company (if you are a standalone developer,
you're company and member in one person). If your request
for commercial membership is denied, try again with larger
projects of your company. Microsoft can produce vapourware,
why not you? When you got your ID and password,try
http://www.developer.ibm.com/welcome/softmall.srcl and
be surprised. Due to the fact, that you're reading this
FAQ you're fully qualified to be a developer and using the
Developer Editions.
Make a deal with your local sales representative
Torture your IBM Sales Office. Novell & Oracle are
selling a Netware 5.1 + Oracle 8i Bundle with 5 Users
for about 2.500 EURO.
IBM supports startup companies, ask for a very good price.
Rent a bazaar proven trader
If you cannot haggle, look for somebody who can :-)
-----
Which flavour of DB2 do I need for my Business?
There are basically 4 Versions of DB2 (as far as I understand):
1) Personal Edition - good for notebooks. one user, very small
2) Workgroup Edition - You pay per processor and per user.
3) Enterprise Edition - You pay per processor, can connect
to mainframes, no user limitations.
4) Enterprise Extended Edition (EEE) - (Don't know what the
licensing is like)
The other versions are only different in licensing. For example, there
is a special "Internet Edition" of the Workgroup Edition with one user but
unlimited connections. Ask your local IBM sales office.
-----

================================================================
Chapter 2. RELATED LINKS
IBM Download Page (Visual Age for Java, WebSphere, Drivers...)
http://www3.software.ibm.com/download/

The DB2 Magazine
http://www.db2mag.com/

Latest News from the Personal Systems
http://ps.software.ibm.com/pbin-usa-ps/getobj.pl?/pdocs-usa/fixnews.srcl

Product suggestion OS/2:
http://www2.software.ibm.com/os/warp/webreqs.nsf/page1?OpenForm

DB2 UDB Cookbooks by Graeme Birchall
PDF-Files with over 550 sample SQL statements, hints & tricks.
http://ourworld.compuserve.com/homepages/Graeme_Birchall/HTM_COOK.src

------

================================================================
Chapter 3. INSTALLATION, STARTING AND STOPPING DB2, USING THE TOOLS

-----

When starting the Command Centre (DB2CC) or playing around with
Java I get the Error "CLI0616E Error opening socket. SQLSTATE 08S01"

1) The DB2 java demon process is not running on the server
or it is running on an unexpected port. Normally DB2JD is
running on port 6790 but sometimes it starts on port 6789
or somewhere.

a) make sure that DB2JD is running (if not, try DB2JSTRT
in \SQLLIB\BIN
b) start a port scanner and scan your server from port
6700 to 6800.
c) You can either give a port number on the command line
(DB2JSTRT 1234) or set an environment variable
"DB2JD_PORT_NUMBER=1234" to use another port.

If your demon is not listening on port 6790 you must
either kill & restart it on the right port or change
the startup scripts DB2CC[.bat/.cmd] and DB2IC[.bat/.cmd]
to reflect the current port.

2) Your local TCP/IP configuration is not 100% perfect.
YES, you can use the WWW, news and E-Mail with a
not-so-perfect TCP/IP installation but fail with
DB2 because the whole communication relies on some
prerequisites in your intranet (and your Workstation
is an intranet). You've some virtual devices on your
computer. LAN0 for example is your network card,
SLIP/PPP are devices to send TCP/IP data over a modem
or ISDN and LO is your local interface which is normally
assigned to the IP 127.0.0.1. It's NOT enough that you
can 'ping' 127.0.0.1, your LO device must be UP. You
can check this with 'ifconfig lo' (at least under OS/2
and most *NIX boxes) if its up. It should be flagged
"UP, LOOPBACK, MULTICAST" on address 127.0.0.1. If not,
try 'ifconfig lo 127.0.0.1 up' and check, if something
like this is in your \mptn\bin\startup.cmd (at least
under OS/2). Your HOSTS file in %ETC% (OS/2: \MPTN\ETC)
should contain a line like "127.0.0.1 localhost" (without
the quotes). After this operation you should connect to
your local copy of DB2 via TCP/IP.

3) Your external TCP/IP configuration is not 100% perfect.
Same as above. If you have no need to give your workstation
a unique name, you should set your hostname to "127.0.0.1".
If you have several workstations in your network, you
should setup an intranet. There are some reserved holes
in the IP address space for private use. You can use
192.168.1.0 to 192.168.255.255 or 10.0.0.1 to 10.0.255.255
for your private network. It's a good idea to install a
DNS in your network, but planning and installing your
intranet is beyond the scope of this document.

4) Use SNIFFLE /P (/P in Uppercase) to determine problems

5) If the advanced client tools are installed, you should
take a look on PCTI.EXE, PCTN.EXE & PCTT.EXE in
\SQLLIB\BIN (try /? as Parameter). These tools can
act as a client/server tandem to check the communication.

-----

I'd tried all above, my Java GUI is still not running :-(
Sounds like you might have a JDK/JRE above 1.1.8, which is
incompatible with DB2 UDB V6.1's Java GUI tools. Your
choices are to download and install at least V6.1 fixpack 4
(APAR JR144790) or to remove your JDK/JRE and reinstall UDB
(which will install the java 1.1.8 level).

-----

When DB2 starts sometimes you will receive a message that
"SQL5043N one of the communications protocols failed to start but
base functionality is still available".
This message can be caused by the settings for the NETBIOS
NCBs, SESSIONS and NETBIOS names available for DB2 to access.
You can either increase the values for these resources for
an adapter in MPTS or you can decrease the number of these
resources used by the local LAN Requester by modifying the
"NET" line in the IBMLAN.INI file.

This only applies if you have chosen NETBIOS as one of the
communications protocols for DB2 to use.

-----

After DB2 has started i find an entry like "SPM0438 DB2
Syncpoint Manager recovery log is bad" in my DB2DIAG.LOG
The DB2 Syncpoint Manager recovry log is inconsistent
due to indoubt transactions.
To get rid of this message, find all SPM*.LOG files and
remove them (AIX has a directory named 'SPMLOG' under
\SQLLIB). If you do not need the Syncpoint Manager you
can stop him by "DB UPDATE DBM CFG USING SPM_NAME NULL".
For details search for SPM0438 in the techlib.

-----

DB2STOP fails
In most cases there are still users connected or applications
running. You can verify this by "DB2 LIST APPLICATIONS".
If you're sure that all remaining applications are dead
or unused (very common during development) you can perform
a "DB2 FORCE APPLICATIONS ALL" and then "DB2STOP" or simply
"DB2STOP FORCE" which does the same thing.

But take care: DB2 FORCE APPLICATIONS ALL and DB2STOP FORCE
does not free all allocated ressources in DB2JD and DB2SYSC !

-----

I have trouble installing DB2 for NT, creating an instance,
and or logging on.

DB2 Version 5 and 6 installation requires userID's of 8
characters or less with Administrator authority. The default
NT userID (Administrator) has too many characters. Create an
userID with administrator authority that has 8 or less
characters.

-----

How to stop DB2 when re-installing on NT ?

When running SETUP, I get a "DB2 is currently running and
therefore can not be updated. Please stop all DB2 processes
and/or services and try again." but I've done all of this.
I've changed my system so that no DB2 services start and there
are no DB2 related processes running on my system.

Remember to do a db2admin stop. If you still have this problem,
the usual culprit is Tivoli (TME), or other Systemview-related
products.

Look through the list of running services from the Control Panel
and stop anything called TME, Tivoli, Systemview, or NetFinity.

Other potential executables that you may want to stop from
the task manager:

- HTTPDL.exe (the mini-webserver for the HTML versions of the
DB2 Doc's)
- ntvdm.exe (NetView)
- anything to do with Net.Question

-----

I cannot enter SQL and DB2 commands from a system command prompt
on NT or Windows. I get an error saying that the Command line
environment is not initialised.

You must issue DB2 commands and SQL from a DB2 Command window
or DB2 Command Line Processor (try entering DB2CMD from the
command prompt).

Some information about this: The DB2 command line processor
has a front-end process and a back-end process. On other
operating systems (OS/2, Unix) matching these two processes
is easy: if the parent process is killed, the child process
gets terminated too. On NT, the operating system does not do
this for us, so we cannot provide DB2 Command Line Processor
support in an ordinary operating system command prompt.

-----

I have installed the DB2 UDB client with tools to control remote
databases, e.g, Control Center. I can connect to my a DB2 UDB
server database. However, my authority to see things is curtailed.
When clicking on the database name, only three items are listed:
"Tables / Replication Sources / Replication Subscriptions"

When you are performing remote administration, running the
Control Center on a client against a DB2 server, and both
client and server are DB2 Universal Database Version,
manually cataloging the database node will not allow the
remote Control Center to fully manage the server: for example,
you could not issue remote backup against the server, and
database server objects viewed from the Control Center would
be limited to Tables and Replication.

Manually cataloging the database node includes cataloging
from the Command Center, the Command Line Processor, and
manual configuration from the Client Configuration Assistant.

To avoid this problem, you can configure the server from the
Client Configuration Assistant by searching the network, or
using a directed discover (where you supply the TCP/IP host
name of the server, or the NetBIOS NNAME of the Administration
Server at the database server).

To get the NetBIOS NNAME of the Administration Server, issue:
DB2 GET ADMIN CONFIGURATION

To find the hostname, type hostname at an operating system
prompt.

If you have already cataloged the database and node manually,
and your Control Center view of the database is restricted to
Tables and Replication, you can catalog the Database
Administration Server instance from the Control Center on the
client by:

a. Right-clicking on the workstation object (one level under
Systems: it might be the NNAME of the database server or
the hostname if TCP/IP is used)

b. Select 'Change'.
Under Protocol Parameters, enter the required connectivity
information for the "DB2 Administration Server" (DAS) and
click on "Retrieve". If you are using TCP/IP, the same host
name used for the database server is used for the DAS at
that workstation.

If you are using NetBIOS, the DAS will have its own NNAME
(which you can see by issuing "DB2 GET ADMIN CONFIGURATION"
at the server)

Make sure the operating system type is correct. Note, by
default if the operating system type is "unknown", it will
choose "Windows NT".

Click on "OK" when finished.


================================================================
Chapter 4. COMMON PROBLEMS & QUESTIONS

-----

Create an unique Row ID (autoincrement, identity ...)

In DB2 < V7:
1) Use "GENERATE_UNIQUE()":

ResultSet res = stmt.executeQuery("VALUES(GENERATE_UNIQUE())");
res.next();
String strUID = res.getString(1);

GENERATE_UNIQUE() creates a 26char wide key, which is unique
through your whole cluster and excellent to use it for an
object identifier.

2) Use a Trigger (if your counter-column is your primary
key it is a good idea to define it ass NOT NULL WITH DEFAULT.
The trigger will always overwrite the default value, but
this will allow rows to be inserted without a dummy value
for the column).

3) For a trigger that handle multi-row inserts:
Look in the samples section for the sample function called
"db2Udf". In it you will find a method call ctr.

Load the function as follows:

CREATE FUNCTION NULLID.COUNTER() RETURNS INT EXTERNAL NAME
'DB2Udf!ctr' LANGUAGE JAVA PARAMETER STYLE DB2GENERAL NO
SQL NOT DETERMINISTIC NOT FENCED SCRATCHPAD NO EXTERNAL
ACTION;

Then do your insert with a trigger of (this is one for a
ADDRESSES Table (adjust to fit)):

CREATE TRIGGER NULLID.ADDRESSAUTOINC NO CASCADE BEFORE
INSERT ON NULLID.ADDRESSES REFERENCING NEW AS n FOR EACH
ROW MODE DB2SQL BEGIN ATOMIC SET (n.ADDR_UID ) = (SELECT
value(MAX(ADDR_UID),0) +NULLID.COUNTER() FROM
NULLID.ADDRESSES); END

4) By using a scalar subquery expression which refers to
the highest given number in the table:

INSERT INTO Foobar (key_col, ...) VALUES
(COALESCE((SELECT MAX(key_col) FROM Foobar) +1, 0) ...);

In DB2 V7.1:

1) Create your table with (or change it into):

CREATE TABLE MYTABLE( MY_ID INT
GENERATED ALWAYS AS IDENTITY
START WITH 1
INCREMENT BY 1,
...
MY_DATA VARCHAR(10),
....)

2) Insert your data as usual.

3) Grab the last created value with "VALUES(IDENTITY_VAL_LOCAL())"
which should be "1" after the first insert in our example.

NOTE: If IDENTITY_VAL_LOCAL() returns NULL (-), you probably
have auto commit turned on. Use the command centre options
to turn it off or try the +c option in CLP. You can also create
before insert for each row triggers to generate a new key in
pre V7.1 versions. Use the scratchpad counter UDF in
sqllib\samples for multi row inserts. You can only have ONE
identity column per table.

-----

Retrieving only the first n-rows / Limit return from query:

SELECT ... FETCH FIRST n ROWS ONLY OPTIMIZE FOR n ROWS

-- OR --

FETCH FIRST ROWS can be also expressed like this:
"SELECT FROM (SELECT , ROWNUMBER()
OVER(ORDER BY ) as rn) AS ot WHERE rn <= "

-- OR --

SELECT col1, col2, col3 FROM TABLE_1 t1
WHERE 10 > (SELECT COUNT(*) from TABLE_1 t2
WHERE t1.col1 < t2.col1)

-----

Retrieving chunks or range of rows/data:
If you haven't a special counter-row to retrieve the results
in blocks (eg. for displaying the results on a website) you
can help yourself by fetching a block with the FETCH FIRST
clause and take the result as input to your next query.
This only works, when your 'key' contains no duplicates.

1) "SELECT MYNAME FROM ADDRESS WHERE MYNAME >'' ORDER BY MYNAME
FETCH FIRST 5 ROWS ONLY OPTIMIZE FOR 5 ROWS"
Result: 'aaaaaaaa'
2) "SELECT MYNAME FROM ADDRESS WHERE MYNAME > 'aaaaaaaa' ORDER BY MYNAME
FETCH FIRST 5 ROWS ONLY OPTIMIZE FOR 5 ROWS"
Result: 'ffffffff'

3) Go on until no more rows can be fetched

-- OR -- (DB2 v6 or later)

SELECT * FROM
(SELECT name, rownumber() over (order by name)
AS rn FROM address)
AS tr WHERE rn between 10 and 20

(The rownumber() function is documented in OLAP functions
[in the v7 SQL Reference] or in the release-notes for v6)

-----

Eliminating duplicates from a table
Imagine a table like this (some sort of article-history):

NUMBER NAME AMOUNT DATE
------ ------------ ------ ----------
1 DB2 5 1999-06-02
2 Via Voice 10 1999-07-11
1 DB2 8 2000-04-21
3 Lotus Notes 8 2000-03-03

Lets delete duplicate article-numbers while keeping the
newest entry now:

1) Create a view over the table (this is needed
because DELETE cannot range over a query):

CREATE VIEW tmp(rn) AS SELECT rownumber() OVER
(PARTITION BY product_number ORDER BY date DESC)
FROM inventory

2) Now delete the duplicates:

DELETE FROM tmp WHERE rn > 1;

3) Check the result:

SELECT * FROM inventory ORDER BY 1

NUMBER NAME AMOUNT DATE
------ ------------ ------ ----------
1 DB2 8 04/21/2000
2 Via Voice 10 07/11/1999
3 Lotus Notes 8 03/03/2000

3 record(s) selected.

-----
"Order by" in subqueries:
The standard does not support ORDER BY in subquery.
However SQL99 supports OLAP functions.
In DB2 V6 and higher:
INSERT INTO T1
(SELECT c1 FROM
(SELECT c1,
rownumber() over (order by c2) as rn
FROM T2) AS T2 WHERE rn <= 20);
-----
Migrating from Oracle:
NLV <=> COALESCE
DECODE <=> simple CASE expression
V7.1 supports simple SQL functions which can be used to map
functions and simplify migration.
CONNECT BY <=> recursive common table expression
(WITH rec() AS SELECT ... FROM root
UNION ALL
SELECT .. FROM rec, child WHERE
rec.child = child.key
SELECT * FROM rec;)

Sequences can often be simulated with dedicated tables
containing identity columns. Use stored procedures which
insert a row and retrieve the identity for nextval.
Caveat: Avoid updates and any indexes on the "sequence"
tables to avoid concurrency problems.

-----

Duplicating a Table
You can use an export/import combination with ixf file format,
or simply do

CREATE TABLE newTable LIKE oldTable
INSERT INTO newtable SELECT FROM oldTable

-----

Is there a replacement for Oracle's "TRUNCATE TABLE" ?
How can i delete the content of a Table fast ?
1) Create an empty file and run import in replace mode on
the table with it:
IMPORT FROM empty.del OF DEL REPLACE INTO YourTable
2) Do a LOAD REPLACE with an empty file
3) If you had created the table with the "NOT LOGGED INITIALLY"
option you can use it to 'truncate' your table as follows:
ALTER TABLE mytable ACTIVATE NOT LOGGED INITIALLY WITH EMPTY TABLE
(Please read up on the limitations for the NLI clause).

-----

How can i change the name / type of an existing column ?
If the table exists you can only add columns, change the
description of a column or change the length of a varchar-field.
There is now way to change the name or type of an existing column.
You can't even drop columns. The only way is export the definitions
of the table, rename the table, change the definition and recreate
the table again.

1) db2look -d MYDATABASE -t MYTABLE -a -e -l -x -o MYTABLE.SQL

2) Now edit MYTABLE.SQL to your needs

3) Rename the table (or drop it if there wasn't any useful
data in there)

4) Recreate the table with "DB2 -t -l MYTABLE.SQL"

5) INSERT into the new table by SELECTing from the old table.

-----

Getting the output of a select without headings:

1) Use the -x flag for db2 command line processor.
This is available in db2 v7.1 and greater

2) Use DB2BATCH to do similar stuff.
"db2batch -q on -s off -d -f "

================================================================

Chapter 5. BACKUP & RESTORE

-----

Can I back up a DB2 database on one operating system, like OS/2,
and restore this to DB2 on another operating system, like NT?

No. If you want to move a database from another operating
system to another, you must export each table from the source
database, and then import or LOAD each table into DB2 on the
new location. You can capture the DDL (CREATE and ALTER
statements) for the source database using the DB2LOOK tool
with the -e option.

You can automate the movement of data using the DB2MOVE tool,
which is shipped with UDB or can be found on:
ftp://ftp.software.ibm.com/ps/products/db2/tools/

(-> see "How can i change the name / type of an existing column"
for an example of DB2LOOK)

-----

What was it with "online backup, offline backup and the
logfiles" ?

Offlinebackups do not require the log files to restore the
database. Online backups require that you have the log files
available to restore the database and has a longer amount of
recovery time..

-----

I ran into error SQL200C "There is not enough available memory
available to run this utility when trying to restore from a
backup imaga

Try to increase DBHEAP size and UTIL_HEAP_SZ

-----

Using Microsoft NT I am not able to backup to a network drive,
or got an error message like "SYSTEM Does not have the authority
to perform this command"

Check the DB2 services under Services in Control Panel. Create
an NT account with the proper authority, you can usually use
whatever the server logs on with. Change the Startup values
from Log on as System account to This account and use the
account name you created. Change these on all services
associated with DB2. As far as we know no one has been able
to modify the rights for the SYSTEM account.

-----

================================================================

Chapter 6. TROUBLES WITH JAVA

-----

Where can i find the drivers ? Any hints and warnings ?
The java-drivers are in \SQLLIB\JAVA\DB2JAVA.ZIP. Don't extract
this file, just add it into your classpath or link it with the
-cp command of JRE (jre -cp \sqllib\java\db2java.zip ...) on
runtime.

BIG WARNING: the fixpacklevel of DB2JAVA.ZIP used on the client
and DB2JD.EXE (the java-daemon on the server) MUST match or
you'll get everything from strange behaviour to broken data.
So you cannot even use the control center from v6, fixpack #3
to control a database v6 with fixpack #4. When a Server or
Workstation gets a fixpack, so all others should updated too
to avoid trouble.

Unfortunately (in very rare situations) some files are NOT
updated when applying a fixpack. If your applications shows
more errors as before or you find unnormal entries in
JDBCERR.LOG you should check at least that DB2JD.EXE has the
same date/time as DB2JAVA.ZIP and both have the date/time of
the fixpack. If not, you have to extract them by hand from
the fixpack-distribution.

How to use the driver ?
Some words to the technique used by java.sql.*... The classes
in java.sql.* are mainly stubs and interfaces, it is the work
of the driver to fill them with life. A driver can be registered
to the java-drivermanager with the procedure described in the
documentation to java.sql.DriverManager or by hand in the code:

try {
Class.forName("COM.ibm.db2.jdbc.net.DB2Driver").newInstance();
} catch (IllegalAccessException e) {
} catch (InstantiationException e) {
} catch (ClassNotFoundException e) {
}

With this command the driver registers itself to the DriverManager
(you can register additional drivers for other databases too).
How does the DriverManager know, which driver is good for which
database ? The information is 'decoded' into the URL and the manager
simply sends the URL to all registered drivers. If nobody feels
responsible in charge of the URL, the answer will be the famous
"No suitable driver" response. So if you get this, you should better
look into the URL.

-----

How to connect to DB2 from Java ?
The magic URL is "jdbc:db2://hostname:port/database"
// simple connector. needs try/catchblock
String strHost = "192.168.2.32";
String strPort = "6790";
String strDatabase = "testdata";
String strUser = "someuser";
String strPwd = "somepassword";
String url = "jdbc:db2://" + strHost + ":" + strPort + "/" + strDatabase;
con = DriverManager.getConnection(url, strUser, strPwd);
// useful statements to do next
Statement stmt = con.createStatement();
con.setAutoCommit(false);
con.setTransactionIsolation(Connection.TRANSACTION_READ_UNCOMMITTED);
stmt.execute("set schema " + strSchema.trim());
con.commit();

-----

Any other common traps ?
Yes, a lot. DB2 is not a toy and the DB2JD-deamon is a harsh
mistress. A java-coder will think, that the close of a connection
will free all ressources allocated on the Server. But me
and others did the painful experience, that it doesn't (at
least under NT and OS/2). This leads to clogged memory and
other nasty side-effects on the server. My explanation is
speculative but it is (at least) good enough for a hypothesis
to work with and to build a workaround:

1) a ressource like a resultset or statement is allocated
2) the connection will be closed some times later
3) the java garbage collection will call .finalize() in the
resultsets / statements which tries to send a close-request
to the DB2JD. But this is impossible because the connection
is already closed - the ressorces on the server were not
de-allocated.

The proposed 'workaround' is simply to close the ressources by
hand. The garbage collection should do this for you in the order
'last created - first finalized' but this needs at least a call
to 'Runtime.runFinalizersOnExit(true)' before 'Sytem.exit(0)'
because "by default, finalization on exit is disabled" (from
the documentation of this method). And even this attempt is
not problem-free because a lot of JVMs have trouble with the
finalisation on exit.

WINDOWS 2000
[Table of contents] [Index] [INTRODUCTION]

Since Release Candidate 3 Windows 2000 destroys the OS/2 Bootmanager everytime it is booted, the use of Windows 2000 together with OS/2 is in general no good idea.

One solution could be to toggle with an diskeditor (e.g. from the Gammatech Utilities) a byte in the first sector of the Bootmanager Partition OFFSET 0Eh (decimal 14), from 0x01 to 0x2d. This reserves an greater amount of reserved Sectors, so Windows 2000 changes only unassigned Sectors not needed by the Bootmanager. DFSee 3.32 available at http://www.fsys.demon.nl can do this for your without the need to poke around with an diskeditor.

Or call the Microsoft Support and ask for the Hotfix Q265003, it will be included in Servicepak 2 for Windows 2000.


Or use this tip from - Daniela Engert from VOICE 8/2000

"Maybe you are interested in patching FP13 FDISK so that it writes out a modified BootManager which will not be affected by Win2K":

For FP13 FDISK use this script file (the Bootmanager sector image is at file offset 13404h)

--- FDISK.PAT ------
FILE FDISK.COM
VER 13411 04
CHA 13411 00
VER 13412 01
CHA 13412 20
VER 13414 02
CHA 13414 00
VER 13416 02
CHA 13416 00
VER 1341A 0C
CHA 1341A 00
VER 1343A 46415420202020
CHA 1343A 424F4F544D4752

--- FDISK.PAT ------

and run "PATCH FDISK.PAT /A" from the x:\OS2 directory. Then run FDISK and recreate the Bootmanager. Other FDISK versions may have the sector image at another offset.

WINDOWS NT4.0
[Table of contents] [Index] [INTRODUCTION]

<<=NOTE=>> OS/2 recognizes NTFS formatted drives falsly as HPFS, as NT recognizes EXT2FS falsly when the fault-tolerance options are used, as Linux recognizes the Solaris UFS falsly as swap
partition ...

Using the FREE EXT2FS necassary for Linux the NTFS partition can be hidden by inserting
BASEDEV=EXT2FLT.FLT

E.g. if you have one disk, the OS/2 Bootmanager installed and NT is on the first partition the correct options are BASEDEV=EXT2FLT.FLT /A /W /M 1

<<=TIP=>> Windows NT 4.0 can use HPFS-Partitions if you have the pinball.sys out of NT 3.51 and the utility hpfs_nt4.zip by Chris Behnken, available at http://www.htc.net/~nbehnken.
ATTENTION pinball.sys can only operate with disks or partitions up to 4GByte.

<<=TIP=>> There is also an ALPHA NTFS.IFS by Daniel Steiner, available at http://npw.cgnet.de/dsteiner and a newer vfat.ifs with NTFS read-support. But as some users reported problems be very careful when using it. The best would be to make a complete backup of your
installation.


 
Обучение новичков

Отчет: OS/2 совместимое оборудование

 
Статьи


   
  Почему eComStation?
Возможности
Особенности
Применение
Ролики и скриншоты
   eComStation для
для бизнесменов
для студентов и инженеров
для продавцов компьютеров
сообщество пользователей
   Разработчик
Распространить программу
Описание API, библиотеки
Начать новый проект
Конкурсы
   Программы
Он-лайн каталог
Выбрать через eCo Market
   Служба поддержки
Отправить вопрос
Купить eComStation
Вопросы и ответы
Обучение новичков
 
 
© 2001 - 2021 eCo Software, All rights reserved
Сибирский Медведь технологическая компания
eComStation Serenity Systems International • OS/2 Warp IBM Corporation • ArcaOS Arca Noae