ATMega328 (Non P) and 'Upload Using Programmer' error

Using an Arduino Uno, you can program your Atmega328 with a bootloader or directly with any other hex file (you do not really need a bootloader for most applications) by following the steps of this tutorial: http://pdp11.byethost12.com/AVR/ArduinoAsProgrammer.htm