I really like carpet tiles.
2'x2' would be great for your son's bedroom floor. I think I would not want them through my personal home common areas, but for a secondary bedroom concrete floor for your son? Yeah.
I would try cleaning the floor and laying them with double-faced tape. No muss or fuss.
144SF of a gray for $92 to your door:
https://www.ebay.com/itm/PACK-of-36-...Condition=1000
Or a peel-and-stick:
https://www.ebay.com/sch/i.html?_fro...c&LH_PrefLoc=1
If you decide you want carpet, I am certain you can pick up a nice remnant at Bells Carpet in Raleigh. Over behind Costco.
https://www.bellscarpets.com/