I’ve done this several times with syslinux, and forget how each time. This time however I used a different method: have one FreeDOS partition, and another partition with your files on it. I found this much less error-prone than getting syslinux to correctly boot FreeDOS and see the files that you actually want to run (e.g. a BIOS update).
Here’s how:
Extract the img from FD12LITE:
$ unzip -x FD12LITE.zip FD12LITE.img
Write that image to your USB stick (standard disclaimer: make sure sdb is the right device, and note that this overwrites all other data on the disk):
# pv -rb FD12LITE.img | dd bs=1M oflag=direct,sync of=/dev/sdb
Use gparted to make a second FAT16 partition:
# gparted /dev/sdb
Use the largest size that will accomodate the target files.
Put what you need on there.
# mount /dev/sdb2 /mnt/
# cp <files> /mnt/
# umount /mnt/
Boot from the USB stick. Select your language, and pick “No - Return To DOS”.
Switch to D:, and see your files with dir
.
At any step, you can test with qemu-system-x86_64 -hda /dev/sdb
.