4

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...

5
  • Install GNU/Linux?
    – Jeremy
    Aug 16, 2011 at 16:23
  • @Jeremy Heller: Okay, not exactly what I want, but if that'll do... how??
    – Ry-
    Aug 16, 2011 at 16:41
  • 2
    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
    Aug 16, 2011 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.
    – Ry-
    Aug 16, 2011 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, 2011 at 8:51

2 Answers 2

5

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).

3
  • 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
    – Ry-
    Aug 16, 2011 at 16:59
  • 2
    The bootloader (or equivalent) might require a signed OS, in which case you'd probably have to replace it also. Aug 16, 2011 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 Aug 17, 2011 at 13:27
2

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.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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