Boot Able

Contents

Introduction
Highlights
Installation
Syntax
Creating a bootable CD
Creating a maintenance partition
Obtaining required files
Thanks
Version History

Introduction

Boot Able is a 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 for 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!

Highlights

A few highlights of the script:

The default settings assume an IDE only setup, instuctions for adding SCSI support are included in the defaults configuration file. If you need extra space on the boot image (for instance if you added SCSI support), instructions for moving some files to the CD are included as well. Full USB support is also enabled by default and defaults to one UHCI adapter. Of course this can be fully configured. By default the script uses the DANI drivers for accessing IDE and ATAPI devices as these are the most stable. Again this can be configured.

When creating a bootable CD, the script assumes you use RSJ for burning CDs and that you have already attached the CD-R(W). A virtual 2.88MB floppy should also be available. Instructions for using this script with cdrecord and mkisosofs are included.

Installation

Installation is simple, just copy the files to the correct locations:

BootAble files

Move bootAble.cmd to a directory on the PATH.
Move all other bootAble.* files to a directory on the DPATH.

Other files/applications

RSJ/cdrecord+mkisofs: Should be properly installed (only required when creating a bootable CD);
DaniBoot: Move daniboot.flt to a directory on the DPATH(only required when creating a bootable CD);
Savedskf: The savedskf command should be available, i.e., savedskf.exe installed somewhere on the PATH (only required when creating a bootable CD);
Virtual floppy: Your virtual floppy disk should be installed and a virtual floppy of 2.88MB should be inserted (only required when creating a bootable CD);
Ramdisk: Move ramdisk.ifs and ramdisk.exe to a directory on the DPATH (required when creating a WPS bootable CD);
DANI and JJSCDROM: When used, the drivers should be properly installed (i.e., files should reside in the os2\boot directory of the boot drive).

Notes

Instead of copying the bootAble files to locations on the PATH/DPATH, a specific directory where all files reside will of course also work (just make sure the command is invoked from that directory).

Syntax

The command syntax is as follows:

bootAble [<configuration file>...]

The optional arguments are one or more configuration files to use. If no path for these files is specified, the DPATH is searched. Use these configuration files to override the defaults as specified in the filebootAble.cfg (which is to be found on the DPATH).

Creating a bootable CD

Here are a few easy steps for creating a bootable CD:

  1. Download and install all required files;
  2. 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 neet to bother with the 'advanced' ones (unless you know what you are doing...);
  3. 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):
    1. You probably need to change directories/drives to match your setup;
    2. You probably want to specify BOOTMESSAGES="YES", VERBOSE=3, and PAUSEBEFOREBOOTIMAGE="YES" (already done in the sampe bootAble.myCfg);
    3. You probably also want to specify ADDITIONALCFG="" 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)
    4. Check and or change the USB adapter type;
    5. If you have SCSI, set the SCSI option and specify the device driver for your card(s). (You may need to set the MAKEROOM and or TWODISKBOOT options or turn-off some other options if the driver(s) is/are a realy big);
  4. This should cover most cases, time to create the first boot image (instructions are for using RSJ, see below for necessary adoptations for using cdrecord/mkisofs):
    1. Insert an empty CD-R(W) in your burner. I would realy 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...);
    2. Attach the CD-R(W) (cdattach w:). If it's a CD-RW you can erase it as well (cdwfmt w: /erase);
    3. Run the script with your configuration file (bootAble bootAble.myCfg);
    4. Put additional files on the CD if you like;
    5. Burn the CD (cdattach w: -s);
  5. Test it.

That's all! Now you probably want to play a bit with the numerous other options :-)

Using cdrecord/mkisofs instead of RSJ

When using cdrecord and mkisofs, change the configuration variable CDWRITER 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 cdrecord/mkisofs. 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 CDBOOT_1.IMG as the boot image on the mkisofs command-line (-b option to mkisofs).

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.cfg bootAble.maintenance).

Please note that the partition will be formatted by default (this can be prevented by specifying FORMATMAINTENANCE="NO")!

Obtaining required files

All required and optional files can be obtained via the internet:

Contact information

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

Thanks

Thanks go to Allan Dermody for providing CD_BOOT.FLT and the first insight into creating bootable CD's;
Thanks also go to Alfrede Fernandez Diaz for writing an excelent article on how to create a bootable CD in OS2Voice, July 2000;
More thanks go to Daniela Engert for writing the DANI suite of device drivers and filters.

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


Version History

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)