The first time I was asked for a "passport-type" photo for a travel visa, I naively went to a photo studio to have one taken. Since then, I've been printing them myself.
The only tricky thing about cheaply printing your own 2" x 2" photos is that photo centres invariably charge more to print wallet-sized photos than they do to print standard 4" x 6" photos. Not to worry, with a little copying and pasting, six 2" x 2" photos can be made on your computer into one 4" x 6" print, sent online to the Walmart Photo Centre, and picked up at the store one hour later for a grand total of $0.19.
To make the process even simpler, try using a website like PassportPhoto4You to arrange your wallet-sized prints onto a 4" x 6" print. This website is free, offers a wide selection of photo sizes (apparently as per 73 countries' passport/visa specifications), guides you through centering your face, and adjusts the brightness and contrast of your photo automatically. It only takes a few seconds to generate your 4" x 6" print and another few minutes to send it off to your local photo centre for developing (tip: choose matte, not glossy).