The rooting itself is just flashing the kernel on the phone, quite easy and quick operation but took time to find the right kernel and a tool for a Linux machine. Most of the info you find by searching is for Odin on Windows. For Linux machines you can't use Odin but there is Heimdall, cmd-line tool for that.
Ready for rooting?
Steps:
1. Check your kernel version from Settings, Phone info, Kernel version. In my case this is 3.0.15-I9100XWLP7-xxxx.. IMPORTANT: This instructions is only for Android 4.0.3 with kernel 3.0.15-I9100XWLP7-xxxx..
2. Download the root kernel from the download link [2] and extract the zip and then the tar until you have 'zImage'
3. Download and install Heimdall from github [1]. Select the right package for your operating system. On Ubuntu/Debian select the newest deb-package. Note! Heimdall is cross-platform, for Win, Mac & Linux.
4. Connect your phone with USB to the PC and follow the rooting instructions with Heimdall by MrZammler(Winterland) [3]. Remember to verify that the device is detected before flashing.
Congratulations, your phone is rooted! For me searching this info was the biggest task, rooting itself was quite fast & easy operation. I hope this collected info helps someone :)
[1] Heimdall, https://github.com/Benjamin-Dobell/Heimdall/downloads
[2] Root kernel download, http://download.chainfire.eu/158/CF-Root/SGS2/CF-Root-SGS2_XW_XEN_LP7-v5.4-CWM5.zip
[3] Rooting instructions with Heimdall, http://winterland.no-ip.org/2011/09/root-galaxy-s2-with-heimdall-on-linux/