Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

So, what would I need to write "Hello world" on the iPod Touch on boot? Make that the entire operating system? Which compiler would I use, how would the graphics be done...? Can this be done without too much effort? I know writing an Assembly boot loader isn't that hard...

share|improve this question
Install GNU/Linux? – Jeremy Heiler Aug 16 '11 at 16:23
@Jeremy Heller: Okay, not exactly what I want, but if that'll do... how?? – Ryan O'Hara Aug 16 '11 at 16:41
What you are asking for is not clear. Do you want to strip the "GUI" layers from iOS and do something else? Do you want to install another OS? Do you want to write your own simple OS? – Jeremy Heiler Aug 16 '11 at 16:53
@Jeremy Heller: I want to replace the default iOS entirely (but not the boot loader if I can help it so things will be simpler) with my own. For now, I just want to write out "Hello world" and do nothing else. – Ryan O'Hara Aug 16 '11 at 16:56
I'm far from certain your license you agree with when using the device even allows you to install an non-Apple operating system on it... – jwenting Aug 17 '11 at 8:51

For any OS, you'd want a cross compiler, I use gcc4. From there, it'll probably be your best bet to use C or if you're feeling a little frisky Pascal or C++. You would also want to know some assembly for inline asm as well as writing the bootloader (if you decide to roll your own). The OSDev Wiki is fantastic for a beginners guide to OS Development.

For an OS on a mobile device, I would believe that it will be slightly more difficult and a bit different. The assembly will be slightly different on an ARM processor than an Intel or AMD one, the way that the system goes through its POST and internal Bios (if it has one) will also be different. I'm sure there are people out there that have figured how to change boot-time properties on the iPods but I couldn't find anything with a quick scan.

As for graphics and everything else, it'd be just like creating graphics on a desktop, once you take care of all of the other lower level stuff (because you're going to have to write things like printf, malloc, realloc, dealloc, and everything else that you take for granted just to get it up and going).

share|improve this answer
Yeah, that's what I was wondering mostly - if there is a normal bootloader, if I can just do a small replacement of the default code, and find a compiler for that ARM chip... but thanks for the link, it's very useful. +1 – Ryan O'Hara Aug 16 '11 at 16:59
The bootloader (or equivalent) might require a signed OS, in which case you'd probably have to replace it also. – David Thornley Aug 16 '11 at 17:56
@David Thornley - I would assume that, especially since it's an iOS of some sort, it's one of Apple's chainloaders minus the whole allowing for multiboot thing. Best bet would be a roll your own bootloader. And the ARM chip would only need a cross compiler, I would suggest gcc and nasm for assembly – Jeff Langemeier Aug 17 '11 at 13:27

Without the hardware specs (MMU, GPU, register maps, etc., etc.) and IO drivers, you would have a very hard time creating an alternate OS, even if you could jailbreak and mod the bootloader.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.