Ok, thanks to varnie and geekmaster! Everything is fine again now.
What happened:
I was about to try and create an update package which would allow to install an SSH-enabled diags partition without going through all the Windows -> USB downloader -> fastboot mode misery.
We already know that the main kernel is at offset 0x41000, the diags kernel at offset 0xe41000 on the device. So all it takes is a bit of dd'ing around.
Being the wise guy that I am, I didn't just pack the update.bin, but tried the script using an interactive session first (which allowed me to repair the system even while it was horribly broken, without rebooting first).
Being the stupid guy that I am, I forgot to append the "seek" parameter to dd - so instead of writing the diags kernel to where it should be, I wrote it right to the beginning of the "disk", overwriting the MBR, and parts of the main kernel.
In fact, having two different versions of first blocks now also gives us a bit more information about the disk layout: the first 65 4k-blocks seem to be mostly irrelevant, with the obvious exception of the partition table within the MBR. And, an interesting observation: the files sent by varnie and geekmaster were actually different. The differences are limited to the
Master boot record though, and seem to be irrelevant, but interesting: the entire 446 bytes of bootstrap code were "00" in varnies file, but "FF" in geekmasters. Since the code is obviously not used, this doesn't matter, but I'm curious as to were it comes from. And, the "number of sectors" entry for the 4th partition (userstore) differs, even though the rest is identical for that partition (and the others).
Funny stuff