Start by preheating your oven to 375°F or get your steamer ready over medium-high heat.
Heat a pan with oil and cook your chopped onions until soft and clear. Take them off the heat and let them cool completely.
Mix together in a large bowl: ground pork, drained crushed pineapple, shredded carrots, the cooled onions, raisins, banana ketchup, beaten eggs, salt, and pepper. Use your hands to mix everything really well for about 5 minutes until it starts to stick together nicely.
Lay out a piece of aluminum foil (about 12 inches). Spread one-third of your meat mixture on it into a rectangle shape, about half an inch thick.
Place your quartered hard-boiled eggs and sliced Vienna sausages in a line down the middle of the meat.
Using the foil to help you, carefully roll the meat over the eggs and sausages to form a log about 3 inches thick. Keep the filling centered as you roll.
Wrap your roll tightly in the foil, making sure to seal the ends well. Then wrap it again with another piece of foil for extra protection.
For steaming: Put the wrapped embutido in your steamer and cook for 45-50 minutes. For baking: Put it on a rack in a pan with 2 inches of hot water and bake for 50-60 minutes until it reaches 160°F inside.
Let it rest for 15 minutes before unwrapping. For the best results, cool it completely in the fridge for at least 2 hours or overnight.
When you're ready to serve, heat some oil in a pan. Take the foil off and cut the embutido into 1-inch slices. Fry each slice until golden brown on both sides, about 2-3 minutes per side.
Serve hot with banana ketchup or sweet chili sauce alongside steaming rice.
For storage, keep it wrapped in the fridge for up to 3 days or in the freezer for 3 months. When you want to use a frozen one, just thaw it in the fridge overnight before frying.