In a large bowl, combine all of the ingredients except onions, garlic and pork shoulder. Whisk together until well blended. Taste for salt and season to taste. Stir in the onions and garlic. Add the pork roast, making sure that it is mostly covered by marinade. Refrigerate and marinate for up to 24 hours, turning over after 12 hours.