This is an old revision of the document!


Here you will find a description of setup for FreeDOS to boot over SAN. I've tested it successfully using SCST target and exporting an iSCSI disk to my workstation for the setup of the DOS system. Please note that floppy images won't work since the initiator sets up SCSI harddisk semantics on the initiator.

Required tools

Preparing the environment

Unpack and build the latest makebootfat release. The source directory contains the file mbrfat.bin which will be installed as MBR to the target disk. You could use any other bootloader, or just install-mbr from mbr package of your distribution.

The source code of sys utility from FreeDOS contains the needed FreeDOS Bootsectors. Unpack it and find the files

  • fat12.bin
  • fat16.bin
  • fat32lba.bin

Get the kernel.sys and command.com files from the freedos image. These files shall not be moved on the target filesystem since they have a special location. Loop-mount the freedos image and get the files from there. You probably want to include some of the other files at later point.

Prepare the target device

From your san storage export a LUN and get it to the workstation you have the tools on. The target should be exported with 512 byte block size.

Once you have the device in place, create the filesystem.
Example command:
# ./makebootfat -v \
-o /dev/sdb \
-E 255 \
-1 fat12.bin \
-2 fat16.bin \
-3 fat32lba.bin \
-m mbrfat.bin \
-c kernel.sys \
-c command.com \
image

Note that you need to change the device accordingly. Also, the directory image must exist for this command to succeed. It doesn't carry any special meaning here. Now you've got a bootable FreeDOS image.

Adding files

When makebootfat runs, the system doesn't notice the partition table change on that device. To be able to mount the newly created filesystem you need to run
# blockdev –rereadpt /dev/sdb
Now you can mount sdb1 and add other dirs and files. Take care not to move the kernel.sys and command.com files.


QR Code
QR Code sanboot:freedos (generated for current page)