sdinnu:
Since this doesnt even boot properly, does the bootloader need to be recompiled for the atmega328p?
Absolutely. The code is compiled to run at a certain address, and the bootloader has to be at certain limited addresses. You can't just stick them where you feel like it.
How would I go about doing that?
I'm not sure exactly how to recompile bootloaders (depends on your platform a bit) but there should be a makefile there. I've recompiled Optiboot on the Mac by ignoring the makefile and doing my own thing.