Heimdall is a cross-platform (runs on Linux, Windows and Mac OSX), open source Odin alternative which uses the same protocol as Odin to interact with a device in download mode, that can be used to flash Android ROMs or Kernels onto Samsung Galaxy S phones.
The application officially supports Samsung Galaxy S GT-I9000 (8GB) from UK and Galaxy S GT-I9000 (16GB) from Australia, but users have reported that it also works with the Captivate, Vibrant, Fascinate, Mesmerize, Epic 4G, Galaxy S 4G, Infuse 4G, GT-I9000T, Galaxy Tab (7 and 10.1 inches), Galaxy S II, and the international GT-I9000. And indeed, at least for Samsung Galaxy S II, I can confirm that Heimdall works as I've tested it myself.
Before using Heimdall, remember that flashing has the potential to brick your phone so use it carefully! Flashing ROMs onto your device may also void your warranty!
For the steps required to flash an Android ROM from Linux onto your Samsung device using Heimdall, see THIS page.
For Ubuntu/Debian, Windows and Mac OSX, download Heimdall from HERE.
Ubuntu / Debian users should download both "heimdall" and "heimdall-frontend" deb files, install them and start Heimdall frontend using the following command in a terminal:
Ubuntu users can also install Heimdall from a PPA:
sudo add-apt-repository ppa:modycz/heimdall sudo apt-get update sudo apt-get install heimdall
Arch Linux users can install Heimdall via AUR.
For other Linux distributions, get the Heimdall source from GitHub.