After you beat 7 gyms,go right from Mahogany town. Youll be in Route 44. Keep going until you reach a cave. go into it,and get to the end. Youll see a girl stuck. Push her,and youll be at Blackthorn city. That's where gym 8 is.
It is your rival from Pokemon fire red and leaf green versions.
Go to the forth gym!
you have to get the cianwood gym badge and the olivine gym badge
you beat the gym leader
Sunnyshore City Gym: Electric (beacon badge from Volkner)
blackthorn city
it is bugsy the bug type leader
awww by beating the 7th gym
You must go to the Pokemon Gym. Beat the gym leader and he awards you with the 8th gym badge
You can obtain the 8th gym badge (the earth badge) in fire red from Giovanni in Viridian City.
in Goldenrod city
The only way to get a gym badge is to challenge the corresponding gym leader and win.