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.
Finding bootrom version
iPod Touch 2G
If the second character of your Model Number 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
DFU Mode Method
Windows
- Connect Device & Enter DFU Mode
- Open Device Manager, find USB controller, subitem Apple Mobile Device USB Driver
- Right-Click & click Properties
- Go to Details tab & select Device Instance Path in the dropdown box
- The end of the info string will show the bootrom version
Mac OS X
- Connect Device & Enter DFU Mode
- Go to System Profiler, and under the Hardware category, go to USB, and click on Apple Mobile Device (DFU Mode)
- The end of the info string will show the bootrom version
Linux
- Install gnome-device-manager and start it
- Connect Device & Enter 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
Recovery Mode Method
If a .2 (eg. 636.66.2) is behind the iBoot Version then it contains the Newer iPhone 3GS Bootrom
Note that this method will only work with the iPhone 3GS
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"