bootAble

Hayo Baan
version 4.2.3 28/11/2005

Contents

1. Introduction
2. Highlights
3. Installation
3.1 BootAble files
3.2 Other files and applications
4. Syntax
5. Using bootAble
6. Debugging
6.1 Test runs
6.2 Errors generated by the script
6.3 Check config.sys file
7. Contact information
8. Thanks
Known Problems/Limitations
Version History

1. Introduction

BootAble is an OS/2/eCS script to create a maintenance partition or a bootable CD. This partition/CD supports enough facilities to fully manage and recover your system.
Personally I use it on the CD-RWs I burn my system backups to. Recovering/reinstalling my system just takes booting-off this CD, optionally managing and formatting volumes and unzipping the backup-zip files that are also on the CD.

2. Highlights

A few highlights of the script:

Default settings for file system and driver support are mostly retrieved from the current system (in case of SCSI, you will need to tell bootAble the drivers to use). Adapting these defaults is done by creating a configuration file with the necessary settings.

3. Installation

The simplest way to install bootAble is is to copy all files from the bootAble archive to directory on the PATH or a specific directory (if you use a specific directory, just make sure you run bootAble from that location).
To locate files, bootAble first looks at the specified location (or current directory if no path is given), if the specified file is not found, bootAble searches the paths as specified in the SEARCHPATH setting. By default the SEARCHPATH is made up of \os2\boot on the boot drive, followed by the LIBPATH, PATH, DPATH, HELP, BOOKSHELF, \psfonts, and \psfonts\pfm on the boot drive. Note: When specifying files with wildcards, the SEARCHPATH is not searched.

3.1. bootAble Files

3.1.1 Main Files
bootAble.cmd The script to create a bootAble CD or maintenance partition PATH
bootAble.ico Icon file
-
bootAble.cfg Defaults for configuration options/variables SEARCHPATH
bootAble.html These instructions -
bootAble.lvmgui.ico
Icon file for the "lvmgui" command
SEARCHPATH
bootAble.lvmrefresh.ico
Icon file for the "Refresh removable media" command SEARCHPATH
bootAble.Src System ini template (WPS) SEARCHPATH
bootAble.Urc User ini template (WPS) SEARCHPATH
3.1.2 Configuration Files
bootAble.4os2 Configuration file for adding the 4OS/2 command shell environment SEARCHPATH
bootAble.acrobat Configuration file for adding Acrobat Reader v3
SEARCHPATH
bootAble.arcview
Configuration file for adding the eCS archive viewer
SEARCHPATH
bootAble.ba2k
Configuration file for adding BackAgain/2000 (contributed by Doug Bissett) SEARCHPATH
bootAble.ba2kRC User ini settings for BackAgain/2000
SEARCHPATH
bootAble.dfsee
Configuration file for adding dfsee
SEARCHPATH
bootAble.dfseeRC
User ini settings for dfsee
SEARCHPATH
bootAble.doip
Configuration file for adding DOIP (contributed by Doug Bissett)
SEARCHPATH
bootAble.dragtext
Configuration file for adding DragText v3.8 (contributed by Rich Walsh)
SEARCHPATH
bootAble.dragtextRC User ini settings for DragText v3.8 (contributed by Rich Walsh) SEARCHPATH
bootAble.emxrt Configuration file for adding the EMX runtime (contributed by Christoph Brendes) SEARCHPATH
bootAble.extra
Configuration file for adding some extra OS/2 utilities SEARCHPATH
bootAble.firefox
Configuration file for adding Firefox (adaptations by Doug Bissett)
SEARCHPATH
bootAble.firewall
Configuration file for adding TCP/IP 4.1+ firewall support (contributed by Doug Bissett) SEARCHPATH
bootAble.injoy
Configuration file for adding Injoy (contributed by Rich Walsh & Doug Bissett) SEARCHPATH
bootAble.java131
Configuration file for adding Java131 support (contributed by Doug Bissett)
SEARCHPATH
bootAble.mozilla
Configuration file for adding Mozilla
SEARCHPATH
bootAble.norman Configuration file for adding Norman Anti Virus support (contributed by Doug Bissett) SEARCHPATH
bootAble.normanRC
User ini settings for Norman Anti Virus support
SEARCHPATH
bootAble.pmdll Configuration file for adding PMdll, a tool to report DLL dependencies of executables SEARCHPATH
bootAble.pmview Configuration file for adding PMView SEARCHPATH
bootAble.pmviewRC User ini settings for PMView
SEARCHPATH
bootAble.spf
Configuration file for adding SPF, a look-alike IBM mainframe editor (contibuted by Mario Guzman)
SEARCHPATH
bootAble.unimaint
Configuration file for adding unimaint (contributed by Mario Guzman)
SEARCHPATH
bootAble.usbres
Configuration file for adding the USB resource tool
SEARCHPATH
bootAble.wps Configuration file for adding WPS support SEARCHPATH
bootAble.xwp
Configuration file for adding XWorkplace support
SEARCHPATH
bootAble.wxpRC User ini settings for XWorkplace support SEARCHPATH
bootAble.xwp_<LANG>
Configuration files for XWorkplace NLS versions, currently German (DE) and Spanish (ES, partially) are provided
SEARCHPATH
3.1.3 Sample Configuration files Files
bootAble.maintenance Sample configuration file for creating a maintenance partition SEARCHPATH
bootAble.testCD Sample configuration file for testing the burning of a CD SEARCHPATH

3.2. Other files and applications

3.2.1 Required files
OS/2 Warp or eCS
The base OS and files.
Installed IBM/eComStation
3.2.2 Required files when creating bootAble CDs
CD Recorder Software Either cdrecord+mkisofs or RSJ can be used. Installed Hobbes/RSJ
3.2.3 Required file when creating bootAble CDs using the 'no floppy emulation' method
Veit Kannegieser's no floppy emulation boot When creating a no floppy emulation boot method, you'll need to have the base memdisk files.
Note: This version of bootAble has been tested with the 01/11/2005 release of the memdisk tool, currently to be found in the packages directory on Veit Kannegieser's homepage (arj archives) or on my website (zip files).
Note: Make sure all relevant subdirectories with the memdisk files are included on your searchpath.  For instance:
ADDTOSEARCHPATH='P:\UTILS\MemDisk\exe;P:\UTILS\MemDisk\boot;',
    'P:\UTILS\MemDisk\bin;P:\UTILS\MemDisk\bin\en;'
(assuming english messages).
SEARCHPATH
Veit Kannegieser/
zip-files
tar, loaddll, and untar
In case you enable unicode or hpfs386 support, or decide to add files to the boot image instead of the CD, you'll furthermore need the tar command and Veit Kannegieser's loaddll and untar. SEARCHPATH
Veit Kannegieser/
zip-files
Hobbes
3.2.4 Required file when creating bootAble CDs using the 'floppy emulation' method
Virtual floppy Either vfdisk or super virtual disk can be used. A virtual floppy disk of 2.88MB should be inserted. Installed Hobbes/BMT-Micro
daniboot.flt Required file for enabling CD-Boot. SEARCHPATH Hobbes
savedskf.exe Command to create a floppy-disk image file. SEARCHPATH Hobbes
3.2.5 Optional Files (device drivers)
daniatap.flt or daniatapi.flt
Enhanced ATAPI driver developed by Daniela Engert. SEARCHPATH Hobbes
danin512.flt or n512dasd.flt
Non-512 bytes/sector removable media support driver. Either Daniela Engert's or Alexander Terekhov's driver can be used. When both drivers are present, Daniela's is used. SEARCHPATH Hobbes
danis506.add
Enhanced IDE driver developed by Daniela Engert. SEARCHPATH Hobbes
ibmrscsi.flt
Removable SCSI devices geometry filter driver. SEARCHPATH eComStation
jjscdrom.dmd
Enhanced CDROM driver developed by Takayuki 'January June' Suwa. SEARCHPATH Hobbes
3.2.6 Optional Files (file systems)
FAT32
Fat32 files system driver developed by Henk Kelder (now further developed by OS/2 Netl@bs).
SEARCHPATH Hobbes/Netl@bs
HPFS386
HPFS386 file system driver (Warp server). SEARCHPATH IBM
NTFS NTFS file system driver (eCS 1.1)
SEARCHPATH eComStation
Ramdisk Ramdisk support files ramdisk.exe and ramdisk.ifs
(Required for a WPS enabled CD when not using the MEMDISK option).
SEARCHPATH Hobbes
3.2.7 Optional Files (programs and other files)
LXLITE Compresses files (.exe, .dll, .fon, etc.) before writing, thus saving extra space. SEARCHPATH Hobbes
Roman Stangl's CDBoot menu Adds a boot menu to a bootable CD.
Note: When using RSJ, make sure to specify explicitly where the cdboot command can be found with the CDBOOTMENUFILE option!
SEARCHPATH Hobbes
3.2.8 Optional Files (other files)
bos2rexx.exe Required file when adding REXX support to a command-line boot. This file can be found in the bootOS2 package. SEARCHPATH Hobbes
keyboard.dcp/viotbl.dcp Smaller keyboard.dcp and viotbl.dcp files to save extra space on the boot image, can be found on disk 2 of the WARP 4 installation disks.If you want to use these, simply copy them to a directory on the SEARCHPATH before the original (e.g., the current directory).  You'll need to rename vtbl850.dcp to viotbl.dcp as well. SEARCHPATH IBM
SIO2K Patch
Patch file for the problem where on reboot you get a trap in the UART or SIO driver when using the SIO2K driver. This patch simply prevents the trapping function to be called at reboot. This patch is provided with eCS 1.1. The author, Veit Kannegieser (thank you), has however made it available for everyone interested. A zip-file can be downloaded from my website (you only need the unbhsio.sys file from the archive).
SEARCHPATH eComStation/zip-file

4. Syntax

The command syntax is as follows:

bootAble [/v <verbose>] [<configuration file>|/@<configuration-list-file>...]

The optional arguments are the verbosity level and one or more configuration files. These configuration files are used to override the defaults as specified in the file bootAble.cfg. The special form /@configuration-list-file causes the content of the configuration list file to be used to list additional configuration files. E.g. if the file myCfg.lst contains the lines

bootAble.emxrt
bootAble.4os2
bootAble.extra

The command

bootAble /v 67 bootAble.myCfg /@myCfg.lst bootAble.wps

would have exactly the same result as

bootAble /v 67 bootAble.myCfg bootAble.emxrt bootAble.4os2 bootAble.extra bootAble.wps

Notes:

5. Using bootAble

After installing bootAble and its required files (see section 3, Installation), you are ready to use it.  Using bootAble is simple and basically comprises of only two steps:

  1. Determine which configuration files you are going to use (see section 3.1.2, Configuration files for a description of the provided configuration files);
  2. Run bootAble with the configuration files you require (see section 4, Syntax).
This is basically all there is to it, and depending on your configuration specifics, you should now have a working bootAble CD or maintenace partition! If you want to learn more about the various configuration options, please look through the various supplied configuration files, especially the default settings file bootAble.cfg. If things don't work out and the script generates errors, please have a look at section 6: Debugging for some debugging info and tips.

Notes:

6. Debugging

6.1 Test runs

As creating a bootAble CD (or maintenance partition) usually involves some trial and error, it is best you try things out before ruining your next CD-R with a useless installation. Of course, using a CD-RW already stops this waste, but I suggest to even go further and first make a few test runs on your harddisk. To do this, simply include (a modified version of) bootAble.testCD on the command-line. E.g., bootAble /v 67 bootAble.wps bootAble.myCfg bootAble.testCD.

6.2 Errors generated by the script

Allthough I have tried to make the script run perfectly in all situations, it is likely your first try of the script will fail with some error. To help find the cause, the script knows various debug levels (VERBOSE setting or /v command-line option). The following debug levels are currently supported:
Bit Value Generated Output
1 Progress messages
2 Files copied & Files parsed
4 Config file parsing
8
INI rc file parsing
64 Error output of external commands
128 All external command output
The debug level is specified as a bitmask, this means you have to add the various bitvalues to get the script to output a combination of debug information. A few examples:
For your first runs I suggest to set your debug level to 67 as this usually gives a good indication of the cause in case of error.
The bootAble script uses the REXX interpreter to process the various lines in the configuration files. This means that whenever there is a (syntax) error in a configuration file, bootAble will fail with a REXX error. Locating the source of this error, however, is not always a straight forward matter as relevant information is usually missing. To help debug these errors, specify debug level 4; this shows you all processed configuration file lines and this should give you the exact location of the error. As this generates lots of output, I suggest you do not specify this by default.
Note: the VERBOSE setting in a configuration file only becomes active after the corresponding configuration file has been read. Especially if you are having configuration file problems, it may be advisable to specify the verbosity level with the /v command-line option (e.g., bootAble /V 71 bootAble.wps bootAble.myCfg bootAble.testCD).

6.3 Check config.sys file

If all goes well and the script finished without any error messages, check the created config.sys file. The config,sys can be found on the boot image, which is created on your virtual drive. If, however, you are using the TWODISKBOOT option, the virtual drive will contain a the second boot image and does not contain your config.sys anymore. To still check the created file you can do two things: either use the COPYCONFIGSYS to place a copy of config.sys in the root of the CD (or in the directory where the CD is created), or use PAUSEBEFOREBOOTIMAGE to interrupt the creation process and make a manual copy of the file.
If you are not happy with the resulting config.sys, add/remove options in your bootAble.myCfg.
Once you have verified the correctness of the config.sys you are ready to create a real bootAble CDs (or maintenance partition) and test its working.

7. Contact information

Hayo Baan: mailto:hrbaan at xs4all.nl, http://www.xs4all.nl/~hrbaan
IBM: http://www.ibm.com
eComStation: http://www.ecomstation.com
RSJ: http://www.rsj.de
Hobbes: http://hobbes.nmsu.edu
BMT-Micro: http://www.bmtmicro.com

8. Thanks

Thanks go to Allan Dermody for providing CD_BOOT.FLT and the first insight into creating bootable CDs;
Thanks also go to Alfredo Fernández Díaz for providing lots of feedback and for writing an excellent article on how to create a bootable CD in OS2Voice, July 2000;
Thanks go to Veit Kannegieser for all his work, especially the no floppy boot support;
More thanks go to Daniela Engert for writing the DANI suite of device drivers and filters;
Many thanks go to Simon Wright who helped me get my DHCP and DDNS server up and running;
Thank you Doug Bissett and Rich Walsh for all your comments, suggestions, contributions, and beta testing.

Finally big thanks also go to all you people testing and commenting the script; because of you I kept working on it  ;-)


Known Problems/Limitations

Mozilla/Firefox

Mozilla and Firefox will probably not run in a system with less than 512MB internal memory unless you enable swapping to a harddisk (see MEMMAN and SWAPPATH settings).

BackAgain/2000

Recreating the catalog file with the GUI version of BackAgain/2000 (e.g., when restoring a backup) may give problems. To circumvent this, either have (a copy of) the original BA/2000 directory available, or make use of the BAIICR.EXE command-line utility (recommended method anyway).

Version History

v4.2.3 (28/11/2005)

v4.2 (09/10/2005)

v4.1 (18/08/2005)

v4.0 (08/05/2005)

v3.7 (20/03/2005)

v3.6 (02/01/2005)

v3.5 (02/11/2004)

v3.4 (11/10/2004)

v3.3 (05/06/2004)

v3.2 (27/03/2004)

v3.1a (10/03/2004)

v3.1 (09/03/2004)

v3.0a (23/02/2004)

v3.0 (22/02/2004)

v2.19 (25/01/2004)

v2.18 (23/12/2003)

v2.17a (21/12/2003)

v2.17 (19/12/2003)

v2.16 (09/07/2003)

v2.15 (16/03/2003)

v2.14 (12/01/2003)

v2.13 (15/11/2002)

v2.12 (20/10/2002)

v2.11 (30/09/2002)

v2.10 (29/09/2002)

v2.9 (24/09/2002)

v2.8 (23/09/2002)

v2.7 (22/09/2002)

v2.6 (17/09/2002)

v2.5 (13/09/2002)

v2.4 (04/09/2002)

v2.3 (02/09/2002)

v2.2 (01/09/2002)

v2.1 (01/09/2002)

v2.0 (01/09/2002)

v1.4 (23/08/2002)

v1.3 (22/08/2002)

v1.2 (20/08/2002)

v1.1 (21/02/2002)

v1.0 (16/02/2002)