Overall, I think you need to get rid of the roo. But I'll go ahead with some other things....
when you walk toward him, what does he do? Does he yield to you? When he charges, what do you do? Does he only do it when your back is turned?
You need to be moving toward him in a calm but assertive manner. Like it never even crossed your mind he wouldn't get out of your way. Not mean, not aggressive, just that "I am the Queen and I'm above you". And then, every once in a while, just make a short charge toward him and make him run away from you, just a few feet is good. No reason, just that you're the boss. This is how my head rooster treats the lesser roosters.
But again, a child is involved and the rooster sounds like his behavior is ingrained--he's done it more than once. Get rid of him.