go to the building to the east of town, defeat all the show girls, and talk to the man in the audence he will give you the tm 4 surf
You can get Surf from a man after you defeat the Team Rocket Grunt in Ecruteak Dance Theater.
go to olivine and surf south-west
you have to surf to Cianwood city and go to the pharmacy right beside the Pokemon center. Then beat the Gym to get HM02 - Fly
You have to beat the pastroria gym leader in order to get the move surf.
read the wall and catch all the unknowns
You have to get the move Surf. Then teach it to a Pokemon. After that if there is a place where you want to Surf press A.
surf is a hm. It is unlimited.
You will need a Pokemon that can learn Surf or has the move Surf. When you walk up to the water's edge, tap A or go into Party and select the Pokemon with the move Surf. The Pokemon will be called out and your character will ride on its back, while it's swimming through the water.
The majority of water types
Go to http://bulbapedia.bulbagarden.net_wiki/Rock_Smash_(move)#Generation_II to find out.
Play Pokemon flute song
when your heading to iccirus city, youl'l run into the pokemon league champion and he'l give you surf