Sprinkle the pork shoulder with salt and pepper and allow to sit at room temperature for 30 minutes
Preheat oven to 275 degrees F. Heat canola oil over medium high heat in the bottom of a cast iron Dutch oven and sear the pork on all sides. Remove and set aside. In the same pot, add the onion, and cook until lightly caramelized. To the onion, add the sliced garlic, a pinch of salt, some freshly cracked black pepper, and the thyme and rosemary; add a splash of the chicken broth to deglaze the pan. Cook and stir another couple of minutes, scraping up any browned bits on the bottom of the pot. Remove the onion and set aside.
In that same pot, melt the butter over medium heat to start a roux. Stir in the flour a little at a time until fully incorporated. Cook, stirring constantly, until mixture reaches a peanut butter color, about 10 minutes. Slowly stir in the chicken broth until mixture is fully incorporated, thick and bubbly. Add the onions into the roux and stir.
Add the seared roast to the pot and ladle some of the gravy over the top of the roast. Cover and cook at 275 degrees F for 3 hours, or until meat pulls away easily with a fork, turning the roast about every 30 minutes and basting it with the gravy.
Serve as is, or remove the roast, skim off the fat, and simmer gravy until reduced and thickened. Can also use a slurry of cornstarch and water to thicken, if desired. Serve the roast smothered with a generous amount of gravy and hot rice.