How to Make It
In a mortar, combine the 1 tablespoon of olive oil with the garlic, oregano, cumin, 1 tablespoon of salt and 1 1/2 teaspoons of pepper; pound to a paste. Scrape the paste into a small bowl and whisk in the lime and orange juices. Pour the marinade into a very large resealable plastic bag and add the onion and pork shoulder. Carefully seal the bag, pressing out any air, and turn to coat the pork. Put the bag in a large baking dish and refrigerate overnight, turning occasionally.
Remove the pork from the bag and strain the marinade into a medium bowl. Pat the pork dry and let stand at room temperature for 45 minutes.
Light a hardwood charcoal fire and set up the grill for indirect cooking; you’ll need to replenish the hot coals periodically to maintain the heat. Brush the pork with olive oil and season generously with salt and pepper. Grill the pork over indirect heat for 4 to 5 hours, turning and basting with the reserved marinade every 30 minutes until the roast is almost done; move the roast further from or closer to the fire as needed to keep it cooking at a constant heat. The roast is done when an instant-read thermometer inserted in the thickest part near the bone registers 160°.
Transfer the pork to a carving board, tent with foil and let rest for 30 minutes. Carve into thin slices and serve.