The original boot sector of what?no, but you can try the following. save the original boot sector with dd; newfs_msdos the disk in freebsd;copy ibmbio.com or io.sys first. copy ibmdos.com or msdos.sys next. copy the rest of the files. dd the original boot sector back. usually it works.
gpart destroy -F da0
gpart create -s mbr da0
gpart add -t f16 da0
newfs_msdosfs /dev/da0s1
mount -t msdosfs /dev/da0s1 /mnt
cp /dos/* /mnt
unmount /mnt
dd if=(dos.mbr) of=/dev/da0 bs=1 count=1
sys command writes to a disk to make it bootable. Isn't it what needed?That would only write code to the boot sector.
No, not for a bootable DOS (MS-DOS, DR-DOS, FreeDOS, etc) disk. It's not enough for FreeBSD either. The code in the master boot record can only be about 446 bytes, nowhere near enough. So the booting is done in stages, the code in the master boot record is only the first stage. FreeBSD's boot code is specifically written to look for FreeBSD boot code, nothing else.Isn't it what needed?
I have the required files which I can easily add once the device is mounted.That would only write code to the boot sector. It could do it, if you actually have the code. You'd still miss io.sys, msdos.sys and command.com (for a bootable MS-DOS disk). Which is what thesyscommand writes to a disk to make it bootable.
IO.SYS - Wikipedia
en.wikipedia.org
syslinux --install -f /dev/da0 gets my USB stick past the first hurdle and I get to a Nevertheless, it solves half of the problem if you want to keep your partition table as is.No, not for a bootable DOS (MS-DOS, DR-DOS, FreeDOS, etc) disk. It's not enough for FreeBSD either. The code in the master boot record can only be about 446 bytes, nowhere near enough. So the booting is done in stages, the code in the master boot record is only the first stage. FreeBSD's boot code is specifically written to look for FreeBSD boot code, nothing else.