$9 or whatever they charge for a photo is nuts.
I am renewing my passport and had a friend at work take my picture with my digital camera against a white wall.
I used
http://www.epassportphoto.com/ to frame and center them. Brought them to Walgreens and printed them for $1.
Funny enough there's no 2x2 option for photos on the Walgreens kiosk- smallest is a "wallet size." I asked the girl to just enter her passport code so I could get 2x2. They printed to that size and the charge was for two regular prints.