It's pretty simple. do a make build, or unpack the openbsd baseXX.tgz, etcXX.tgz, and manXX.tgz (minimum recommended) into a directory. (Feel free to omit any sets that aren't necessary, but baseXX.tgz and etcXX.tgz are the minimum required.)
Please note that invocations of flashrd or cfgflashrd -rdroot must be made on the same architecture that the image is destined for (you must be on i386 to create an image for i386). This limitation is due to elfrdsetroot. At this point, attempts to create a version of elfrdsetroot that can target i386 from amd64 (or vice versa) have failed.
Make sure you have a source tree for the same kernel version at /usr/src/sys. If you don't, get a new one.
Then run flashrd against it.
You'll end up with a disk image that you can write to flash. Follow the image installation instructions for further guidance.
flashrd can also write directly to a disk. Whatever geometry the device shows up as will be used for the disklabel this way. Growimg gives you control over geometry, but that shouldn't really matter these days.