/kernel_reloaded/

Author:

Other contacts

Novi članci

Flickr Goodness

Categories

December 13, 2009 @ 23:41

iRecovery Fedora Howto

 
Some time while jailbreaking and unlocking process iPhone refuses to boot in normal mode and every time you restart your iPhone it enters in Recovery mode. This situation is named as recovery mode loop. If you are in a recovery mode loop (i.e. your phone enters recovery mode on every reboot).
 
To get the rid of recovery mode loop we use iRecovery, iRecovery is a libusb-based command line utility for Mac OS X and Linux (perhaps Windows too). It is able to talk to the iBoot/iBSS in Apple’s iPhone/iPod touch via USB. If you are on Windows then you need to install LibUsb-Win32 in order to run iRecovery.LibUsb-Win32 is a port of the USB library libusb the Windows operating system. The library allows user space applications to access any USB device on Windows.
 
There are a few gotchas on Fedora so here are step by step instrucions.
 


su -
yum install readline-devel git
exit
git clone git://github.com/westbaer/irecovery.git
cd irecovery/

 
There is a bug in irecovery.c code so in order to make it compile I needed to delete line 323 containing this code:
signal(SIGINT, irecv_quit); // Close USB on ^C
 
Use vim, gedit or any other text editor or your choice and delete this line, because it won’t compile if you don’t remove it, and you will get this error:
irecovery.c:323: error: ‘SIGINT’ undeclared (first use in this function)
 
Now we can continue the compilation process:
 


ln -s /usr/include/readline .
make linux

 
Now you have iRecovery installed and can use the instructions on how to use it to Get Rid of iPhone from Recovery Mode Loop on Restart.
 

Filed under english, fedora, linux, tips&tricks

  • Cliff

    I’m no programmer, but I just couldn’t bear the thought of using this program if ctrl-c didn’t clean up the USB connection properly. So I looked into it, and the solution to that SIGINT error is to add an include at the top of the irecovery.c file.

    #include

    I put it after the readline include, but before the “constants.h” include. Compiles fine right now.

    I hope this helps people!!!

    • http://kernelreloaded.blog385.com valent

      Thanks!

  • Cliff

    Gah. I dislike it when HTML handlers mangle comments. Let me try a few ways to get around it…

    #include <signal.h>

    #include [signal.h]
    (change the [] to less than/greater than respectively)

  • max

    This wouldn’t compile for me. It complained about USB something or other. I downloaded the usb development libraries. Fedora:
    yum search /libusb/

    some stuff here….

    yum install libusb-devel.i386

    Archives

    Flickr photostream

    SSL is required

    Meta meta :)