but I was not successful due to the lack of a detailed step-by-step guide. It is a pity that the designers of Arduino IDE did not make this support before...
While I haven't done it personally yet, but the Arduino IDE has a means to define yourself a 'new' board running at any speed you define. There may be some libraries that won't work correctly at a non-standard speed, but that may not be a problem for you?
Anyway the procedure is as follows: (I think, again never done personally)
Locate your Arduino sketchbook folder (you can find its location in the preferences dialog in the Arduino software)
Create a new sub-folder called "hardware" in the sketchbook folder.
Put a copy of the file boards.txt that is located in the Arduino core into this new folder
Modify the file by editing one of the existing board definitions or create a new board definition
Restart the Arduino development environment.
Here is a typical board entry from the standard unmodified boards.txt file from Arduino version 22
##############################################################
atmega328.name=Arduino Duemilanove or Nano w/ ATmega328
atmega328.upload.protocol=stk500
atmega328.upload.maximum_size=30720
atmega328.upload.speed=57600
atmega328.bootloader.low_fuses=0xFF
atmega328.bootloader.high_fuses=0xDA
atmega328.bootloader.extended_fuses=0x05
atmega328.bootloader.path=atmega
atmega328.bootloader.file=ATmegaBOOT_168_atmega328.hex
atmega328.bootloader.unlock_bits=0x3F
atmega328.bootloader.lock_bits=0x0F
atmega328.build.mcu=atmega328p
atmega328.build.f_cpu=16000000L
atmega328.build.core=arduino
##############################################################
So you can either modify a existing board definition or create a whole new board definition. Just change the parameters to match your requirements, note the atmega328.build.f_cpu=16000000L line, that is the speed of crystal or resonator for the board, you would change it to =2000000L if you are using a 2Mhz crystal. After you save the file and reopen the Arduino IDE your board selection menu should include your newly defined board. Anyway that's how it is suppose to work and for something as simple as changing the clock speed I think you only have to change two parameters the one just mentioned and the atmega328.upload.speed=57600 line. If you are using the standard bootloader code the uploading baud rate would be eight times slower running at 2Mhz as it was at running at 16Mhz, so the line should be changed to atmega328.upload.speed=7200
Shouldn't be to hard to play with. No matter how lost you get you can just delete the boards.txt file from your sketch/hardware folder and the Arduino IDE will revert to using the boards.txt file in it's core directory.
Give it a shot and let us know if it worked for you.
Lefty