Those BIOS images not fitting onto 1.44MB floppy anymore?
Did you need to use some other utilities in a minimal DOS environment?
In order to boot a system into DOS and have an emulated CDROM drive with the extra utilities, we need to first create a boot floppy which has a minimal FreeDOS environment. FreeDOS will load the needed drivers to emulate a CDROM drive with the rest of your utilities on it.
This README along with the attached script can be found on GitHub as a gist.
To create a bootable CDROM image, we're going to create a minimal boot floppy
image first, then create a ISO 9660 CD-ROM
formatted filesystem using our
floppy image as the boot image of the CDROM.
The floppy boot image is for the actual DOS bootup. It is added into the CDROM image as the boot sector information. It's only responsibility is to boot into FreeDOS, and load drivers to emulate the rest of the CDROM.
-
Download FreeDOS 1.0 Floppy Image.
-
Mount Floppy image with write permissions.
-
Edit
fdconfig.sys
menu to taste. -
Edit
freedos/fdauto.bat
to runautoexec.bat
after its run:...snip... echo Running autoexec.bat... A:\AUTOEXEC.BAT
-
Create
autoexec.bat
in the root directory. -
Add
reboot.exe
to the root directory used for actually rebooting (optional). -
Unmount
fdboot.img
.
We use the CDROM to hold the BIOS flash utility, firmware, etc.
This part of the CD is emulated as a drive (A:\
) after FreeDOS boots.
-
Download FreeDOS 1.0 Base CD.
-
Mount CD ISO.
-
Copy isolinux files from base cd:
mkdir -p ~/tmp/isolinux && \ cp -av /mnt/fdbootiso/isolinux/{iso,data}* ~/tmp/isolinux
You should have the following files:
isolinux/ isolinux/isolinux.bin isolinux/isolinux.cfg isolinux/data isolinux/data/bootmsg.txt isolinux/data/f1_help.txt isolinux/data/f2_licen.txt isolinux/data/f_about.txt isolinux/data/logo.lss isolinux/data/memdisk isolinux/data/fdboot.img
-
Replace
isolinux/data/fdboot.img
with the one you created earlier (it can be compressed):gzip -c -9 fdboot.img > ~/tmp/isolinux/data/fdboot.img
-
Edit
isolinux/isolinux.cfg
and remove most of the fluffy menu stuff.All you really need is:
default fdos timeout 1 label fdos kernel data/memdisk append initrd=data/FDBOOT.IMG
-
Add any utilities you need to your bootdisk inside the root.
I've included a sample script I've pieced together to do the heavy lifting.
-
Edit
make_boot_iso.sh
to fit your needs. -
Run
make_boot_iso.sh
.