Well I didn't set out to make a yoga mat, i was making a hop-scotch mat for dd but it has since been used for yoga and works well.
I used a rectangular piece of flannel as it has a bit of grip to it. I applique hop-scotch squares to it but you could leave it plain or sew any design you want on it. Mine was a single layer of fabric but two layers with a bit of batting in between would be nicer. I then cut a rectangle slightly smaller than my flannel piece out of the rubberized mesh that you can put under area rugs so they don't slip. (I can't remember what it's called) I hand stitched the rubber to the mat.
The rubber keeps the mat from slipping around on the floor and the flannel gives some friction for your hands and feet.