mountains are part of the terrain, honestly i have never tried but this might work (seems fine):
http://freespace.virgin.net/hugo.elias/models/m_clouds.htm, you will do the perlin noise and then tile some images and merge them, then do an exponential check to eliminate unwanted noise, and then use the final result as the heightmap of a terrain, that could generate endless random terrains
now for the trees, you could use some similar technique and specify white for like, 100% chance of add tree, black 0%, grey 50% (you get the point eh?
), and just spawn trees according to the map
though, i never tried and this is just what i can think of, it could be much more random than expected though, you should add in your touches to achieve your desired results, will be somewhat tricky and could be complex, good luck with that