Copyright (c) 2000-2013 by Bart Lagerweij. All rights reserved.MODBOOT - Bart's Modular Boot Disk
... This will give you real boot disk power ...
Version 2.6
Created: Nov 28, 2001
Last updated: Apr 7, 2003
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...
> What is MODBOOT ?
[#0]
MODBOOT is modular boot disk. All programs and files are placed in modules.
Adding functionally to your disk is as simple as copying one file (module)
to the correct folder.
An example: to add Dos mouse support to your
MODBOOT disk you just copy the module called "mouse.cab" to the
"\level1" folder on your boot disk.
All MODBOOT modules are packed using cabinet (.cab)
files so a MODBOOT disk can hold as much data as possible. To expand a .cab
file you simply put it in the right folder and modboot will unpack it for
you. When the .cab file has an "\autorun.bat" modboot will
automatically execute it.
Danger! ...Once you get the hang of
MODBOOT, you will
find yourself rewriting every bootdisk you have
created...
Yes, a big warning here... When you do not have the time to go through your
existing set of boot floppies and convert them into MODBOOT enabled disks
then you must
stop reading this page and come back when you do have
that time. If you have seen a MODBOOT disk in action you are lost!
MODBOOT has a multi config.sys menu with 4 entries, so you'll need Dos 6.x
or higher for this.
1. Boot with emm386 (most compatible)
2. Boot with emm386 (max memory)
3. Boot without emm386
4. Clean boot
| |
|
What does an basic MODBOOT boot disk look like?
| Path | Description |
| \bin |
Contains the needed tools for MODBOOT to operate:
- xmsdsk.exe for creating a ramdisk
- extract.exe for unpacking cab files
- himem.sys, emm386.exe and ifshlp.sys used by config.sys
- modboot.cab, holds kbfl.com, modboot.bat, run.bat and unpack.bat
|
| \level0 |
All *.cab files in this folder will be expanded but
nothing will be executed Typically used for expanding
programs that are needed by programs in a higher level.
Also known as "the level of no autorun"!
|
| \level1 |
All *.cab files in this folder will be expanded, if the
.cab file has an \autorun.bat it will be executed. When finished control
returns back to modboot.
Typically used for expanding and running/installing
programs that are needed by programs in a higher level. |
| \level2 |
Same as level1.
|
| \level3 |
The first .cab file found in this folder will be expanded and if an \autorun.bat exists
it will be run. Control will not be returned to MODBOOT!
Typically used to expand and run the final application, for example an
end user menu.
This level should contain only one .cab file!
Also known as "the level of no return"!
|
| \diskid.txt |
Contains a short description about the bootdisk in plain text.
It is displayed during boot. |
| \lib |
Just a storage location (will not be unpacked by MODBOOT).
Can be used to store .cab files that will be unpacked when needed. |
The following environment variables are available within modboot:
| Name | Description |
| %srcdrv% | Source drive, the drive you have booted from |
| %ramdrv% | Ram drive (default "Q:") |
So when writing batch files on top of modboot, you should never use A: or Q:
hardcoded! You should use the %srcdrv% and %ramdrv% variables instead.
> How to create a MODBOOT disk
[#makedisk]
Work from here if you want to manually create the boot disk.
You must download each module separate and you will do all the work.
If you want to create the boot disk automated, with minimal file download, look
here [#makedisk].
Windows 95 OSR2 or Windows 98 SE is recommended for creating a modboot disk (not Windows ME!).
The steps are:
- Format a bootable MS-Dos floppy diskette (version 6.x or higher required)
format a: /u /s
- if drvspace.bin exists, delete it
attrib -s -h -r a:\drvspace.bin
del a:\drvspace.bin
- Create a "bin" directory and copy the following files to it:
- himem.sys
- emm386.exe
- smartdrv.exe (optional, improves speed)
mkdir a:\bin
copy himem.sys a:\bin
copy emm386.exe a:\bin
copy smartdrv.exe a:\bin
- Unpack the files from modboot26.zip [/download.php?sFile=modboot26.zip] (68KB) to the diskette
Make sure you expand the subdirectories!
So when using pkunzip.exe use the -d option!
I feel like building... What bootdisks are there using modboot technology?
From this site:
BFD - Build Floppy Disk [/bfd/]
Bart's CD-Rom boot disk [/bootdisk/cdrom/]
Bart's Network boot disk [/bootdisk/network/]
Bart's Scsitool Boot Disk [/bootdisk/scsitool/]
From other sites:
The 911 Rescue CD [http://www.911cd.net/]
FAV_BOOT: FreeDOS Antivirus Emergency boot disk by ROSE SWE [http://members.tripod.com/rose_swe/freedos/]
> MODBOOT design rules
[#rules]
MODBOOT design rules:
- You should not change any of the basic MODBOOT files
unless absolutely necessary.
- All modules should be packed using "cabarc.exe".
You can get it from http://support.microsoft.com/default.aspx?scid=KB;en-us;310618&
See also: dos module [#dos] as an example on how to build/pack modules yourself.
- You should never use drive A: or Q: hardcoded! You should use the %srcdrv% and
%ramdrv% variables instead.
> Module information
[#info]
Here is a list of all available modboot modules.
Please note: this list does not contain any network or aspi drivers...
This module enables very simple help information to the user. It will
provide a list with the available commands.
| Sample help output |
aspi Load ASPI drivers
cdrom Load CD-Rom drivers
help Show this help information
menu Modboot small menu system
msnet Load Microsoft Network Client drivers
scsitool Generic scsi diagnostics utility
edit Small text editor (terse)
vc Volkov Commander v4
|
Modules that want to have help support must have a "help" directory containing
a small text file called %modulename%.hlp.
Example:
Here are the files for the
msnet [/bootdisk/modboot/#msnet] module:
autorun.bat
bin\msnet.bat
help\msnet.hlp
menu\msnet.mnu
| Sample MSNET.HLP |
msnet Load Microsoft Network Client drivers
|
Note! The description "Load Micro..." must start at column 10!
Note 2! Do not use a tab, use spaces!
| cdautrun - CD-Rom autorun module |
|---|
| Version: | 1.1 |
| Last updated: | Mar 26, 2002 |
| Downloadable file: | cdautrun.cab [/download.php?sFile=cdautrun.cab] (2KB) |
| Default location: | \lib |
| Notes: | Set's %cddrv% environment variable to point to the first CD-Rom. Also runs \autorun.bat when it is on any CD-Rom. |
This module searches
all CD-Rom drives (using
findcd [/utils/#findcd]) for a file called
"autorun.bat" and the first one found will be executed.
If no autorun.bat file is found on any CD, then it will located the first
CD-Rom drive letter that holds a readable media and the current working
directory will be set to the root of this drive. If there is no CD-Rom drive found that has a media
than it will just print the first CD-Rom drive letter.
Also an environment variable %cddrv% is created.
| dos - Dos module (fdisk, format, xcopy...) |
|---|
| Version: | 1.0 |
| Last updated: | Mar 26, 2002 |
| Group: | option |
| Default location: | \level1 |
| Notes: | There is no file for download, you have to build this one yourself, just look here: |
| More information URL: | /bootdisk/modboot/#dos |
This module should contain several dos files like: fdisk, format, smartdrv, xcopy ...and so on...
Here are the steps:
- Download makev3.zip [/download.php?sFile=makev3.zip] (59KB) and unpack it in
some directory, in this example I will be using c:\modboot\makev3\
- Copy the Dos files you need into the directory "c:\modboot\makev3\source\dos\bin".
Warning! You must use the same dos version as your boot files!
Files to think off are: fdisk, format, doskey, xcopy
- Open a command prompt, goto the c:\modboot\makev3\ directory and run
"make dos". If all goes OK, you can find your module as
c:\modboot\makev3\cabs\dos.cab
- Just copy this file into the correct modboot level folder, for example
"\level1"
| aspi - ASPI loader module |
|---|
| Version: | 1.0 |
| Last updated: | Mar 26, 2002 |
| Downloadable file: | aspi.cab [/download.php?sFile=aspi.cab] (2KB) |
| Default location: | \lib |
| Notes: | Bart: This module needs optimization, but it works OK! |
| eltorito - El-Torito CD-Rom driver |
|---|
| Version: | 1.4 |
| Last updated: | Jul 31, 2002 |
| Downloadable file: | eltorito.cab [/download.php?sFile=eltorito.cab] (2KB) |
| Default location: | \lib |
| Notes: | Only works when booted from CD-Rom in "no-emulation mode". Not in floppy emulation mode! v1.4 Major bugfix, see more info link. |
| More information URL: | /eltorito/ |
| cdrom - CD-Rom loader module |
|---|
| Version: | 2.2 |
| Last updated: | Jul 9, 2002 |
| Downloadable file: | cdrom.cab [/download.php?sFile=cdrom.cab] (3KB) |
| Default location: | \level0 |
| Notes: | v2.2 Added eltorito.sys, easy customize screen and more. |
| elboot - CD-Rom loader module |
|---|
| Version: | 1.2 |
| Last updated: | Jun 27, 2002 |
| Downloadable file: | elboot.cab [/download.php?sFile=elboot.cab] (3KB) |
| Default location: | \level0 |
| Notes: | v1.1: Now using a new version of eltorito.sys (v1.2) v1.2: New version of eltorito.sys (v1.3) |
| utils - Batch utilities |
|---|
| Version: | 1.8 |
| Last updated: | Aug 29, 2002 |
| Downloadable file: | utils.cab [/download.php?sFile=utils.cab] (34KB) |
| Default location: | \level0 |
| Notes: | v1.7: lmod.com updated to v1.2. v1.8: pciscan.exe updated to v1.5a. |
Utils.cab uses the following tools:
This module enables a small menu system to the user. It will
provide a list with the available options.
Modules that want to have menu support must have a "menu" directory containing
a small text file called %modulename%.mnu.
Example:
Here are the files for the
msnet [/bootdisk/modboot/#msnet] module:
autorun.bat
bin\msnet.bat
help\msnet.hlp
menu\msnet.mnu
| Sample MSNET.MNU |
Load CD-Rom drivers~%ramdrv%\bin\cdrom.bat
|
The first part "Load CD-Rom drivers" is the menu title and the
second part (separated by a tilde "~") is the command to execute.
This module gives you the option to bypass loading CD-Rom drivers and display the menu.
After a 5 second timeout CD-Rom driver will be loaded.
You can use this if you have a combined CD-Rom and network bootdisk.
If you are unsure what network driver to use for your adapter, download
whatnic.cab [/download.php?sFile=whatnic.cab] (3KB) and put in into \level1 of a
basic modboot disk [/bootdisk/modboot/].
Also download
utils.cab [/download.php?sFile=utils.cab] (34KB) and put in into \level0.
When booted from your modboot disk run
"whatnic" at the command prompt.
> Frequent asked questions
[#faq]
- How do I create a 2.88MB modboot disk?
Use my floppy builder (bfd [/bfd/]) it can create that.
-
Some .cab files fail to extract. I have tried downloading them many times but this has made no difference.
Try to clear your browser/proxy/firewall cache and try again, or try to use
a good download manager like flashget [http://www.amazesoft.com/] or so...
Most users with problems are using netscape 4.x try to download using something else...
- The xmsdsk.exe (ramdrive application) does not seem to be able to function
correctly on computers with more than 2GB of RAM. I keep getting the error
"XMS get free mem error.".
Yes, I think this is a bug in xmsdsk.exe the author (Franck Uberto) does not
have a machine with this amount of memory, so it's not easy for him to fix it.
But here is a workaround: Replace the himem.sys with himem.sys v3.10 (from Dos
6.22), this will provide 64MB XMS memory as the maximum and xmsdsk.exe will
not fail.
jun 16, 2003 - Updated note! Someone mailed me that removing the
"/t" parameter for loading xmsdsk.exe solved his
problem...
> Used files and information
[#5]
Used files:
> Revision history
[#history]
Sep 11, 2002:
Change log for Modboot v2.6 [modboot26.txt]
Jul 19, 2002 - v2.4
- Unpack.bat returns "unpackerr", not "abort", fixed.
- The dynamical _modboot.bat did not test for unpack errors correct, fixed.
- Unpacking executable modules using unpack.bat can now be nested 10 times.
Jul 11, 2002 - v2.3b
- Autoexec.bat, bootdrv errorlevel now using bennylevel.
Jul 9, 2002 - v2.3
May 22, 2002 - v2.2
- Added some small checks when required files are missing.
Apr 16, 2002 - v2.1
- Small speed enhancement.
When you copy smartdrv.exe (or smartdrv.cab containing \bin\smartdrv.exe) into a:\bin\ modboot will load it.
Putting smartdrv.exe in \bin boots faster but uses more space then using a smartdrv.cab file.
- Added "max memory" entry in config.sys
Mar 26, 2002 - v2.0
- Using .cab files instead of .rar files, to avoid PC "hang" problems caused by
unrar.exe extract/overwrite bug.
Feb 18, 2002
Feb 15, 2002 - v1.04
- Pressing shift while unpacking level .cab files quits to the command prompt
- Improved error handling
- Small cosmetic changes
Version 1.02 - minor changes
Version 1.0 - First public version (beta)