For skin on pork belly, lightly score the skin and rub all over with salt or dry rub. Put the pork belly in the refrigerator, uncovered, overnight so the skin can really dry out. Remove the pork from the refrigerator 20 minutes before cooking. Rub lightly with olive oil.
For skin-off pork belly, rub the pork belly with about 1 teaspoon of olive oil, all over, then season well with salt or dry rub.
Preheat the oven to 285°F.
Cut two sheets of tin foil large enough to encapsulate the pork belly. Make a boat out of the foil. Place the pork in the boat - skin side up. Fully enclose the pork with the foil, close around the sides of the pork, but not tight against it. Secure the foil on top so that no steam escapes.
Place the foil packet on a baking tray in the oven.
Roast for 2 1/2 hours. After an hour, the pork will have shrunk, so tighten up the foil around the pork and continue cooking. After 2 1/2 hours, remove the tray from the oven. Turn the oven up to 475°F. Remove the pork from the foil and place it on a wire rack over a baking tray.
If you did not leave on the skin, roast the pork belly for 5-10 minutes at high heat to give the outside a nice crispiness. Remove it from the oven and allow it to cool for 10 minutes before slicing.
If you left the skin on, cook for 20-30 minutes to crispy up the skin. Be sure to keep an eye on it, to avoid burning. If the surface is uneven at all, the skin might start to darken in patches. You can protect spots with foil to keep them from burning.
Once the skin is evenly crisped, remove it from the oven and let it rest for 10 minutes before slicing.