In a medium bowl, stir together the brown sugar, chili powder, paprika, garlic powder, salt, black pepper, and cayenne.
Use your hands to rub the mixture all over the pork shoulder.
Wrap the pork in plastic wrap and refrigerate for several hours, preferably over night. ( I have done this right before I put it in the oven and it still turns our great).
Preheat oven to 300 degrees ( I like 275). Place quartered onions in the bottom of a large roasting pan (disposable foil or use parchment on your own pan for easier cleaning) and place pork roast right on top.
Completely cover the pan with heavy foil. Put in the oven and roast until it is fork tender and falling apart, about 7 hours. (Test this by inserting two forks into the pork and then pulling them apart; if the meat pulls apart easily, it's done! If you meet much resistance, cover it and pop it back in the oven for 30 to 45 minutes, then test again. Keep going until it's falling apart.
Serve it on buns with your favorite bbq sauce.