[T-Mobile Sidekick 4G] nxd:
This thread is really intended for developers, specifically those working on kernel development. Warnings included to dissuade usage in case of tl;dnr.

In the course of modifying the Bali SK4G kernel, I have soft bricked my phone several times. Always a fun moment, seeing the Samsung logo disappear and reappear again.

At first I used Heimdall to restore the entire phone back to stock, using ayoteddy's excellent ODIN howto and files, along with AdamOutler's Heimdall one-click thread.

But it's laborious to go that route. After restoring stock, I would have to re-root, re-flash CWM, re-flash the custom ROM. Then I could try to flash my kernel package again.

However, I found that using sk4g.pit and my most recent known-good zImage, I could recover quickly from a bad kernel flash. That made it a lot faster to assemble a working kernel.

This post is essentially a remix of knowledge from ayoteddy, AdamOutler, and possibly others. If you feel your work is represented here without proper credit, please let me know and I will do my best to correct the situation.

WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING

Following these instructions, you could soft brick your phone. Or you could hard brick your phone. Or some other bad thing could happen. Nobody but you is responsible if you attempt this. I hope it can be helpful, but flashing is risky. Be clear about the risk.

Please read at least the OP in these threads before you try this:

ayoteddy - [ROM][ODIN] Stock ODEXED T839UVKD1 (Sidekick 4G) Firmware [6/12/11] - http://xdaforums.com/showthread.php?t=1088413

AdamOutler - [UVKG2][Heimdall One-Click] Total Stock - http://xdaforums.com/showthread.php?t=1350060

Benjamin Dobell - [PROGRAM] Heimdall - Open-Source Cross-Platform Flashing Suite (1.3.2 Now Available) - http://xdaforums.com/showthread.php?t=755265

Please do not try this if the loss of use of your phone, perhaps requiring UART or JTAG access, or the Unbrickable mod, is not a risk you are wiling to take. It worked for the soft brick situations I have recently encountered, but it might not work for your phone or situation. It could make things worse.

WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING

These instructions assume that you already have Heimdall Suite installed (from http://www.glassechidna.com.au), and that you are familar with its basic operation.

Not every kernel will work with every ROM, and flashing a bad combination could easily make things much worse. Really, the safest option is the known-working zImage you had installed immediately before your bad kernel flash.

Extract a known-working zImage from a kernel or ROM .zip of your choice.

Fire up heimdall-frontend. Don't change anything on the Load Package tab. Switch to the Flash tab.

Click Browse in the PIT section, and select sk4g.pit from AdamOutler's UVKG2 Heimdall total stock thread. This configures Heimdall for the Sidekick's partition table layout. Leave Repartition and No Reboot both unticked.

Click Add under the Partitions (Files) section.

Under the Partition Details section, change Partition Name to KERNEL. It is critical that you set the Partition Name properly. Under the File sub-section, click Browse. Choose your known good zImage.

Review all the above to check for mistakes. If you proceed and any settings are wrong, say hello to hard brick. Ask yourself again whether you're prepared to risk it. If the answer is still "yes", then proceed to the next step.

If your phone isn't already connected and in download mode, connect it and put it in download mode. See the "FOOL PROOF WAY TO GET INTO DOWNLOAD MODE" section of ayoteddy's Stock ODEXED T839UVKD1 post.

Still ready for the risk? Click the Start button.

Your phone will now hopefully now accept the download, reboot, and boot up to its last known-good state.

I also used this technique to upload untested development kernels, and it worked -- it never bricked my phone any worse than a bad .zip flash, and I was always able to recover using the same technique. I'm not recommending anyone use this to flash development kernels, but it sure does speed up the process! It's a lot quicker than packing up a ZIP, pushing it to the phone, rebooting into recovery, and applying it there. Once I got the kernel in good shape, then I started working on the ZIP.

Thanks.