If everything else is good, check that starter is not jammed. Rocking m/c back and forth while in high gear will often clear it (you may hear a click as it disengages) or you may need to unbolt the starter motor. However, rattling or chattering of the starter solenoid usually indicates a low battery power. It could also be a result of a bad engine earth.
Mr. Toad, August 2008