[Galaxy S I9000 Android Development] distortedloop:
Well....? Will it make my head explode? :D

No reports of that, yet, but if someone's head exploded, they wouldn't be able to report back. This could be problematic in determining negative outcomes to that potential problem. LOL.

EDIT/UPDATE: Managed to get my phone back to working order by using the phone's built-in recovery to do a factory wipe - once factory wiped, I could get the phone to boot and used the Samsung file manager app to copy the Clockwork recovery-update.zip to the /sdcard, renamed it to update.zip, then used Clockwork recovery to restore my nandroid backup from last night. Everything, including my mimocan fix and ext partition stuff restored w/o problems.

Still interested in any ideas of what went wrong below, as I'd like to try this fix.

On a more serious note, where the heck is the Mac/Linux script? :D

I'm on JG1 and had been using the mimocan fix, but I reverted all those changes and did a reboot to confirm the phone was functioning properly prior to trying this.

I figured I could convert your bat file to a Mac script by just changing a few lines to add the proper path and remove the DOS batch language stuff regarding the display that won't work in Terminal. Change the file to .sh and chmod to 755. The script ran, but errored out at each step. Not sure why, it should have worked, maybe someone else can figure that out for Mac users.

What I did then was just copy and paste each line into the Mac Terminal app and they ran just fine when pasted in one at a time.

That's where my head didn't explode, but my phone did! LOL

Like an idiot, I had forgotten to copy and run the "./adb push ./userinit.sh /sdcard/userinit.sh" part of your script, which of course meant that the script on the phone puked when it got to that point, because there was no userinit.sh to copy, and then it puked again when there was no userinit.sh to chmod on.

Copying over init scripts
cp: can't stat '/sdcard/userinit.sh': No such file or directory
Setting up permissions
chmod: /system/bin/userinit.sh: No such file or directory

No problem, I'll just do that stuff manually in adb shell and redo the steps from where I errored on:

# busybox cp /sdcard/playlogos1 /system/bin/playlogos1
# busybox cp /sdcard/userinit.sh /system/bin/userinit.sh
# busybox chmod 755 /system/bin/playlogos1
# busybox chmod 755 /system/bin/userinit.sh

No errors reported, and everything else in the script appears to have ran properly, so I figured this should have worked and rebooted.

The phone successfully rebooted, but something was amiss - I ended up in TouchWiz interface (I use ADW launcher), multiple programs (dialer, etc) all force closed on start up, and none of my user installed apps were present. Yikes!

Okay, stupidity really sets in now and I figure I'll just reboot and see if it takes this time.

Now the phone won't boot all the way. It plays the initial startup logo (the Galaxy S i9000 badge, and then the sparkling S - but the sound is out of sync at this point). After that the screen goes black and unresponsive. The only thing I can do is hit the menu button, which lights up, but nothing happens.

I'd made a Nandroid backup through Clockwork prior to doing this, so thought I could recover by just running the update.zip from a recovery boot, but when I get to the phone's native recovery and select the update.zip option, it tells me no update.zip found. Ouch. Now I'm feeling screwed.

Last desperate attempt to recover gracefully from this was to try to get into adb and see if I could undo the steps, but the phone doesn't boot far enough to get into adb. I also tried booting to recovery and using adb from there...I think you can do that from Nexus One recovery, but it doesn't work on the Galaxy S.

Looks like I'm probably headed for an Odin flash. Not too big a deal in the long run; hopefully once I am Odin flashed, I can root and use Clockwork to get back to my original state before I try again.

One last thing I may try is to do a factory wipe from Recovery and then try to boot.

I'll report back. Meanwhile, here's my whole terminal log in case anyone's interested, and maybe someone can figure out where I screwed up beyond what I've already pointed out.

MBP1:RyanZAEXT2LagFix ALPHA 1 dave$ /Volumes/SSD2/Downloads/RyanZAEXT2LagFix\ ALPHA\ 1/lagfixme.sh
===============================================================
===============================================================
One Click Lag Fix for Galaxy S I9000
===============================================================
===============================================================
Android Debug Bridge version 1.0.25
...
__________________________________________________________
Pushing required files to /sdcard This is internal SD Card Please wait.
': Invalid argumentatelagfix.txt' to '/sdcard/createlagfix.sh
': Invalid argumentylogos1' to '/sdcard/playlogos1
': Invalid argumentrinit.sh' to '/sdcard/userinit.sh
/Volumes/SSD2/Downloads/RyanZAEXT2LagFix ALPHA 1/lagfixme.sh: line 13: unexpected EOF while looking for matching `"'
/Volumes/SSD2/Downloads/RyanZAEXT2LagFix ALPHA 1/lagfixme.sh: line 17: syntax error: unexpected end of file
MBP1:RyanZAEXT2LagFix ALPHA 1 dave$ ./adb kill-server
MBP1:RyanZAEXT2LagFix ALPHA 1 dave$ ./adb push ./createlagfix.txt /sdcard/createlagfix.sh
* daemon not running. starting it now *
* daemon started successfully *
9 KB/s (1741 bytes in 0.177s)
MBP1:RyanZAEXT2LagFix ALPHA 1 dave$ /Volumes/SSD2/Downloads/RyanZAEXT2LagFix\ ALPHA\ 1/lagfixme.sh
===============================================================
===============================================================
One Click Lag Fix for Galaxy S I9000
===============================================================
===============================================================
Android Debug Bridge version 1.0.25
__________________________________________________________
Pushing required files to /sdcard This is internal SD Card Please wait.
': Invalid argumentreatelagfix.txt' to '/sdcard/createlagfix.sh
': Invalid argumentlaylogos1' to '/sdcard/playlogos1
': Invalid argumentserinit.sh' to '/sdcard/userinit.sh
/Volumes/SSD2/Downloads/RyanZAEXT2LagFix ALPHA 1/lagfixme.sh: line 13: unexpected EOF while looking for matching `"'
/Volumes/SSD2/Downloads/RyanZAEXT2LagFix ALPHA 1/lagfixme.sh: line 17: syntax error: unexpected end of file

MBP1:RyanZAEXT2LagFix ALPHA 1 dave$ ./adb push ./createlagfix.txt /sdcard/createlagfix.sh
100 KB/s (1741 bytes in 0.016s)

MBP1:RyanZAEXT2LagFix ALPHA 1 dave$ ./adb push ./playlogos1 /sdcard/playlogos1
4 KB/s (56 bytes in 0.011s)

MBP1:RyanZAEXT2LagFix ALPHA 1 dave$ ./adb shell su -c "/system/bin/sh /sdcard/createlagfix.sh"
Creating 1GB file to store data inside. This could take a long time...
0+0 records in
0+0 records out
0 bytes (0B) copied, 9.747972 seconds, 0B/s
Creating loopback, you may see an error that it already exists. Ignore that error.
Linking loopback to the 1GB file store
Creating the EXT2 filesystem
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
64000 inodes, 256000 blocks
12800 blocks (5%) reserved for the super user
First data block=0
Maximum filesystem blocks=4194304
8 block groups
32768 blocks per group, 32768 fragments per group
8000 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376
Creating a mountpoint for files, you may see an error that it already exists. Ignore that error.
Mounting device
Copying data across
Clearing out any old backups, ignore any errors
Backing up old data
Linking to fast ext2
Now setting up reboot support
Moving boot animation
Copying over init scripts
cp: can't stat '/sdcard/userinit.sh': No such file or directory
Setting up permissions
chmod: /system/bin/userinit.sh: No such file or directory
All Complete!
MBP1:RyanZAEXT2LagFix ALPHA 1 dave$ ./adb push ./userinit.sh /sdcard/userinit.sh
0 KB/s (177 bytes in 0.351s)

# MBP1:adb-fastboot dave$ ./adb shell
$ su
# busybox cp /sdcard/playlogos1 /system/bin/playlogos1
# busybox cp /sdcard/userinit.sh /system/bin/userinit.sh
# busybox chmod 755 /system/bin/playlogos1
# busybox chmod 755 /system/bin/userinit.sh
# reboot