You're right: merely a .bin file is not enough—you need a .pdx bundle:
When building for the device a pdex.bin file is created. The game launcher looks for this file in the compiled .pdx bundle and loads it into memory if it exists.
From the same documentation you're supposedly referencing:
Make options are:
simulator
builds a .so file for the Simulator pdc
builds a .pdx bundle that will run in the Simulator device
builds a .bin file for the device <none>
builds a .pdx bundle suitable for both the Simulator and device
I got it to make the pdx, I put it on the device, and it crashes instantly on launch even though it compiled with no errors. This is the same thing that was happening when I tried to get it to compile on a arm box. Is there anyway to see the logs when it's running on device to figure out why it's crashing? It runs fine in the simulator
I'm sorry: I've linked the last reply in that topic. I've just edited the link to refer to the entire post. Read it from the top and all the way through. It has many suggestions that you can try before you give up.
If it's crashing on launch it's likely not built correctly. How are you building, what toolchain are you using? You noted the linux subsystem on Windows, are you using makefiles or cmake? Have you checked to see if your .bin file is the correct architecture? Did you make any changes to our base make/cmake files? If so, what did you do?