Hi, no problem to help at all, however, it could be easier if you have included the corresponding error messages, which surely were there, but maybe you overlooked them.
The build command writes the detailed log to the file "build/build.log". Just use the commands "less" or "cat" to view the log and search for the first line containing an error.
As for the file extensions (you tried *.elf and *.o), let me note that the Linux kernel and most linux applications (except GUI applications) overlook the dot '.' character in the file name and are simply unable to take file extensions into account. The tradition is to completely omit extension from the file names of the executables; just have a look in the directory "/bin" for examples.
I recommend using the following command in the Makefile to install an executable built with Xilinx SDK:
$(TARGETINST) -d -p 0755 data/myapp.elf /bin/myapp
The directory "/bin" is already in the default search path, thus, you will be able to run your application by simply typing "myapp".
As for the default app, it is a platform-independent script and you should be able to run it in the VM, too. In the command line, when you are in the same directory as your script, just prefix the name of the script with "./" to run it, for example as follows:
./myapp
If it works, it will work on the Zynq, too.
If it complains "Permission denied", you have to make sure the permission bits and owner of the file are such that you have the right to execute the script. The brute force method is to simply execute
chmod 0755 myapp
or in the Makefile, add the permission bits to the install command as follows:
$(TARGETINST) -d -p 0755 data/<myapp> /bin/<myapp>
If it complains "bad interpreter", most probably the file has MS-DOS line endings (0x0D 0x0A instead of 0x0A). Just install the "dos2unix" software package by running and run the command as follows:
dos2unix myapp
Last but not least, let me mention that when you need to debug your application, the easiest way is to add the "TCF Agent" application to the image (no dropbear needed, no qemu either) and configure the Xilinx SDK to use it. It is also the fastest way to try out changes to your application - only a couple of seconds and your application runs on the real hardware.
The *.o files are intermediate object files, which are no longer needed when the executable has been built. They cannot be run.
Happy to hear that you got it running :)