.ova files are just a Posix tar file:
$ file foo.ova
foo.ova: POSIX tar archive
If you decompress it, you'll find one .ovf (XML) file describing the VM, one text file with checksums (SHA-1), and one or more .vmdk files:
$ file *
foo-disk1.vmdk: VMware4 disk image
foo-disk2.vmdk: VMware4 disk image
foo-disk3.vmdk: VMware4 disk image
foo-disk4.vmdk: VMware4 disk image
foo-disk5.vmdk: VMware4 disk image
foo.ova: POSIX tar archive
foo.mf: ASCII text
foo.ovf: XML 1.0 document, ASCII text, with very long lines
So for a RAW .ova conversion, you will have to convert your raw files to .vmdk format, write the right .ovf file, create the .mf file, and tar everything into an .ova file. Notice that the latter does not include compression. The lines in the .mf file look like this:
SHA1(foo.ovf)= e33370daa74544dc30841e1c527628e5c8610c54
It can be easily obtained from sha1sum, but the format is different:
$ sha1sum 'foo.ovf'
e33370daa74544dc30841e1c527628e5c8610c54 foo.ovf
So:
$ sha1sum *.ovf *.vmdk | awk 'BEGIN { FIELDWIDTHS = "40 2 1024" } { print "SHA1(" $3 ")= " $1 }'
SHA1(HyperFile 3.3.0.ovf)= e33370daa74544dc30841e1c527628e5c8610c54
SHA1(HyperFile_3.3.0-disk1.vmdk)= a60c58d00010bdc715d96e89e34fd45f48a58b4c
SHA1(HyperFile_3.3.0-disk2.vmdk)= 92250a09ef4b924c51c64b37ba6dc7049eb24cc2
SHA1(HyperFile_3.3.0-disk3.vmdk)= aff779bf46c859506606fd8925f79ffb9a86d955
SHA1(HyperFile_3.3.0-disk4.vmdk)= 64dd05f7e5d73929234393c109b2d92d69dedc8e
SHA1(HyperFile_3.3.0-disk5.vmdk)= 157e9f9f6adeabcc41f228cd7b53fc0ef4da43f9
I'll let you read about the OVF format here: https://www.dmtf.org/standards/ovf