Things to remember: nandroid doesn't back up your kernel or modem at this time. If you try to restore a nandroid backup with an incompatible kernel or modem, you will have problems. For changing kernels, do the process below, then flash the kernel before rebooting. For modems, use odin or heimdall to flash the modem before doing the steps below.
Here are the current steps that I think work to restore a themed nandroid backup:
- Boot to CWM
- Mount system from CWM menu (or "mount /dev/block/stl9 /system" in adb)
- Run "su" from adb
- Restore Nandroid from CWM menu (or "nandroid restore /sdcard/clockworkmod/backup/insert_nandroid_folder_name/" in adb)
- Reboot!
Apparently I need to sleep now.
EDIT: I lied about sleeping. The revised list above seems to be repeatably working. Hopefully it's not a fluke.
Working theory:
/sbin/su is missing in CWM (which is why I've been mounting /system so that I could get to /system/xbin/su). When nandroid is restoring, it probably needs su to properly set the permissions.
This is why I've been needing to run the fix permissions script after the nandroid finishes restoring. Since the fix permissions script included with CWM (/sbin/fix_permissions) is faulty, I've been mounting /system again (because the nandroid process umounts it) to get access to /system/xbin/fxpms, which is an updated fix permissions script that Adrynalyne started including with superclean not too long ago.
So I think this boils down to su not being accessible at boot up by CWM. Just need to hunt down where that is happening in the source, and hopefully we will get this patched right up! In the meantime, someone could throw together a shell script to put on your sdcard to run the three commands (mount system, su, nandroid).
It's ok if that didn't make any sense. It's late and I'm rambly. I'm mostly just typing it so I don't forget.