I think the existing answer is pretty minimal and tho the post is old, I found this while struggling so I thought I'd add a bit more about what finally worked for me...
I've found that you can't just boot from any old ubuntu image onto SBC's based on my experience with Pine64-LTS and RockPro64. (This is probably obvious to experienced users but that I am not.) After a lot of trial and error with images that didn't work (my device wouldn't even show any output thru HDMI when I tried to boot)
Eventually I found this
this unboxing RockPro64 post which led me to specific images that are built for this exact machine, managed by github-user ayufan-rock64.
Here's the page that I downloaded the image from:
https://github.com/ayufan-rock64/linux-b...tag/0.9.14
I, too was initially trying to install ubuntu-server but that wasn't an option so I just went with the bionic-minimal at the above page, since I wanted to set it up headless anyways. So far it's working well. I had wanted to be "cool" and use dd from the command line to burn the image or whatever but after a lot of failures I just installed balena-etcher and that worked perfectly.
Last thing, I didn't actually use it because it was for Debian but I found this github page which is a step-by-step how to set up a linux server on a RockPro64 (complete with a hand drawn schematic and everything) Thought this might be a valuable resource for other beginners:
github.com/PLK2/RockPro64-Simple-Server
Note: there's also a thread about bionic on rockpro64 on this very forum but from what I read it looked like users that had already successfully booted ubuntu and were wishing to upgrade. There's probably more useful info there too.