My parents are also 9hrs away, and my daughter (2 1/2) does surprisingly well with the trip.
A new toy every couple of hours - YES! We have a full-size magnadoodle - it fits nicely in her lap and is very entertaining.
Take audiotapes/CDs. You may have to listen to the same one over and over and over. I recommend Bear in the Big Blue House if you don't already have favorites. Tell yourself, "It's better than crying."
Know your route, and try to have some possible stops in mind. Just getting out and walking around helps a lot. In addition to the obvious rest areas, places that work for me are interesting stores or even small museum type activities. For example, on my route is a railroad museum where you can take a short trolley ride, and a really fun alternative energy store. But stay flexible. Don't stop if she's sleeping, but then realize if she's been asleep for a while you'll want to grab the first possible stop when she wakes.
Leaving as early in the am as possible helps me. Dress her the night before in comfy travelling clothes. Then, in the morning, I can stuff DD right in the car seat still sleepy, and I don't lose time trying to organize her before we leave. And, I am still feeling fresh when we arrive. But know your, and your child's rhythms.
Have food with you. Some suggestions: sandwiches with cream cheese or avocado or a nut butter. Cheese slices. Fruit slices. A sippy cup of milk, water, and juice. My daughter likes a 'granola' of cheerios, raisins, and cashews. I have one large container of this that I dole out into a smaller bowl, so that I won't have more than a handful flung across the car. Any favorite cookies or snacks. Leftover small pancakes are also good. I try to have a couple of small empty bowls so I can dole out more small portions.
Take a roll of paper towels and some extra water.
Have a change of clothes for the child.
Accept now that your car will get food in the back seat, that whatever clothes you've chosen for him will get caked with assorted food items. He'll live and so will you. It's not worth getting angry over.