The iPhone Wiki is no longer updated. Visit this article on The Apple Wiki for current information. |
Bootrom
Introduction / old+new
The bootrom (called "SecureROM" by Apple) is the first significant code that runs on an iDevice. The bootrom is unwritable. Finding exploits in the bootrom level is a big achievement since Apple won't be able to fix it without a hardware revision.
Certain models, including the iPod touch 2G and iPhone 3GS, have different bootrom versions. These are most commonly referred to with the terms "old bootrom" and "new bootrom." These "new bootrom" devices were released after 9 September 2009 and have the 0x24000 Segment Overflow fixed. While the new bootrom revisions have an exploit, the exploit needs the assistance of a firmware-based exploit to achieve an untethered jailbreak.
You might also be looking for Apple's stage 2 bootloader, which also uses the "iBoot" name.
Check bootrom version
iPod Touch 2G
To find out if your iPod touch 2G has an old or new bootrom, the easiest way is to look at the model number. If the second character is "B" (as in "MB533" or "PB533"), your iPod has the old bootrom. If the second character is "C" (as in "MC086" or "PC086"), your iPod has the new bootrom.
iPhone 3GS
For a more sure-fire way of detecting the bootrom version, you must put your device into DFU Mode. Make sure it is not in Recovery Mode, as Recovery Mode does not mention the bootrom version. If you have Mac OS X, go to System Profiler, and under the "Hardware" category, go to USB, and click on "Apple Mobile Device (DFU Mode)." If you have Windows, go to Device Manager, find USB controller, subitem Apple Mobile Device USB Driver. In Properties, Details, select Device Instance Path in the dropdown. The end of the info string will show the bootrom version.
If you're on Linux and have a Desktop Environment setup, install gnome-device-manager and start it. Connect you're device in DFU Mode, search in the left tree-view for "USB Device" and look at Summary -> Model until it says "Apple Mobile Device (DFU Mode)". If it does go to Properties (next to Summary) and search for "usb_device.serial". The end of the String will show you the bootrom version.
Revisions
S5L8900, used in the iPhone, iPod touch 1G, and iPhone 3G
- iBoot-596.24 (was reported on my iPod touch 1G in DFU mode, but is probably wrong)
S5L8720, used in the iPod touch 2G
- iBoot-240.4 "old bootrom"
- iBoot-240.5.1 "new bootrom"
S5L8920, used in the iPhone 3GS
- iBoot-359.3 "old bootrom"
- iBoot-359.3.2 "new bootrom"