How do you get a Metal Coat in Pokemon FireRed?

First go to island 5 and find you way to the memorial pillar. You need to surf and once you find the memorial pillar go to the right of the island and go down and it is sitting by the shore
in sixth island south near waer you get the sapphire
a magnimite has one
you can find it on the island with the big grave and the guy who says his onix is buried there. either he gives it to you or you find it there.
in a gym