hi there
I had the problem, that my iPhone 3G, 2.1 stucked at the pinapple bootlogo. so i searched a bit in the internet and i found this link here:
With this workaround you can get your iPhone back -
without restoring or something like this!
I thougt, that I make a little workaround for you - easier and shorter:
Steps to do:
Note: If you wanna know why this thing happens and why you have to do this, click on the link on the top.
1. Download and install WinSCP (or another program to connect to your iPhone with SFTP and with that you can type in commands (you have to have OpenSSH installed on your iPhone and you have to be connected with the same wifi network as your iPhone is!)
2. Connect to you iPhone with Open SSH
As the device is trying to boot up but still at the apple logo, try to log in as root using ssh. You should find you are able to log in soon after the device is pingable on your wifi network, and you have a few minutes to complete the following steps in time.
For example from a mac, log in with:
ssh -l root 192.168.1.103 (or something like 192.168.0.173)
Where your iphone/ipods own ip address is substituted.
3. Disable the watchdog timer (by temporarily moving its files elsewhere) and then reboot:
Code:
mv /System/Library/SystemConfiguration/mobilewatchdog.bundle/ /
reboot
4. After a few seconds the device will start to reboot, and after approximately 3-6 minutes (depending on how many apps you have installed) you will reach the lock screen as normal, when that happens
we now have to re-enable the watchdog timer, and reboot again, so again log in with ssh, and type:
Code:
mv /mobilewatchdog.bundle /System/Library/SystemConfiguration/
reboot
than wait until your ipod / iphone has started up. congrats! your iPhone is now back - normal as you know it

i just made it like that and it worked fine!
i copied a bit from the other workaround (the biggest part

), so don't be surprised if you see it again when you click on the link on the top.
i hope this could help you, if you want to make it sticky, you can ;-)
// sorry for my bad english - i'm Swiss
greez,
mmemichi