I actually think "look up at the roof" sounds more natural, even though it doesn't strictly make sense. "on" should work too, though. I'm trying to think of when you'd use one vs. the other...
But the current sentence needs to go - "look up to" is a fixed phrase in English that means something quite different (to trust, to show respect for, etc.)
I think (and I'm seriously splitting hairs at this point) that if I say up 'at' the roof, I'd be looking at the roof itself but, I'd us up 'on' the roof if I'm looking with the expectation of seeing something on the surface (a cat, a lost ball or whatever). But. I agree, 'to' is all kinds of wrong
If he's on the ground, or anywhere lower than the roof, and looking up, then I would say he's looking up at the roof. Hungarian might use the "onto" suffix, but we don't need to translate that literally. You can throw a ball up onto the roof, but generally, we don't look up onto things. :)
Lots of comments here. The boy looks up onto the roof wasn't accepted but it should have been. There's no magic formula whereby one version is right and all others are wrong. There are some which will obviously be wrong but at the roof or onto the roof should both be fine.