Day before: At least 12 hours up to 24 hours ahead, prepare the marinade and put it on the pork.
In a small food processor add all of the ingredients, except the pork roast and toppings, and process to form a thick paste. Score the fat on the top of the pork shoulder, and place on a wire rack on a large baking sheet. Spread the paste all over the pork. Stick a few toothpicks on top of pork then cover in plastic wrap and refrigerate 12-24 hours.
Take pork out of refrigerator 1 hour before cook time. Preheat oven to 250 degrees. Place the pork shoulder (on the same sheet pan and wire rack) in the oven. Roast 8-9 hours until the internal temperature of the roast is 200-205 degrees and it is very soft when sticking it with a probe.
Remove pork from oven and let rest for 15-30 minutes before serving.
Place cut up or shredded pork on a platter and top with green onions, pickled red onions and sliced fresno or jalapeño peppers and serve.