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 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 the compiler. You can fix mkkern to use a cross-compiler, if you like. The cfgflashrd tool can configure images from other architectures, no such limitation exists there.
(Alternately, you could 'make build' after getting the source tree in Step 2)
Make sure you have a source tree for the same system version at /usr/src. If you don't, get a new one. (flashrd compiles the kernel, plus certain specific commands with crunchgen)
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. This tends to be a bit slower than first creating a disk image and transferring it with growimg (the above instructions).