bootAble
Contents
1. Introduction
2. Highlights
3. Installation
3.1 BootAble files
3.2 Other files and applications
4. Syntax
5. Creating a bootable CD
5.1 Using
mkisofs+cdrecord instead of RSJ
6. Creating a maintenance
partition
7. Debugging
7.1 Test runs
7.2 Errors generated by the
script
7.3 Check config.sys file
8. Contact information
9. Thanks
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:
- Can be used to create bootable CDs and maintenance partitions
(and thus can be seen as a replacement of bootOS2);
- Both floppy-emulation and no-floppy-emulation boot methods
supported;
- Easy configuration via configuration files (almost everything is
configurable);
- WPS (VGA and gengradd) or command-line boot;
- Support for FAT, FAT32, HPFS, HPFS386, NTFS, JFS, CDFS, UDF, and
LVM;
- Support for IDE, SCSI, USB, Mouse, Serial port, and Parallel port;
- Support for Unicode;
- Support for REXX;
- Support for basic TCP/IP networking, including DHCP;
- Support for NETBIOS and NETBIOS over TCP/IP protocols (protocols
only, no peer);
- Support for Roman Stangl's CD Boot Menu;
- Use of DANI or default drivers;
- Use of JJSCDROM or default drivers;
- Support for RSJ or cdrecord/mkisofs (both original and '2'
versions supported);
- Small disk footprint; less than 5MB for the command-line version;
- Can make use of LXLITE to make disk footprint even less;
- And much, much more...
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.
When creating a bootable CD, the script assumes you use RSJ for
burning CDs and that you have already attached the CD-R(W).
Instructions for using this
script with cdrecord and mkisofs are included.
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, and \psfonts on the boot
drive. Note: When specifying
files
with wildcards, the SEARCHPATH
is not searched.
3.1. bootAble Files
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 |
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.ba2kws
|
Configuration file for adding
Back Again 2000 (contributed by Doug Bissett) |
SEARCHPATH |
bootAble.ba2kwsRC |
User ini settings for Back Again
2000
|
SEARCHPATH |
bootAble.dfsee
|
Configuration file for adding
dfsee
|
SEARCHPATH |
bootAble.dfseeRC
|
User ini settings for
dfsee
|
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.font |
Configuration file for adding
TrueType and UniFont support (preliminary support) |
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.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
|
Sample
Configuration files
Files |
bootAble.maintenance |
Sample configuration file for
creating a
maintenance partition |
SEARCHPATH |
bootAble.myCfg |
Sample configuration file can be
used as
starting point for creating your own specific settings |
SEARCHPATH |
bootAble.testCD |
Sample configuration file for testing the
burning of a CD |
SEARCHPATH
|
3.4. Other files and applications
Required
files |
OS/2 Warp or eCS
|
The base OS and files.
|
Installed |
IBM/eComStation |
Required
files when creating bootAble CDs |
CD Recorder Software |
Either cdrecord+mkisofs or RSJ can be used. |
Installed |
Hobbes/RSJ |
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 14/2/2004 release of the memdisk
tool, currently to be found in the test directory on Veit Kannegieser's
homepage (arj archives) or on my website (zip files).
|
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 |
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 |
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 |
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 |
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 |
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:
- Configuration files as well as
configuration list files are searched for on the SEARCHPATH (by default
os2\boot on the boot
drive
followed by LIBPATH, PATH, DPATH, HELP, and BOOKSHELF, and \psfonts on the boot
drive);
- As a general rule you should specify your bootAble.myCfg as first
configuration file on the command-line. This to make sure your
settings will be used instead of the (global) defaults;
- You
only need to specify configuration options/variables which override the
defaults!
5. Creating a bootable CD
Here are a few easy steps for creating a bootable CD (please also
see Debugging for some debugging info and
tips):
- Download and install all required files;
- Read through the configuration file bootAble.cfg. All
default settings for the script are done via this file. The options are
all commented. Work through them top to bottom, most likely you will
only need/want to change a few of the 'basic' ones. You'll probably not
going to need to bother with the 'advanced' ones (unless you know what
you are doing...);
Please note: When configuring bootAble you can/should leave
the generic defaults file bootAble.cfg alone and create your
own configuration file(s). A configuration file only needs to contain
lines for configuration options/variables overriding the defaults! See
for example the supplied configurations files bootAble.wps, bootAble.maintenance,
etc.
- Create a bootAble.myCfg where you change the default
options to match your needs (an example .myCfg as well as
other
example configuration files are included):
- You probably need to change directories/drives to match your
setup;
- You probably want to specify BOOTMESSAGES='YES', and PAUSEBEFOREBOOTIMAGE='YES'
(already done in the sample bootAble.myCfg);
- You probably also want to specify EXTRACONFIGSYS=''
as
the default will cause the screen to go to 80x50 mode, causing you to
loose all boot progress messages (already done in the sample bootAble.myCfg)
- If you have SCSI, set the SCSI option and specify the device
driver for your card(s). You may need to set the TWODISKBOOT
option, make use of the MEMDISK
boot method or turn-off some other options if the driver(s) is/are a
really
big;
- This should cover most cases, time to create the first boot image
(instructions are for using RSJ, see below for necessary adaptations
for
using cdrecord/mkisofs):
- Insert an empty CD-R(W) in your burner. I would really suggest
to use CD-RW media; you are probably going to run this script a lot of
times to get things the way you want. I know CD-Rs are dirt cheap, but
please give the environment a break and what would you do with tons of
coasters? (Yeah, you can microwave them for great effects but that
becomes boring after a while...);
- Attach the CD-R(W) (cdattach w:). If it's a CD-RW you
can erase it as well (cdwfmt w: /erase). You can also
add the lines RSJATTACHCD='YES'
and ERASECD='YES' to your
bootAble.myCfg to
let bootAble perform this step automatically;
- Run the script with your configuration file, specifying an
adequate verbose level (e.g., bootAble
/v 67 bootAble.myCfg);
- Put additional files on the CD if you like;
- Burn the CD (cdattach w: -s). Or let bootAble do
this automatically as well (just add the line AUTOBURNCD='YES' to your bootAble.myCfg);
- Test it.
That's all! Now you probably want to play a bit with the numerous
other options :-)
5.1 Using
mkisofs+cdrecord instead of RSJ
When using mkisofs and cdrecord, change the configuration variable WRITERDRIVE
to the path you are going to build the CD in and set the option CDRECORD
to 'YES'. The script is now ready to be used for
mkisofs/cdrecord. Just one more thing needs to be done after running
the
script; instead of creating a normal ISO image for burning by cdrecord,
you need to specify the correct image file to be used for booting (-b
option to mkisofs). For
normal floppy emulation booting, this is the OSBOOT.IMG in
the root of the CD, for MEMDISK
bootAble CDs, this is the CDLOADER.BIN
in the BOOTIMGS directory
(don't forget the -no-emul-boot option!). Remember that mkisofs is case sensitive so
use the correct case when specifying filenames.
You can also let bootAble create a command file which contains the
necessary mkisofs and cdrecord commands, simply specify CDRECORDBURNCMD='YES' and tweak
the command options and file locations (CDRECORDMKISOFSEXE, CDRECORDMKISOFSOPTIONS, CDRECORDEXE, and CDRECORDEXEOPTIONS). The
burnCD command is created in the current directory, burnCD creates the
iso image in the TEMP
directory, so make sure there is enough room.
If you feel confident, you can let bootAble erase (ERASECD='YES') and burn the CD
automatically (AUTOBURNCD='YES').
6. Creating a
maintenance partition
When creating a maintenance partition, follow the instructions found
in the section describing the creation of a bootable CD (skip the
specific steps involving CD creation; 4a, 4b, and 4c). When adapting
the configuration file, additionally specify CREATEBOOTCD='NO'
and point WRITERDRIVE to the maintenance partition (see bootAble.maintenance
for an example); and run the script with these additional settings
(e.g., bootAble bootAble.myCfg bootAble.maintenance).
Though it is advisable to format the maintenance partition (creating
files like the config.sys
may not work correctly otherwise), this is
not the default behaviour of bootAble. This is done to prevent
accidental data loss of the maintenance partition. With FORMATMAINTENANCE='NO',
the user is asked a question to format the maintenance partition.
If you do not want to get this question, specify FORMATMAINTENANCE='YES'
in your bootAble.myCfg.
7. Debugging
7.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.
7.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:
- To get progress messages and error output of external commands,
specify VERBOSE=65
(64+1), this is the default;
- To get progress messages only, specify VERBOSE=1;
- For progress messages and a list of files copied, use VERBOSE=3 (2+1);
- To also get error output of extrernal commands, use VERBOSE=67 (64+2+1);
- For configuration file parsing information (use with care;
creates lots of output), add 4 to your VERBOSE setting;
- To get all output, use VERBOSE=207
(or 255 to be on the safe side for when I add verbose levels ;-) ).
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).
7.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.
8. Contact information
Hayo Baan: mailto:hrbaan@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
9. 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.
Finally big thanks also go to all you people testing and commenting
the script; because of you I kept working on it ;-)
Version History
v3.2 (27/03/2004)
- Added option for allowing access to >16MB early in boot
process, a recent kernel is required for this to work (EARLYMEMINIT);
- The WPS and the WPS Application files can now also reside on the
image (WPSDESTINATION, WPSAPPSDESTINATION);
Note: Requires EARLYMEMINIT='YES'
(done automatically).
- Renamed lvmrefresh.cmd
and lvmrefresh.ico to lvmrfrsh.* to comply to 8.3
naming convention;
- Doug Bissett contributed configuration files for adding Back
Again 2000 support (bootAble.ba2kws
and bootAble.ba2kwsRC);
- Renamed bootAble.ttf
to bootAble.font to
prevent interpretation of the file as a true type font by the OS/2/eCS
GUI;
- VERBOSE is now 65
by default (i.e., progress messages and error output of external
commands);
- Added ability to automatically burn the CD (AUTOBURNCD, RSJATTACHCD, ERASECD, CDRECORDERASEOPTION);
- Improved defaults value determination for CDROMDRIVE and WRITERDRIVE (see bootAble.cfg
for the new defaults);
- The values of EXTRACONFIGSYS,
STARTUPCMD and EXTRACREATEFILECONTENT.n are
parsed for $$ and %% constructs before they are
written to file. This means that variables/functions are
determined at the moment their final value is known (i.e., after
processing all configuration files), see bootAble.norman for example
usage;
- Added note on location of bootAble.myCfg on the command-line
(i.e., it should generally be the first configuration file on the
command-line, see also Syntax section);
- Corrected default setting for USBCDROM and USBSTORAGE;
- Corrected option finding for ATAPI basedev (if you used daniatapi
and had both the daniatap.flt
and daniatapi.flt files
on the system, bootAble could fail to pick up the options);
- Corrected paths to cdloader.bin
in burnCD.cmd;
- burnCD.cmd now burns
the CD without having to create an iso image file first;
- Removed unnecessary options to mkisofs and cdrecord commands;
- Enhanced bootAble.wps
so that it does not override previous settings for display resolution
etc.;
- Corrected startup directory of the dfsee and norman anti virus
objects;
- The SWAPPATH line
is not aded to the config.sys
file anymore when swapping is not enabled (e.g., on a boot CD using the
floppy emulation boot method);
- Added check for existence of required (non standard) executables;
- Corrected a syntax error in bootAble.norman
(sorry Doug...);
- At boot, the \OS2
directory on the MEMDISK/RAMDISK now only gets
created when necessary;
- Unicode keyboard setting should now always default to the correct
keyboard layout based on the KEYB
setting (UNIKEYB);
- Spelling corrections in documentation.
v3.1a (10/03/2004)
- Corrected unicode keyboard setting for german (GR) keyboard layout, now de.kbl file is used (thank you
Veit Kannegieser);
- Corrected syntax error in script (noticeable when using object
rexx or the hpfs386 file system, thanks again, Veit Kannegieser).
v3.1 (09/03/2004)
- IMPORTANT: Renamed ADDITIONALCFG
to EXTRACONFIGSYS for
consistency, check your own configuration files for the use of ADDITIONALCFG settings and
change these to EXTRACONFIGSYS;
- bootAble now determines defaults for almost all settings from
the config.sys file,
meaning your bootAble.myCfg
can now almost be empty except where your
bootAble CD (or maintenance partition) should differ from the running
system, or where you need to specify your SCSI card(s) (see bootAble.cfg
and bootAble.myCfg for
details);
- You can now specify to include more files on the boot image
instead of the CD. Due to space constraints, this is probably only
useful when using the memdisk boot CD method (OS2APPSDESTINATION, REXXDESTINATION, NETWORKINGDESTINATION, EXTRAFILESDESTINATION, EXTRADLLFILESDESTINATION, EXTRADEVICEDESTINATION, EXTRADIRECTORYDESTINATION.x, EXTRACREATEFILEDESTINATION.x);
- Added option to create a cloneCD command to clone a CD to a
maintenance partition using exactly the same options as were used for
creating the bootAble CD (CREATECLONDECD
and CREATECLONECDDRIVE, CREATECLONECDVERBOSE, CREATECLONECDRAMDISK, CREATECLONECDREMOVEROFLAG, CREATECLONECDDIRECTORY);
Note: due to FAT filename constraints, the cloneCD command always gets
created on the CD.
- When using cdrecord, added an option to create a burnCD command
(Doug Bissett, thanks for the hints) which can be used to create and
write an iso image of the bootAble CD (CDRECORDBURNCMD and other
options, see section Using
cdrecord+mkisofs instead of RSJ of this document for more info);
- Added ability to add a ramdisk to a memdisk bootAble CD. If
added, the ramdisk (instead of the memdisk) is used for the temp
directory, desktop, etc. The advantage is that the ramdisk is an
HPFS-like drive and not a FAT drive, allowing for long file names etc.
To support this feature, a new setting has been introduced to specify
the drive letter of the memdisk (MEMDISKDRIVE);
- Added ability to specify a list-file at all locations where a
list of files is expected. The content of this file is then
inserted in the file list (see syntax
section of this document for an example);
- Instead of a fixed size, you can now also specify the minimum
amount of free space on the memdisk boot image by prefixing the MEMDISKSIZE string with a +
sign.The default is now to leave approximately 2MB of free space (5MB
in
case of a WPS system
without RAMDISK);
- Added PSFONTS
directory on the boot drive to the SEARCHPATH by default;
- Now cleaning-up unnecessary files on the memdisk boot image
(e.g., the tar files), the freed-up space
is taken into
account when determining the MEMDISKSIZE;
- Doug Bissett enhanced bootAble.norman,
the log file is now automatically erased after viewing to save space;
- Doug Bissett contributed bootAble.dfsee
to add dfsee to your maintenance partition/bootAble CD;
- Added bootAble logo to no floppy emulation boot;
- When creating a maintenance partition with FORMATMAINTENANCE not
set, the user is now asked to format the partition;
- Added option to set the DHCP server timeout (TCPIPDHCPTIMEOUT);
- Added fdiskpm.exe for non-lvm WPS systems;
- Added objects for FDiskPM/LVM in the setup folder;
- Added icons to LVM and Refresh Removable Media objects;
- Added verbose level 8 to show INI rc file parsing;
- When using the EXTRADIRECTORYADDTOPATHS
setting, directories are now only added once to the specified path(s);
- A temp directory is now also created on a maintenance partition
and not only when a ramdisk or memdisk was loaded;
- Added ability to insert the result of a piece of rexx code within
ini files ($$@<rexx-code>$$,
see bootAble.pmdll
and bootAblefor.usbres
for examples);
- Introduced new function to determine the destination drive,
mostly for use within ini file
definitions (destinationDrive,
see bootAble.pmdll
and bootAblefor.usbres
for examples);
- Added more config.sys
information retrieval functions (configSysContains,
configSysCount, configSysOptions);
- Added option to enable the removal of the Read Only flag when
copying files (REMOVEROFLAG);
- The savedskf.exe
command does not need to be in the path anymore, you can now specify
its location via the SAVEDSKFEXE
setting;
- HPFS386 files are now found via the searchpath as well;
- Enhanced bootAble.emxrt
and bootAble.acrobat,
by default they should now be able to correctly find the application
root in almost all cases;
- Corrected bootAble.4os2
(4os2.ini got created in
the wrong directory);
- Progress messages now more consistently (and correctly) indicate
the destination (e.g., Boot Image, CD, or Maintenance Partition);
- Rewrote some of the sections in this document to clarify things
better (I hope);
- Moved unicode.sys
before all IFS drivers
(where it should be...).
v3.0a (23/02/2004)
- Corrected bugs in bootAble.norman,
thank you Doug Bissett! (bootAble.norman
and bootAble.normanRC);
- Corrections to documentation on small keyboard.dcp, added note on
smaller viotbl.dcp;
- No more ea stripping in internal sCopyFile function anymore,
saves a little processing time.
v3.0 (22/02/2004)
- Added support for the no floppy emulation boot (memdisk) by Veit
Kannegieser.Not only does this allow bootAble to operate in many
more situations, but booting will be slightly faster and the 2.88
floppy disk space restriction is lifted allowing for many more
configurations to be booted from CD;
- Added configuration files for PMdll and USB resource utilities (bootAble.pmdll and bootAble.usbres);
- Added preliminary True Type and UniFont support (bootAble.ttf);
- Changed way ini RC files get processed, you
can now override previous entries (set the corresponding EXTRAxxxxINIRCFILEUPDATE.x to 'YES').
Furthermore. the EXTRAUSERINI
and EXTRASYSINI settings
are processed last and can be used to override any entry (see bootAble.myCfg for examples);
- Ini RC files should now only contain the body of a makeini file
(i.e., the "<application>" "<key>" <value> triplet,
see bootAble.Urc etc. for
details);
- Added low-level syntax checking on ini RC files;
- Added configuration option for adding OS2SCSI.DMD driver (SCSIDMD, enabled by default if
you're adding SCSI support);
- Added configuration option for copying the config.sys of the boot image to
the root of the CD (COPYCONFIGSYS,
disabled by default);
- Added function to retreive values from the config.sys file (getFromConfigSys);
- Added configuration option to specify the name of the config.sys file to use in
getFromConfigSys, globally initialised to the config.sys in the root of your
boot drive (CONFIGSYSFILE);
- More variables now automaitcally get the correct defaults based
on the host system (e.g., RESERVEDRIVELETTER,
CDROMDRIVE, VIRTUALDRIVE, SHELLPROMPT, COUNTRY, CODEPAGE, KEYBOARD, UNICODE, UNILANG, UNICP, LVM);
- The SEARCHPATH
variable is now globally
initialised to the value of os2\boot
on the boot drive, LIBPATH,
PATH, DPATH, HELP, and BOOKSHELF, greatly reducing the
need for specifying full file paths in the configuration files (just
make sure the correct files are first on the SEARCHPATH!);
- Removed the SMALLKEYBOARDDCP
option.If you now want to use a different keyboard.dcp (or viotbl.dcp for that matter)
file, simply make
sure it is located somewhere on the SEARCHPATH before the original;
- Disabled USB support by default (USBxxx);
- Added ini RC file option to allow inclusion of a line if an
option is not set (%%!<optionname>%%)
- Applications now get installed into \OS2\APPS instead of root
directory (bootAble.acrobat,
etc.);
- Adopted 4os2 support and made it independent of the WPS setting (icon and inf file
always copied), furthermore allowed for a destination directory to be
set (bootAble.4os2);
- Added section on debugging to this document;
- You can now use the /v
command-line argument to specify the value of VERBOSE from the command-line
(usage: bootAble [/v
<verbose>]
[<config file>...]);
- You can now download the SIO2K Patch file
from my website (kindly
provided by the author, Veit Kannegieser);
- Improved PMView support (2.x and 3.x supported), now copying only
required files and,
thanks to Alfredo Fernández Díaz, also added pmvddrop support (bootAble.pmview);
- The RESERVEDRIVELETTER
option is now allowed to be empty;
- Swapping is now enabled when booting from a maintenance partition
or a MEMDISK enabled boot;
- Files are now copied to the destination slighly faster (i.e., not
always via temp anymore);
- Corrected bug where you couldn't copy extra files to the root of
a CD when using cdrecord
or testing;
- Corrected initial font settings of WPS (now correctly using
warpsans);
- Adaptations for the latest newview versions (newview.exe is required);
- Renamed bootAble.PMVrc
and bootAble.Xrc to bootAble.pmviewRC and bootAble.xwpRC;
- Removed progress message about ignoring already created
directories.
v2.19 (25/01/2004)
- Added configuration file for PMView (bootAble.pmview and bootAble.PMVrc);
- Changed application configuration files so that you can now
simply specify paths (e.g., the application root) in your bootAble.myCfg without having
to change the application configuration file itself (see the files bootAble.myCfg, bootAble.4os2, bootAble.acrobat, etc., for
examples);
- Improved setting application root of some of the applications,
these now make use of entries in the ini files (see bootAble.pmview and
bootAble.xwp for examples);
- Path/file specifications can now have double backslahes, the
script does not fail on this anymore;
- Added function defaultIfNotSet
to set a variable to a default value if not already set;
- Added function getFromIni
to return the text porting of an ini entry (stripping off the trailing
0 delimiter);
- Added a verbosity level to help debug syntax errors in
configuration files (VERBOSE);
- Changed behaviour of the VERBOSE
setting, it is now a binary mask so you have more control over the
output;
- Added global initialisation of OSBOOTDRIVE with sysBootDrive();
- Added global initialisation for EXTRADEVICE, EXTRABASEDEV, etc.
settings, no need to default these anymore in your own configuration
files;
- Added option for PROTECTONLY
setting (default is 'YES');
- Added missing option for specifying the use of the DANI DASD
driver instead of the IBM version (DANIDASD),
Note: only to be used on non-lvm systems!;
- Added sample pmview configuration file (bootAble.pmview);
- Corrected bug with multipe extra ini rc files (only the first rc
file got included);
- Corrected reference to boot image (osboot.img) in the cdrecord
section of this document.
v2.18 (23/12/2003)
- Thanks to Alfredo Fernández Díaz, I've now finally
added XWorkplace support (see bootAble.xwp
and bootAble.Xrc files).
XWorkplace can be altered to support additional languages, currently
German and Spanish (partial support) are included (see bootAble.xwp_DE and bootAble.xwp_ES for details);
- Added ability to enter hexadecimal values in the INI RC files
(precede unquoted hexadecimal string by 0x);
- Added ability to specify additional user en system INI RC files (EXTRAUSERINIRCFILES and EXTRASYSINIRCFILES);
- Added advanced option for specifying AUTOSTART directive;
- Added option to add EXIT
statement to created startup.cmd
file (STARTUPCMDEXIT, on
by default);
- Added option to update DHCP server with hostname (TCPIPDHCPUPDATEHOST, off by
default);
- Changed defeult behaviour of 4OS2 command shell icons to open a
new window (bootAble.4os2);
- Device driver DOS.SYS
now added (actually a required file).
v2.17a (21/12/2003)
- Minor corections to bootable.norman
configuration file by Doug Bissett.
v2.17 (19/12/2003)
- Support for NTFS version 1.07 (added ntfschk.exe and changed file
locations);
- Correction for Newview (ibmhmgr.dll
and newview.inf added if
found);
- Updated bootable.norman
configuration file made by Doug Bissett;
- Settings which typically reside in multiple configuration files
(like EXTRADIRECTORIES, EXTRAFILES, etc.) now show the
use of varValue in bootAble.cfg to ease adaptation
in home made configuration files;
- Changed default for formatting the maintenance partition to NO to
prevent accidental data loss if the wrong choises have been made (FORMATMAINTENANCE);
- Progress message for creating extra files only shown when
actually creating extra files.
v2.16 (09/07/2003)
- Added SIO and SIO2K serial port driver support (SIOSERIALPORT, SIO2KSERIALPORT, disabled by
default);
- Added ability to specify content of files to be placed on the CD (EXTRACREATEFILES,
EXTRACREATEFILEDIRECTORY.n, EXTRACREATEFILENAME.n,
EXTRACREATEFILECONTENT.n), see bootAble.4os2 for an example;
- Added NTFS support (NTFS,
disabled by default);
- Added sample configuration file for adding the 4OS/2 command
shell environment (bootAble.4os2);
- The PPZIP device is not enabled by default anymore;
- Minor eCS 1.1 adjustments (file locations have changed).
v2.15 (16/03/2003)
- Corrected fdisk.exe
into fdisk.com when
creating a non LVM system;
- The parallel port driver (print01.sys)
and aspi driver (os2aspi.dmd)
are basedevs, not devices;
- The EPM-file actions.lst
is no longer a required file when adding WPS applications;
- Corrected bug where the BOOTFLTFILE
was included even when creating a maintenance partition.
v2.14 (12/01/2003)
- Added ability to create startup.cmd
file (STARTUPCMD);
- Added sample configuration file for adding Norman Anti Virus
support (bootAble.norman, contributed by Doug Bissett);
- Changed the all-files selector '*.*' into '*' (which is more
correct);
- Corrected comments for the EXTRADEVICE
settings (were incorrectly referring to basedevs).
v2.13 (15/11/2002)
- Added ability to recurse directories when specifying extra
directories (EXTRADIRECTORYRECURSE.n), see bootAble.acrobat
for an example;
- Corrected path handling when HPFS386 support was enabled.
v2.12 (20/10/2002)
- Added NETBIOS and NETBIOS over TCP/IP protocol support (NETBIOS
and NETBIOSTCPIP, disabled by default);
Note: Only the protocols themselves are supported, PEER
functionality, for instance, is not provided.
- Added option to clean-out cdrecord image directory (pointed to by
WRITERDRIVE)
prior to adding bootable files and directories (CDRECORDCLEANDIR,
disabled by default);
- Added option to support latest IBM Atapi driver which doesn't
need IBMIDECD.FLT anymore (LATESTATAPI, disabled by
default);
- Made many changes to TCP/IP support:
- Added ARP.EXE by default,
- Added INETWAIT.EXE to the TCP/IP initialisation,
- Corrected TCP/IP initialisation when using DHCP,
- Now using AFLEAN.SYS and SOCKETS.SYS
instead
of AFINETK.SYS and SOCKETSK.SYS,
- AFOS2.SYS has been removed (was not required for basic
TCP/IP),
- Improved DHCP support; nameserver can now also be specified by
the server dynamically (requires RAMDISK support on a
bootAble
CD),
- DHCP Client Monitor gets added when DHCP is enabled (WPS),
- Improved TCP/IP version 4.31 support; the 4.31 DHCP client
required some additional DLLs, these will now be added when TCP/IP 4.31
is specified (TCPIP431, default).
- Additional DEVICE drivers can now be specified similar to how
extra BASEDEV drivers were specified (EXTRADEVICE, EXTRADEVICEFILE.n,EXTRADEVICEOPTIONS.n).
- You can now specify multi-level directory structures without
having to create the higher level directories first (EXTRADIRECTORY.n),
you can now also specify the BOOKSHELF as path (EXTRADIRECTORYADDTOPATH.n);
- You can now comment-out lines in the configuration files and
ini-file template with ';' as well;
- Corrected bug with ASPI support;
- Options of CDROM and ASPI support are now respected;
- Added sample configuration file for adding EMX runtime (bootAble.emxrt,
contributed by Christoph Brendes)
- Improved parsing of ini-file templates: using '$$' as
variable and '%%' as option delimeters, furthermore all
configuration variables and options can now be used;
- Removed second setting of displaytype and help-path when WPS
support was enabled;
- Rewrote installation instructions and merged with obtaining
required files section.
v2.11 (30/09/2002)
- Added DHCP support (TCPIPDHCP);
- Fixed bug in bootAble.extra (missing quotes);
- Fixed bug in handling of extra directories, sometimes ',1' was
added to the directory name.
v2.10 (29/09/2002)
- You can now specify a search path (SEARCHPATH) where
files will be searched for in addition to the location specified (by
default this is set to the DPATH). This allows for adding
components to a bootable CD/maintenance partition which have not (yet)
been installed on your system (or reside in a completely different
location from the deafult); just add the files to a directory on the
specified path!;
- Added support for HPFS386 file system (HPFS386);
- Added support for parallel port ZIP drive (PPZIP);
- Added support for using lxlite when copying files,
freeing extra space! (LXLITE);
- Added option for using the small keyboard.dcp file from
the Warp 4 boot disks, saving yet again quite some space! (SMALLKEYBOARDDCP);
Note: This keyboard.dcp most likely only supports
a
very limited set of keyboard layouts...
- You can now specify additional ini file lines using the format of
the makeini command (EXTRAUSERINI, EXTRASYSINI);
- Added configuration variable for specifying the command shell
prompt (SHELLPROMPT);
- Added configuration variables for specifying the names of the
boot images (BOOTIMAGENAME.1 and BOOTIMAGENAME.2);
Note: When using AudioCDCreator, the name of the first image
should be OSBOOT.IMG (now default).
- Added advanced configuration variables for specifying the number
of threads (advanced, THREADS, now 1024 by default), FAT
cache
options (advanced, FATCACHEOPTIONS, now 1MB by default),
swapping parameters (advanced, MEMMAN and SWAPPATH);
- Renamed all *DLLS option variables to *DLLFILES
for consistency;
Note: If you have created your own configuration files, make
sure to reflect this change!
- Added ability to specify additional directory structure and the
extra files to go into these directories, including the ability to add
these directories to a path (EXTRADIRECTORY.n, EXTRADIRECTORYFILES.n,
EXTRADIRECTORYADDTOPATHS.n);
- Files can now contain spaces (just make sure they are within
double-quotes!);
- Fixed bug where extra basedev files where not copied at all;
- Added main option name of new options in the version history
(starting from version 2.0), to ease finding them;
- Corrected typo in Alfredo Fernandez Diaz's name in the
documentation (Thanks section in this file);
- rxqueue.exe is now added by default when REXX support is
enabled;
- wpstkmri.dll is now an optional file as well (only for
scroll mouse?);
- When TCP/IP and REXX support are both enabled with WPS, either
the file rxsock.infor the file rxsocket.inf is
added
(seems the file got renamed with later Warp installations);
- The maxtransmits directive has been removed from the protocol.ini
file (network support), it is not supported on all network cards (and
not required either);
- Added sample configuration file bootAble.testCD for
testing the creation of a bootAble CD. Instead of writing the results
to
a CD-R(W), the results are written to a temp directory;
- Added sample configuration file bootAble.acrobat for
adding acrobat reader to your system, also shows the use of the new EXTRADIRECTORY
and EXTRA*INI configuration variables.
v2.9 (24/09/2002)
- Added support for Roman Stangl's CD Boot Menu (CDBOOTMENU);
Note: When using RSJ, make sure that Roman Stangl's cdboot
command is not located on the PATH!
- Added comments to clarify the use of configuration files (you
only need to specify the configuration options/variables which override
the defaults in bootAble.cfg!);
- Added comments for when files are required (Obtaining required
and optional files section in this file);
- Added reference to help for the country and keyboard definition
configuration variables;
- UNICODELANGDIR not required anymore (some installations
did not even have one!);
- Added icon (based on default CD icon), anyone a better idea?;
- Improved error checking for required files; created new function searchPath
to be used in configuration files instead of the standard sysSearchPath.
v2.8 (23/09/2002)
- Corrected typos in required files for REXX TCP/IP support.
v2.7 (22/09/2002)
- Added basic TCP/IP networking support (TCPIP).
Note: For most TCP/IP commands to work, WPS support is
required.
v2.6 (17/09/2002)
- Added REXX support (REXX);
Note: In order for REXX to work when booting to a
command-line (even when WPS support is enabled), you will need to have bos2rexx.exe
(from the BootOS2 package) located somewhere on your DPATH.
- Added support for non 512 bytes/sector removable media (NON512DASD);
- Added support for removable SCSI media geometry filter (REMOVABLESCSI);
- Added "Refresh removable media" object when LVM support is
enabled (WPS);
- Help support is now installed as part of the command-line apps,
not only when WPS support is installed;
- Corrected a bug introduced in version 2.5 where setting
configuration variables to an empty string did not override the default
(which could be non-empty);
- Corrected a bug with autochecking HPFS partitions (now it works
:-).
v2.5 (13/09/2002)
- Added html documentation;
- fdisk.exe is now included if LVM support is disabled;
- Added harderr.exe to support error handling, autofail=yes
is now specified as well;
- Added bootAble.extra sample configuration file for
adding some extra applications;
- Added label.com and tedit.hlp by default;
- Language dll files only added when WPS support is enabled;
- chkdsk.sys is now included;
- Added configuration option for adding help files (WPS only, EXTRAHELPFILES);
- Improved handling of ide cd when not using the DANI drivers (ibmidecd.flt
is now added as well);
- Added cachef32.exe and f32stat.exe when FAT32
support is enabled;
- Added configuration options for autochecking HPFS and JFS file
systems (HPFSAUTOCHECK, JFSAUTOCHECK);
- pstat.exe is now only added with WPS support (doesn't
work when not running WPS).
v2.4 (04/09/2002)
- Renamed script to bootAble (pronounce boot able) as bootIT
happened to be a trademark of TeraByte
Unlimited;
- Removed unnecessary files and adopted for non eCS Warp systems.
v2.3 (02/09/2002)
- Corrected a very annoying bug where the script would fail under
the standard OS/2 command processor cmd.exe (it worked under
4OS/2);
- Added verbosity level 3 where also errors from external commands
are shown (9 shows all output).
v2.2 (01/09/2002)
- Corrected additional bug regarding cleanup when creating a
directory failed;
- The bootdrive is now determined by sysBootDrive by
default (somehow this function is missing from the rexx
documentation...);
- Renamed options for the FAT32 file system from FAT to FAT32.
v2.1 (01/09/2002)
- Corrected a bug where output would always be verbose and no
cleanup was performed.
v2.0 (01/09/2002)
- Renamed script to bootIT as it is now able to create a
maintenance partition as well;
- Added WPS support (VGA and GENGRADD, WPS);
- Added APM support (APM);
- Added UDF support (UDF);
- The command-line option can now specify multiple configuration
files and these are now used to override the defaults in bootIT.cfg;
- Added ability to enable SCSI support before IDE (SCSIBEFOREIDE);
- Added ability to specify any number of SCSI cards. Note:
The SCSI option has been changed into a number to support
this!;
- Added option to use DANI drivers instead of the default drivers
(the default is still to use the DANI drivers, DANIIDE, DANIATAPI);
- Adapted the script to handle both daniatapi.flt and daniatap.flt
versions of the DANI ATAPI driver.
- Added option to use JJSCDROM instead of default cdrom driver (the
default is not to use JJSCDROM, JJSCDROM)
- Added the ability to add extra basedevs (EXTRABASEDEV);
- Made sure that files copied to the FAT boot image follow the 8.3
file naming restrictions.
v1.4 (23/08/2002)
- Files now are copied without extended attributes to the boot
image;
- Added command-line option for the specification of the
configuration file;
- Corrected error in option name in bootCD.cfg for fallback driver
(wasn't renamed);
- USB printer device now defaults to LPTn instead of $USBPRT;
- Added parallel port (printer) support;
- Added serial port support;
- Added mouse support;
- Improved the way of to specificy which shell to use, now it is
possible to specify PROTSHELL and OS2_SHELL
independantly (advanced options);
- Improved VERBOSE, you can now specify the message level;
- Added genral instructions for using this script;
- Added instructions for using this script with cdrecord/mkisofs;
- Added ability to split boot image over two disks providing even
more room for device drivers and other things;
- Other general improvements.
v1.3 (22/08/2002)
- Added USB support;
- Fixed bug with SHELLFILE variable not being respected;
- Renamed option IDECD to ATAPI (more correct);
- Renamed option HDDFALLBACK to DASDFALLBACK
(more correct);
- Now possible to specify options for IFS and BASEDEV
lines (advanced options);
- Added comment why there is no autocheck for file systems;
- Better option handling, not case sensitive anymore and only first
letter is required (e.g., specifying "Y" or "yes"
works now);
- Cache sizes for HPFS and JFS file systems now 1024KB by default;
- Added VERBOSE option, with this set to "YES"
all command output is shown;
- Added option to pause the script right before writing the boot
image to CD. You can use this to check and or correct the content of
the
boot image on the virtual drive before it is actually written.
v1.2 (20/08/2002)
- Now a REXX script;
- Added configuration options
- CONFIG.SYS is now created automatically by the script
and
respects set options;
- Added notes concerning choices of virtual floppy software;
- Added contact information.
v1.1 (21/02/2002)
- Now using daniboot.flt instead of cdboot.flt.
v1.0 (16/02/2002)
- Original version for creating a bootable CD with support for most
file systems and LVM.