From Android Wiki
I've looked through the update.zip and it seems only a few changes are needed to -keep- root.
- Download the recovery image
- Flash the recovery image
- Unzip the FULL RC30
- Replace the /system/recovery.img with the one from step 1.
- Copy /system/bin/sh to system/bin/rootshell, and make the following changes to META-INF/com/google/android/update-script (or download a modified copy from a trusted source)
Add this to the end of the first line, which should start with: assert getprop("ro.build.finger.......
|| getprop("ro.build.fingerprint") == "generic/htc_dream/dream/trout:1.0/TC3/eng.jesusfreke.20081105.164210:eng/test-keys"
set_perm_recursive 0 2000 0755 0755 SYSTEM:bin
set_perm 0 2000 04755 SYSTEM:bin/rootshell
BACKUP anything from /system as it will be formatted. Do -not- use the 4 meg rc30 patch, as it will brick your device at this stage.
Resign with the utility provided in the above link, copy to sdcard, enter recovery, and pray. If it works, you can run the following from the terminal app (not pterminal) /system/bin/rootshell
I've sucessfully done this on my machine.