This is the definitive thread on how to make your own BP:
http://castboolits.gunloads.com/showthread.php?103852-My-homemade-black-powder
Be aware that the thread is over 100 pages long, and there is a lot of disinformation in the thread because people jumped in at page 50 without reading all the pages up to it and they spout off false information and then leave.
Also the thread covers two different mechanisms for making BP but finally settles out mostly on the corning method.
I buy my supplies, sulfur and potassium nitrate, from Duda Diesel. I make my own charcoal. I have yet to try making BP - still getting my equipment together.
There are 2 main ways to make BP: Screening, and corning.
In screening, you mill your ingredients together, and include a binder, like Dextrin. You then dampen the powder and push it through a screen. This results in very light powder that does not measure by weight or volume compared to real black powder. You will have to use more of it to get an equivalent bang. In a long arm, this is not such a big deal, but with smaller guns like revolvers, this can be a problem.
The "real" way to make black powder is corning. To do this, you mix the charcoal, sulfur, and potassium nitrate together in the usual proportions and mill it. Then you dampen it and place it in a hydraulic press under tons of pressure. This results in a ceramic-like cake of pressed powder. This is left to dry, and then it is broken up and ground with a ceramic grinder and then passed through screens to obtain the correct grain size (FF, FFF, etc.). Fines can be put back in the ball mill for re-use. Powder made in this way is nearly identical or even superior to commercial powders, except it is not graphite coated.
It's recommended to only make BP in small batches - 1/2 pound or so at a time. Real-life powder mills have exploded with the result of loss of life. So be careful.
Steve