[General Questions and Answers] apexofservice:
I've got a Galaxy SGH-1897 "captivate".

I've been running various kernels and ROMs for quite a while now. I'm handy with linux and adb and I can flash things with heimdall.

Whelp, I saw that CM7.1 finally had a version for my captivate, so I installed it last night with Clockwork mod recovery. All went well with the install, but the system seemed buggy, or at least I was having some problems. One was that I couldn't seem to get all my user data restored through Titanium backup like I've been able to after other installs. So, having fun and walking along, I thought, oh, well what I want to do is restore back to 2.2 and my old rom (which was "Torch 2.1 or something"). Anyway, I booted into recovery then told CWM to restore. It errored out and tried to reboot, but couldn't get past the startup screen.

So, I used the volume-up-down plug-in-usb trick to get back into download mode. Then I used heimdall to flash the overstock kernel and CWM (http://cmw.22aaf3.com/aries/sgh-i896/root/) all went well. Now, I have the issue that I can't seem to go ahead and reinstall a new (or old) ROM. If I try to do a "restore", I get the error that I can't mount /system, installation aborts. The error says "file already exists", so I'm trying to figure a way to unmount /system before trying it, but so far no luck (maybe I can flash busybox and get su and get the job done). Alternatively, I've been trying to flash CM7 again, but that installation errors out with "Status 7", and seems to be failing some assert statement.

I'd love any advice. Let me know if you need more detail or if this is in the wrong forum.

---------- Post added at 03:48 PM ---------- Previous post was at 03:19 PM ----------

Just following up with more info here.

It seems like "Status 7" happens when the software one is trying to install is intended for some other hardware. I'm trying to verify this now.

Looking at the output of my error, all of the asserts seem true. getprop("ro.product.device") == "captivate" ...

getprop keeps wanting "captivate" or "captivatemtd" or "SGH-I896" or "SGH-I897" it seems. And that's no surprise, I'm using a captivate. I'm not sure what the "mtd" part is about yet. And I'm pretty sure my device is an I897.

Now I'm trying to isolate which statements are causing assert to fail. I'm using grep and find on the update-cm-7.1.0-RC1-Captivate.signed.zip archive to try to locate some clues. Any ideas?

---------- Post added at 04:30 PM ---------- Previous post was at 03:48 PM ----------

Okay, now I'm thinking that I'm simply barking up the wrong tree with the assert statements and the Status 7 error. From what I can tell, I'm trying to install captivate software on a captivate, so maybe this error message is spurious. Especially considering the fact that other tasks such as "restore" also seem to be failing, but with a more general sort of error.

When I use clockworkmod recovery to go to "recover" then I select my latest backup point, I get to wait abit during md5 checks then:

E:Can't mount /dev/block/st19 to /system with parameters auto llw,check=no
(File exists)
Error mounting /system/!
Skipping format ...
E:Can't mount /dev/block/st19 to system with parameters auto llw,check=no
(File exists)
Can't mount /system/!

So, 'file exists' seems to mean that the /system directory is mounted when it shouldn't already be, or else the install script should unmount it before it starts but has failed there. In either case, maybe this is a permissions issue. Does the recovery OS need privileges it doesn't have? Is there some way to flash busybox/su using heimdall or adb? Does that seem like my problem?