Interesting, I've been running Linux for 15 years, yet I can't understand how to upgrade from 6.3, which I just installed on a cloud server, to 6.4 by reading the official document.
(Specifically the part "instruct the boot loader to boot this kernel" because it says to type in the file name during the boot process, which is not exactly easy on a remote machine.)
https://www.openbsd.org/faq/upgrade64.html
I have a lot of respect to OpenBSD devs when people don't contribute back much even if they use OpenSSH everyday but a bit more friendliness doesn't hurt to let people try it out more.
Keep reading. The upgrade guide has two parts: the first part that assumes the common configuration (you have console access and are using the OpenBSD boot loader), and the second part[1] in the event that you do not. If you have console access and can boot from iso, you can also use the cd64.iso image to boot into the install kernel and follow the common upgrade procedure on the console.
There is an in-between case where you have a console, but do not control the boot loader (so cannot boot bsd.rd) and cannot boot an iso. It sounds like maybe you are in this situation? In this case, you can still follow the upgrade directions as if you do not have a console[1]. Alternately, sometimes when I am in this situation I just download the install kernel (bsd.rd), move it where the boot loader is hard-coded to look (/bsd), and then reboot. The boot loader will boot the install kernel and you can follow the usual / common upgrade procedure on the console.
There is also autoinstall[2], which can automate the upgrade procedure for you and reduces upgrades to just rebooting into bsd.rd and waiting a bit. There is a bit of effort to create the response file, etc., so this may be overkill for a single instance but is very useful for upgrading fleets of machines quickly.
Yes, I was struggling to do this from the remote shell but I had remote access to the console to specify the ram disk to get through the upgrade process but I'd consider I'm one of the lucky ones when providers like AWS doesn't have that feature to access boot process in real time.
(Specifically the part "instruct the boot loader to boot this kernel" because it says to type in the file name during the boot process, which is not exactly easy on a remote machine.) https://www.openbsd.org/faq/upgrade64.html
I have a lot of respect to OpenBSD devs when people don't contribute back much even if they use OpenSSH everyday but a bit more friendliness doesn't hurt to let people try it out more.