BCD - Build CD-Rom
...the cdrpack 1.3 replacement is ready...
Version 1.1.1
Created: Sep 5, 2002
Updated: Dec 8, 2002
Important notice: the development and maintenance for this page has stopped. Please don't contact me about this page! I'm leaving the page as it is, for reference...
Introduction
BCD builds and burns a bootable or non-bootable CD-Rom fully automatic, from
any workstation in your network that has a CD-Rewritable or CD-recorder
device. No need to install any files on your workstation. BCD can also just
create the ISO image for you.
Features:
- Runs on Windows NT4/2000/XP.
Build with only win32 programs, no 16-bit dos applications are used.
So this should make it compatible with future windows platforms like XP and whatever is next.
This also fixes some cdrpack problems like spaces in foldernames and long foldernames...
- Automated building of (bootable) CD-Rom's or ISO's
- BCD run's 100% automated from command line.
- BCD has multi-user/multi-computer support,
you can put BCD on your fileserver and run it from any workstation,
no need to install any files on the workstation.
- Autodetect bootfile type, like Isolinux, Windows NT bootsector and applies
the needed mkisofs parameters.
- It automatically uses the first CDRW device found on your system, or else
the first CDR device found.
- Erases CDRW media fully automatic.
- Easy configuration by using 2 configuration files.
One "main" bcd.cfg (parsed first) and one "per CD" bcd.cfg (parsed second) file.
Settings in the "per CD" configuration file will overide settings in the "main" config.
What doesn't it do:
- BCD cannot run on Windows 95/98/ME, support for these platforms will
not be added!
- BCD does not do DVD's yet. Why? I have no DVD writer! So I simply cannot
develop and test it. When somebody donates a DVD-RW writer I will add DVD support
in BCD!
How does it work
BCD is a command line utility, you can use the following parameters:
| BCD usage |
BCD, Build CD-Rom, v1.1.1
Copyright (c) 2002 Bart Lagerweij. All rights reserved.
This program is free software. Use and/or distribute it under the terms
of the NU2 License (see nu2lic.txt or http://www.nu2.nu/license/).
Usage: bcd [-d] [-b] [-s nn] name
bcd -bab
name : name of the CD to build
-d : print debug messages
-b : burning disabled (only create ISO image)
-s nn : set burning speed
-bab : build all bootimages for all CD's
(using CD's bootdisk.cfg)
Returns environment variable "rv", 0 if succesfull, 1 if error
This program uses the following files (located in the "bin" directory):
- Mkisofs and Cdrecord by Joerg Schilling (GNU-GPL license).
- Nero Aspi Library (wnaspi32.dll) by Ahead Software AG (free download)
- Bart's choice (bchoice.exe) by Bart Lagerweij (Nu2 license).
|
To run BCD you should open a "command prompt".
Change to the BCD directory and run BCD from there.
When you run BCD (with the correct parameters) this is what happens:
- It checks for some required files like: bchoice.exe, aspi_you.exe,
cdrecord.exe, cygwin1.dll and mkisofs.exe in the "bin" folder.
BCD cannot continue without these files.
- It checks if the CD-Rom name is valid by checking if the folder
"cds\%bcd_name%\" exists.
- If no main config file (bcd.cfg) exists, a sample file (bcd.sam) will be
renamed into bcd.cfg. This will prevent overwriting your bcd.cfg file when you
unpack future updates.
- Now the main config file (bcd.cfg) will be processed and all values will be
parsed.
- If a CD config file exists (cds\%bcd_name%\bcd.cfg) it will also be
processed and all values will be parsed. Values in the CD config file will
overwrite values from the main config.
- If a bootfile is specified, it will be examined to see what mkisofs
options must be added for it.
Supported is any ".bin" file (no-emulation), Isolinux and Windows NT.
Floppy images are already handled correctly by mkisofs.exe.
This is great. This will solve a lot of trouble.
The bootfile will also be marked as hidden in ISO9660 (not in Joliet).
- If a custom batch script exists (cds\%bcd_name%\%bcd_call%) it will be
called (executed). The custom script should return an environment variable
"rv" (0 for OK, 1 for error). If the returned value is 1 BCD will
abort.
- Mkisofs.exe is launched to build the ISO image.
- When the "-b" (no burning) option is specified BCD stops here.
- Scan's for CD-Rom devices. First it will look for a CDRW device when not
found it will look for a CDR device. If nothing is found BCD stops here. It
will not delete the ISO image so you can still burn it with your usual burning
application.
- Checks if media is CDRW, if it is it will be auto-erased.
- Checks if media is blank (should be no TOC header), if not it will eject and
ask for other media.
- Cdrecord.exe is launched to record the ISO image.
- When burned OK, the ISO image will be removed.
| Configuration sample file (bcd.sam) |
#
# Main bcd.cfg file
#
# The options below can also be used in the cds\<cdname>\bcd.cfg
# Values in cds\<cdname>\bcd.cfg will override the values below...
# Set Volume preparer
# preparer <string>
# Set Volume publisher
# publisher <string>
# Set Volume application
application BCD/MKISOFS
# Set Volume ID
# volumeid <string>
# Set Volume set ID
# volumeset <string>
# Default system
system Win32
# The bootfile that is used for building the CD.
# Normally not set in main bcd.cfg but in the cds\<cdname>\bcd.cfg file
# bootfile <file>
# Additional arguments to add to mkisofs.exe
# mkisofsargs <options>
# Additional arguments to add to cdrecord.exe
# cdrecordargs <options>
# Call a sub batchfile to check for some files or do whatever you like
# call custom.cmd
# Additional path arguments for mkisofs
# addpath <path1> [<path2> ...]
# For example if you wish to add some files to more than 1 CD
# addpath extra\totalcmd
|
What do these commands mean?
Bootfile
bootfile <file>
This should point to the El-Torito boot image. You must include the path
relative to the root of the CD. No need to specify emulation type or other
El-Torito settings, BCD handles everything automatic.
Sample:
bootfile isolinux\isolinux.bin
Volumeid
volumeid <string>
Set the volume ID (label) to <string>. Maximum 32 character.
Volumeset
volumeset <string>
Set the volume set ID to <string>.
Preparer
Preparer <string>
Set the volume preparer to <string>. Maximum 128 character.
Publisher
Publisher <string>
Set the volume publisher to <string>. Maximum 128 character.
Application
Application <string>
Set volume application to <string>.
.....
Installation
BCD installation instructions:
Download
BCD full package v1.1.1 (523KB).
Or update from previous version:
BCD update package (v1.1.0-v1.1.1) (5KB).
When updating from previous versions, just extract the package over the
previous version, overwrite any existing files. The
bcd.cfg file will
not get overwritten!
Unpack the BCD package to some folder for example
d:\bcd.
If you want to be able to run it from a server you should unpack
it to a share from where your workstations can run it. You will need to
map a drive letter to that share and run bcd using that drive letter.
Make sure you also unpack the subdirectories!
Download
wnaspi32.dll and copy it into BCD's
d:\bcd\bin directory.
I have asked Ahead Software AG if I could distribute their
aspi manager with my BCD package but they said:
"
...due to our licence agreement you
could only let your users download it freely from our web site...".
Used tools
BCD uses the following tools:
Changes
View change log file for BCD