Support and General Use > Hardware
Explanation of the iPod boot process?
(1/1)
paulgj:
Hello,
I just installed Rockbox on my iPod 5.5G 30G and am curious about how the iPod normally boots and what changes the Rockbox patcher made to that routine.
Does anyone know of a site that explains in relatively simple terms how the iPod boots itself?. I am pretty savvy with technology and the concepts of operating systems etc and am just interested in finding out exactly what happens when I turn on the device.
Thanks in advance for any info, tips etc.
-Paul
GodEater:
The iPod contains a small bootloader in flash memory. This contains a number of functions like the ability to reboot the iPod into disk mode, diagnostic mode and actually loading the main apple os. The main apple os is stored in a "hidden" partition at the start of the disk (or the flash memory on the Nano). It is this image which the apple's flash bootloader loads usually. ipodpatcher simply shuffles the contents of this image around a bit to insert our own bootloader. When you choose to boot into apple os with Rockbox's bootloader, we simply load the original apple os which we moved further down the hidden partition (it's mostly empty space you see - plenty to play with). If you choose to boot Rockbox with our bootloader, then we simply load the rockbox.ipod from the main partition on the hard drive.
That help ?
paulgj:
Thanks for that explanation, I figured it was something like that.
So as I understand it the Apple OS is moved to a different location and the Rockbox software occupies the spot that is pointed to by the flash bootloader. So no change is made to the code in flash memory?
So then the bootpartition.bin file created during installation is a backup of the original apple OS that is relocated during the Rockbox installation?
Very interesting.
One more question, if the Apple software is updated is it recommended to keep this up to date with regard to functionality of the hardware under Rockbox?
Thanks again for responding and great work!
GodEater:
--- Quote from: paulgj on February 06, 2007, 03:23:01 AM ---So as I understand it the Apple OS is moved to a different location and the Rockbox software occupies the spot that is pointed to by the flash bootloader. So no change is made to the code in flash memory?
--- End quote ---
Correct - we make no modifications to the contents of the flash rom.
--- Quote from: paulgj on February 06, 2007, 03:23:01 AM ---So then the bootpartition.bin file created during installation is a backup of the original apple OS that is relocated during the Rockbox installation?
--- End quote ---
Also correct.
--- Quote from: paulgj on February 06, 2007, 03:23:01 AM ---One more question, if the Apple software is updated is it recommended to keep this up to date with regard to functionality of the hardware under Rockbox?
--- End quote ---
Rockbox depends on no part of the apple software - so keeping it up to date is simply a matter of choice for the user. If you dual boot a lot, maybe you'll want to keep up to date with apple's latest software. If you don't - I wouldn't bother.
linuxstb:
http://ipodlinux.org/Firmware is a good overview of the Apple firmware's organisation and the ipod boot process.
As you will see, the main Apple firmware image (the OSOS image) on disk has a useful header, which includes an "entry offset".
The Rockbox (and IPL) bootloaders work by appending themselves to the end of the OSOS image (meaning the Apple bootloader loads it from disk to RAM with the main Apple firmware) and then simply adjusting the "entry offset" from the usual value of 0, to point to the entry point for the bootloader.
The "shuffling" that ipodpatcher does is to move all the subsequent images (AUPD, RSRC, HIBE) to make the space to extend the OSOS image with the bootloader. The OSOS image itself doesn't move.
Navigation
[0] Message Index
Go to full version