Hi P.! Please do not feel like a bad mom. All kids (like adults) have their own natural sleep schedules and have to be "trained" to be on a different one. I have 3 kids, 2 of whom are school aged (6th and 3rd grades this year). The younger one has never had trouble getting up early and going to sleep early. But my oldest is a "night owl" and is very proud of her night owl distinction. Every year when school gets out for the summer, she loves to stay up late and will sleep until noon some days. Most days she is up by 10. However, about 3-4 weeks before school starts, I let them both know that it is now time to get back on the "school schedule". That means that 4 weeks out, they get their baths and are in the bed by 11 and will be woken up by 9. The next week they will get their baths and be in bed by 10 and will be woken up by 8. The third week, bath and bed by 9 and woken up at 7. That way, the last week should be the week they start school and they are bathed and in bed by 8:30 and are ok to be woken up at 6:30 for school. I have been doing this with them for 5 years now and it seems to work quite well with them. It allows them the freedom of summer time that all kids enjoy when possible and eases them back into their school time routine without too much headache. It's a lot easier than suddenly saying...Ok..you are going to bed at 8:30 and getting up at 7.
One thing I do know is that your son will probably be so excited that first day of school that he will get up without any problems and when he gets home that first day, he will be so tired, he will go to sleep without much problem either!
I hope that you might find this idea helpful. I really couldn't think of any other way to do it myself and this website wasn't available when my kids started school. :-) There are probably some other moms out there that can provide some other ideas.
Best of luck to you and your son as he begins his educational journey.
T.