Risolto grazie! 
Allora, ho seguito la dritta di PaoloP e la guida di Testato.
Scrivo qui come ho fatto, perchè magari a qualcuno può servire:
Come ho scritto, ho usato 2 arduino nano. Su di uno ho caricato normalmente come si fa di solito lo sketch che si trova negli sketch di esempio di arduino che si chiama "ArduinoISP".
Questo arduino l'ho usato come programmatore.
Poi ho preso l'arduino nano col bootloader da modificare, e l'ho collegato al precedente arduino tramite i pin "superiori" ICSP seguendo la guida che avevo incollato poco sopra nel thread, ovvero:
Arduino without | Arduino as ISP
bootloader | programmer
__________________|________________
ICSP pin#1 (MISO) | D12
ICSP pin#2 (+5V) | 5V
ICSP pin#3 (SCK) | D13
ICSP pin#4 (MOSI) | D11
ICSP pin#5 (RST) | D10
ICSP pin#6 (GND) | GND
__________________|________________
(a sinistra i pin ICSP sull'arduino col bootloader da modificare, da collegare con i pin a destra che sono sull'arduino che fa da programmatore).
Poi ho editato il file /usr/share/arduino/hardware/arduino/boards.txt (su linux), aggiungendo questa serie di righe:
##############################################################
nano328optiboot.name=Arduino Nano w/ ATmega328 (OptiBoot)
nano328optiboot.upload.protocol=arduino
nano328optiboot.upload.maximum_size=30720
nano328optiboot.upload.speed=115200
nano328optiboot.bootloader.low_fuses=0xff
nano328optiboot.bootloader.high_fuses=0xd6
nano328optiboot.bootloader.path=optiboot
nano328optiboot.bootloader.file=optiboot_atmega328.hex
nano328optiboot.bootloader.unlock_bits=0x05
nano328optiboot.bootloader.lock_bits=0x0F
nano328optiboot.build.mcu=atmega328p
nano328optiboot.build.f_cpu=16000000L
nano328optiboot.build.core=arduino
nano328optiboot.build.variant=eightanaloginputs
##############################################################
Ho qualche dubbio sulla riga
nano328optiboot.upload.maximum_size=30720
perchè l'ho copiata dalla parte "default" dell'arduino nano con atmega328, e mi pare che optiboot occupi meno spazio, quindi lo spazio massimo a disposizione dello sketch dovrebbe essere qualcosa in più, comunque non penso che crei problemi. Il resto i fuse ecc lì ho copiati da altri guide che usano il bootloader optiboot_atmega328.hex, quindi credo siano corretti.
Sucessivamente ho riavviato arduino ide, ho messo "Arduino as ISP" come programmatore nel menù strimenti, , come tipo device: "Arduino Nano w/ ATmega328 (OptiBoot)" (che sarebbe il nuovo modello di arduino creato poco sopra).
Poi "scrivi il bootloader". Ed ha caricato il bootloader.
Poi ho reimpostato il vecchio programmatore (AVRISP mkll) nel menù sstrumenti ( e provato a caricare qualche sketch, tra cui:
#include <avr/wdt.h>
void setup() {
wdt_disable();
pinMode(13, OUTPUT);
digitalWrite(13, HIGH);
wdt_enable(WDTO_1S);
}
void loop() {
wdt_reset();
delay(4000);
}
che funziona correttamente!
Ogni secondo il led del pin 13 si spegne un attimino e si riaccende. Cambiando WDTO_1S con altri valori, cambia anche l'intervallo di reset, quindi tutto ok! 
Chiaramente per caricare sketch ora bisogna usare il nuovo modello di arduino aggiunto modificando il file boards.txt.
Grazie per l'aiuto! 