Lay the pork on a board flesh side up, open up if tied. Combine the garlic, fennel, chilli flakes and olive oil and then brush the mixture over the pork. Season with black pepper. Roll the loin and tie at intervals with string. Place into a roasting tin. You can do this in advance and store in the fridge until you are ready to cook it.
Preheat the oven to Gas Mark 7, 220°C (430°F). Remove the meat from the fridge 30 minutes before cooking. Season with salt and black pepper. Place in the preheated oven and roast for 25 minutes. Reduce the heat to Gas Mark 4, 180°C (350°F) and continue cooking for a further I¼ hours, basting occasionally.
To cook the butternut squash: Peel, deseed, and cut the butternut squash into chunks. Place into a roasting tin, drizzle with olive oil, sprinkle with a teaspoon of ground cumin and season with a little salt and pepper. Bake in the oven with the pork for 15-20 minutes until tender.
To cook the potatoes: Boil the peeled potatoes until almost cooked. Drain and dice. Heat a tablespoon of oil in a large frying pan. Add the potatoes and sauté for about ten minutes. Stir through the sliced shallots and season with salt and pepper. Allow to cook for another 5-10 minutes until the potatoes are crispy and the shallots are browned.
When the pork is cooked, the juices will run clear - to be absolutely accurate use a meat thermometer. Pork joints should be cooked to an internal temperature of 70°C. Since large cuts increase approximately 5°C while resting, remove them from the oven at 65°C. Place on a plate or carving board, cover loosely with tin foil and leave to rest in a warm place for at least 10 minutes.
To make the gravy: Stir the flour into the juices in the roasting tin. Place over a medium heat and continue stirring with a wooden spoon. Gradually add in the stock or water and stir until it thickens. Taste and season then simmer for a couple of minutes. Pour through a sieve into a gravy boat.