I know this question is old, but I still wanted to share what I found as this is still relevant. In my case, I was trying to convert the Terminus Bold font.
Warning: do not feel too motivated, I still couldn't convert psf to pf2 in the end, but others have reported that it did work for them. Maybe you will be one of the lucky ones. It may also depend on which font you want to convert. I did however manage to download the font I wanted in another format that could be converted by grub-mkfont. Read on.
Please note that psf2 is not the same as pf2! Psf2 is what the console uses, pf2 is what GRUB uses. I will use psf instead of psf2 in this answer as that is the extension commonly used for that file format.
After finding this page, my thought process was: if grub-mkfont doesn't understand psf, is there something I can convert psf to (preferably bit-mapped and lossless) that grub-mkfont does understand? The answer was bdf.
(grub-mkfont understands anything the FreeType library understands)
The answer I found was that PSF Tools could convert psf to bdf, so I compiled it and converted my psf font to bdf, but grub-mkfont complained that it had an invalid font size (24x24), however, the font itself is 24x12:
grub-mkfont: error: can't set 24x24 font size: Freetype error 23: invalid pixel size.
Looking into the bdf file, I saw that the size is indeed set as 24x12.
This was a font size that is only supported with a framebuffer in the Linux console, but I also tried smaller VGA sizes and ran into the same issue. I concluded that this was a bug in either PSF Tools or grub-mkfont.
Then, I continued searching and found a utility called gbdfed (which, lucky for me, was in the Ubuntu repositories) that can import psf and save as bdf.
Now, grub-mkfont parsed it without complaining (so the previous problem was in PSF Tools, not grub-mkfont) but the resulting pf2 font contained exactly zero glyphs. Again, I tried a VGA version, messed with the arguments for grub-mkfont and nothing worked.
In the end, I found out that the psf files I was trying to convert to bdf were actually bdf in their source form, so I traced down the original bdf file and this time, grub-mkfont actually accepted it and created a valid pf2! I still haven't tested it, though, because I need to get some sleep now, but the only problem I could possibly have now is that I have too many glyphs in the pf2 for GRUB to understand.
I am sorry in case my English is hard to understand, it's not my native language.