Using an Uno as ISP - burn Arduino "bootloader" into factory atmega328

I want to try my hand and making my own Arduino using my existing Uno. There are a lot of webpages that teach you how burn the “bootloader”, but some of them seem out of date or recommend using v1.01 instead of the latest v1.0.5.

I was wondering if anyone has tried this recently and could tell me which tutorial they followed? The most promising one I’ve found is this tutorial from two years ago, which relies on the OptiLoader. I need to make 8MHz and 16MHz version of Arduino that use an external clock. If the tutorial is making the fuses neccessary to use the external clock, is there any modification I need to do to the bootloader? Would just plug in an 8MHz or 16MHz crystal on the bread board, which ever one I want? That is, if I make a 16MHz version of the ATMega, I can just replace the 16MHz crystal with a 8MHz, without having to do anything special?

http://3g1l.com/blog-burn-bootloader-blank-atmega328atmega328p-arduino-uno

I’m also wondering if I have the wrong version of Arduino programming environment on my PC. The tutorials said there should be a menu item under <tools/burn bootloader/w/ Arduino as ISP>. But on my GUI, there is only <tools/burn bootloader>, with no option to tell it that I’m using the Arduino as ISP.

This is from the tutorials:

Any feedback would be appreciated.

Under tool select programmer then select Arduino as ISP.
Then select burn boot loader.
Writing this from ipad so I'm not sure of the exact wording.

I'm also wondering if I have the wrong version of Arduino programming environment on my PC.

It really does not matter.... Version 1.0..x of 1.5.x

The boot loader writing is controlled by entries in boards.txt and AVDDUDE does the dirty.

I strongly recommend you use Nick Gammon's tutorial

Ray