Heat the oil in a stock pot. Add the onions and salt and saute over medium-high until the onions start to turn golden-brown at the edges.
Add the garlic and ginger and saute for another minute. Add the rosemary, bay leaf, all-spice, peppercorns, carrots, celery and mushrooms and saute, stirring frequently, about 3-4 minutes.
Add the water-- the less water you add, the more flavor your stock will have. I prefer adding about 12 cups, but you could add less.
Bring the stock to a boil. Cover with a lid, lower the heat to a simmer, and let the stock cook, undisturbed, for an hour.
Turn off the heat. Let the stock stand until cool and then strain through a fine-meshed sieve or a sieve covered with cheesecloth. Press down on the vegetables to release any liquid in them.
Voila! Your stock is ready. Refrigerate and use as needed.