Until yesterday if you wanted your own ringtones on the iPhone you either had to get them from a very limited selection of songs on iTunes, or you had to jailbreak your phone and do all sorts of computery stuff. Now, if you are the Mac platform you can "legally" make all the ringtones you want. As part of a routine upgrade of GarageBand Apple included the ability to use the program to make ringtones for the iPhone. According to Apple you just: 1. Set up a cycle region that covers the area you wish to use in the GarageBand song. Note: This area must be 40 seconds or less in length. 2. Once the cycle area has been set, choose Share > Send Ringtone to iTunes.
You can find full instructions at the Apple suport site here.