Atmega 8 development board

Okay, find your boards.txt file.

You will see that every section has a line like this:

atmega168.build.mcu=atmega168

You will not find one that end with =atmega328
That name is what ties in with a similar section in avrdude.conf to tell the programmer what it is dealing with.
So maybe you add this to your boards.txt file:

##############################################################

uno_noP.name=Arduino Uno for Atmega328
uno_noP.upload.protocol=arduino
uno_noP.upload.maximum_size=32256
uno_noP.upload.speed=115200
uno_noP.bootloader.low_fuses=0xff
uno_noP.bootloader.high_fuses=0xde
uno_noP.bootloader.extended_fuses=0x05
uno_noP.bootloader.path=optiboot
uno_noP.bootloader.file=optiboot_atmega328.hex
uno_noP.bootloader.unlock_bits=0x3F
uno_noP.bootloader.lock_bits=0x0F
uno_noP.build.mcu=atmega328
uno_noP.build.f_cpu=16000000L
uno_noP.build.core=arduino
uno_noP.build.variant=standard

avrdude.conf has a 328P section, but not 328 - so you need to copy/paste that section & make a 328 section so boards.txt can pull in the needed info.
Here's the top of it and what you need to change, the rest of the section gets copied as-is.

#------------------------------------------------------------
# ATmega328P   <<< remove the P
#------------------------------------------------------------

part
    id		= "m328p";  // <<< remove the P
    desc		= "ATMEGA328P"; // <<< remove the P
    has_debugwire	= yes;
    flash_instr	= 0xB6, 0x01, 0x11;
    eeprom_instr	= 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00,
		  0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF,
		  0x99, 0xF9, 0xBB, 0xAF;
    stk500_devcode	= 0x86;
    # avr910_devcode	= 0x;
    signature		= 0x1e 0x95 0x0F; // <<< change these to the '328 bytes - maybe just 0F to 14??