you still talking about external oscilator, but where i connect him? (Im trying to burn optiloader to atmega8 16PU)
I'm not sure what this question means. Let me see if I can better explain.
The Atmega chips have an internal RC oscillator that has some level of calibration. I do not know the details. On a new ATMEGA328, by default it is set to use the internal oscillator of 8MHz which is then divided by 8. Therefore any code you write for the chip should expect a clock frequency of 1MHz. This can be changed by altering the fuse bits. You can alter both the source from internal to external you can also alter the prescaler.
I am told that the internal oscillator is not accurate enough to do reliable serial communications, however I have not found that to be the case. There may be a problem if I where trying to do very high speed serial while the chip is very hot or very cold. I just haven't had a problem.
Now to set up the baud rate, your code will need to know the clock frequency. Your bootloader will need to set up the baud rate. Therefore, when the bootloader was compiled, it assumed some clock frequency. If it were compiled for an UNO it would have assume a 16MHz clock frequency because that is the frequency of the crystal on every UNO board. So, if you wanted to improve the performance of your UNO, you could replace the 16Mhz crystal with a 20MHz crystal. But if you do that, you will need a bootloader compiled for 20MHz. Otherwise, the baud rate will be shifted up by 25% just like the clock frequency.
On the other hand, if you want to use the internal oscillator, it has a maximum frequency of 8MHz. Your standard bootloader will now have a baud rate half the expected baud rate. So you need a bootloader that knows the clock frequency is 8MHz.
When I need to do this, rather than recompile the bootloader, I simply grabbed a bootloader for an older board that was already compiled for 8 MHz. Something like a Lillypad, although I don't think I used that one.
I hope this helped a little.