I got my hands on an old original iPhone and wanted to jailbreak it to play around with Cydia. At some point I'd also like to try using Haxe to write apps for it, just to see if I can get my "Hello World" game running on iOS. I decided to look around for ways to jailbreak it in Ubuntu Linux so I wouldn't have to reboot into Windows, because I'm lazy like that. While an older version of redsn0w is cross-platform, it wouldn't recognize the iPhone ipsw firmware file and refused to proceed past that step. So I used the easy Spirit jailbreak instead.
I'm running Ubuntu but you should be able to adapt this for your distro. Getting Spirit compiled and running is quick and easy, and it'll load Cydia for you. The one caveat is that Spirit supports firmwares 3.1.2, 3.1.3, and 3.2 only. This isn't an issue for an old iPhone 2G, mine is running 3.1.3 and won't ever support later firmware. Getting Spirit from the git repo and compiling it is pretty simple, I followed the steps laid out here and it took all of two minutes.
In Ubuntu run the following to get git and the necessary libraries installed:
sudo apt-get install git-core libplist-dev libimobiledevice-dev
git clone git://github.com/posixninja/spirit-linux.git
And finally run make to compile the source into a binary.
Now you can plug in your iPhone 2G and run the Spirit binary, once it's loaded just click the button to jailbreak and Spirit will do so and reboot your iPhone. Cydia will be installed and ready to go.
I don't suppose too many people who run Linux-only use iPhones, but for someone like me who hates rebooting and got an old iPhone as a gift to mess with, it's a good thing Spirit exists. It's just too bad that it won't work with iPhones running the latest firmware, but that's the nature of cracking open a closed platform.