arduino flashing memory?

You can purchase an Atmega328 IC with the Arduino boot-loader pre-installed or you can also install it yourself but you will need an Arudino uno to install the boot-loader. So it is recommended to get a Atmega328 with a pre-installed boot-loader.
Can the boot-loader be flashed into the ATmega328 in some other ways? or only via a working "Uno"?
How to build an Arduino Uno on a BreadBoard - All