[Galaxy S II Q&A, Help & Troubleshooting] HellcatDroid:
Here's a first "paste-draft" from my side for the guide:

I added some random comments in "<" and ">" throughout this draft:

<insert zergrush root here>

Making the first dump/backup of the state your phone was shipped in

After applying the ZergRush root, you haven't actually modified anything on the internal (system) storage of your phone yet.

That is good, as now you are able to make a backup of the exact state you got your phone, keep this backup at a save place and you will always be able to restore your phone exactely to how it was when you got it.

First thing we need to backup is the kernel - as to backup all the other parts, we are going to replace the kernel with a custom one!

Download this app to your phone: https://market.android.com/details?id=net.hellcat.droiddev.ktool

Launch it and hit "Dump current kernel to /sdcard/zImage"

This should get you an 8MB "zImage" file in your internal storage that contains the kernel your phone is currently running.

Now that we have a backup copy of the current, original kernel we can flash a custom one to make all the other backups.

Grab an Odin flashable .tar of the kernel of your choice (should contain CWM recovery and have some way of getting a rootshell via ADB in recovery mode) and copy it as "update.tar" to your internal storage.

Suggestions for easy root kernels that contain CWM and also allow a root shell via ADB in recovery are:

- CF-Root

- Hellcat's Root Kernel

Launch kTool again, but this time hit "open update .tar".

After a short while you'll get a small popup telling you a kernel zImage was found int he .tar and the "Flash kernel" button will be enabled - hit it!

Now hit "back to main screen" and while we are here give the "Dump EFS...." button a go as well.

Once that's done, hit "Reboot to recvoery" and get the PC ready.

The next few steps we need to do from a shell on the phone from the PC while being in recovery mode.

The reason for this:

We are going to dump some flash partitions that are usually mounted when the system is fully up and running, and raw-dumping mounted filesystems can (and usually will) result in corrupted, unusable images/dumps.

Q: we are running CWM right now, why not just make a backup from there?

A: we'll be doing that later on, but in the opinion of the guys who wrote this guide, it was better to have a "solid raw dump" of the initial state, IN ADDITION to any backup made later on ;)

When recovery is booted up, connect your PC and the S2 via USB, open a command prompt and fire up a shell to the phone via

adb shell

<we need to simplify this - how?>

Once on the shell, gain root if not not already having it (check with the kernel describtion what to do to get root in recovery mode) and run the following commands:

umount /data
umount /cache
busybox mount /dev/block/mmcblk0p11 /sdcard
dd if=/dev/block/mmcblk0p4 of=/sdcard/param.lfs bs=4096
dd if=/dev/block/mmcblk0p7 of=/sdcard/cache.img bs=4096
dd if=/dev/block/mmcblk0p8 of=/sdcard/modem.bin bs=4096
dd if=/dev/block/mmcblk0p9 of=/sdcard/system.img bs=4096
dd if=/dev/block/mmcblk0p10 of=/sdcard/data.img bs=4096
umount /sdcard

Once we have done all that, reboot the phone back to normal, copy all the backup files we just created to your PC, burn them on several DVDs and keep them save.

From now on, you should reboot into CWM every now and then and use it's backup function, especially before flashing anything.

ALWAYS make a fresh bsckup before flashing anything.