Creating FreeDOS Image under ubuntu

Pre-requites

    
    apt-get install wget unzip genisoimage

wget - pulling down files from the internet unzip - uncompress any zip files genisoimage - Needed for creating the ISO image

Making custom freedos disk

  1. make a source directory where you will keep all these files.
    
    mkdir ~/src_freedos
    export FDSRC=~/src_freedos
    cd $FDSRC
  1. Download the FreeDos OEM CD-ROM disc builder http://www.fdos.org/bootdisks/ISO/FDOEMCD.builder.zip
    
    wget http://www.fdos.org/bootdisks/ISO/FDOEMCD.builder.zip -O ${FDSRC}/FDOEMCD.builder.zip
  1. unzip the package and go into the new directory called “FDOEMCD”
    
    unzip FDOEMCD.builder.zip
    cd ${FDSRC}/FDOEMCD
  1. Time for customising the FreeDOS image, always remember once you have created this image you will be making it as a read only media so this will be the only time which you will be able to make any changes (unless you setup a RAMDISK to the image which isn’t in the scope of this document). It is recommended to copy the files you want into their own directory under “CDROOT”. In the example below i am copying a BIOS firmware update package and renaming one of the applications
    
    mkdir -p ${FDSRC}/FDOEMCD/CDROOT/BIOS
    unzip /tmp/X8dtu61.708.zip -d ${FDSRC}/FDOEMCD/CDROOT/BIOS
    cd ${FDSRC}/FDOEMCD/CDROOT/BIOS
    cp AFUDOS.SMC AFUDOS.EXE

4a. One useful application to install to the image is reboot http://mirror.aarnet.edu.au/pub/freedos/files/util/system/reboot.zip, by default DOS does not have an application for performing a reboot of the server after you have finished performing the work you wish todo.

    
    cd ${FDSRC}/
    wget http://mirror.aarnet.edu.au/pub/freedos/files/util/system/reboot.zip -O ${FDSRC}/reboot.zip
    unzip ${FDSRC}/reboot.zip -d ${FDSRC}/FDOEMCD/CDROOT
  1. Time to re-compile the image to an ISO image for use as either a CD or PXE boot image, drop back to the “FDOEMCD” directory and then run the following mkisofs command (feel free to alter the publisher information if you wish i have left in the FreeDos information in place, i sometimes alter it to highlight whether it’s been built for a specific hardware platform).
    
    cd ${FDSRC}/FDOEMCD
    mkisofs -o fdoem-20120306.iso -q -l -N
    -boot-info-table -iso-level 4 -no-emul-boot
    -b isolinux/isolinux.bin
    -publisher "FreeDOS - www.freedos.org"
    -A "FreeDOS 1.0 Distribution" -V FDOSBIOS -v CDROOT
Share