First off, turn the TV off during dinner......it may be great to entertain him while you're making dinner, but it is a major distraction we battle in our house as well. He may not like it, but he's the kid.
We have little to no tolerance for telling us they don't like a meal. We try to incorporate foods they like into what we plan, but part of being a kid is learning to try new things.
I know, for instance, that neither or my kids like mashed potatoes. Strange. So, I don't make them too often. But, when they're made, there's a little on the plate, and a few bites are expected.
We witnessed something similar a few weeks ago while on vacation with our friends. Their 7 year-old took a bite of her taco (beef) and said, "This is disgusting". So, her dad took it and made her a chicken taco to which she said, "This is disgusting. I want a hot dog". Her dad said no and offered a bologna sandwich. She threw a fit that she didn't want bologna sandwich, told her Dad she hated him, hit him and threw a tantrum in the next room while Mom got out a brand new pack of hot dogs and made her one. She ate 1/2 and threw the rest of the pack away the next day.
Figure out what your rules are and stick to them is my best advice. It's OK to give options in my opinion. Would you prefer chicken or beef tacos tonight? Would you like pasta or kabobs?
Good luck! 2 is a hard age, but 3 is harder, so the sooner you get it under control, the happier you will all be.