Beat Volkner of the Sunnyshore city gym.
You can't you just have to beat him and get it
well put rock in lava, but on the place where you have 2 rocks put the uper one
Hearthome's badge
you get the coal badge after defeating Roark in eterna city
if you are looking for the third gym badge i suggest Veilstone city.
in the 1st gym badge
Beat the gym
you must beat the eighth gym leader and he will give you the badge.
Once you obtain a badge it's permanently stored in the badge case.
Beat the gym leader.
Get the first gym badge
umm...you beat the 7th gym