If you can experiment with him at weekends try him on different breakfasts, you need more protein there for sure. Protein is the building blocks for muscles, along with carbs and fats too of course.
Eggs on toast with bacon or mushrooms, tomatoes, sausages (good quality), think fry ups! Peanut butter on toast, mashed avocado on toast, ham bagel. Also google Paleo egg muffins. Sweet potato hash browns too. You can pre-make and freeze. Also another great one for good calories is smoked salmon and cream cheese in bagels, or omelettes with anything in that he likes.
Smoothies with oats in and protein will give longer lasting energy than cereal which just gives a huge sugar spike, followed by a dip which calls for more sugar and will usually be junk again at that age! Both of you talk about how he feels one and two hours afterwards, see if it is better than on a cereal day. Even better if you can trial proteiny foods on a training day to see if his energy stays constant or if he has dips. He can replenish after training with cereal (carby things) then if he can't cut it out completely.
It's going to be tough dealing with the school food unless he thoroughly understands the need for fresher food to help his gains be muscle, not just fat! Chicken, pasta salads, wraps even can be better than pizza/chips. Try to get him to make small changes towards more natural foods than processed wheaty fake foods that don't give him many nutrients. Obviously all the foods I'm recommending will give him good brain power too, so concentration should peak too.
Dinners sound great, you can pack out things like that with red lentils as they absorb the juices and add so much extra goodness and clean calories. Also all the beans in the world are brilliant for all sorts of goodness, so buy loads of cans of beans to chuck in everything. Even baked beans are a good quick release energy for him and will sustain him quite a while. He needs a calorie surplus to gain muscle but he also needs to be doing some resistance or weight training not just running around. He also needs total rest days.
Hope this helps!