well u need the rainbow wing to get it u need to go into pewter city talk to every body espacialy in the musuem and somebody will give u the rainbow wing and then go into the bell tower
although my friend has already answered this, ill be more specific. first, you go to pewter town. look for the old dude on the feild of flowers. talk, and he'll give you the rainbow wing. now, fly to eucreek city and go in to the non burnt tower. talk to the dude to the far right, and he'll let you pass. go walk and talk to the dude blocking the ladder and he'll let you pass. now, mess around with the past few floors and youll get to ho-oh. now, get aloooooooot of ultra ball and others. or, just go to www.seribii.com thx:)
Go to Pewter City (You can do this before battling Brock) and talk to the old man near the eastern exit (The one that goes to Mt. Moon), he will give you the Rainbow Wing.
Now, go to the Bell Tower (Near Ecruteak City) and climb to the top.
Ho-oh should appear. BE READY! IT IS AT LV. 75!
There should be someone at the east exit of Pewter City. Go and talk to him and he should give you a Rainbow Wing. I did it in Heart Gold and he gave me a Silver Wing for Lugia. Go to Ecruteak City and climb the Bell Tower and you should be able to battle Ho-Oh.
well i have heart gold and after u beat the komono sisters they say to meet them at the bell tower (tower with ho-oh) find ur way to ho-oh and you catch it. :D