Take the 2-minute tour ×
Raspberry Pi Stack Exchange is a question and answer site for users and developers of hardware and software for Raspberry Pi. It's 100% free, no registration required.

Now, I understand it would probably be impractical to do so, but for the "because I can" reason I'd like to try to install iOS on my Raspberry Pi. (when it eventually comes..)

I've looked around for posts on this matter, and they seem to suggest that running iOS 3 may be possible due to hardware constraints, but how hard could this really be? Years ago I set up a couple of OS X86 machines, and although a pain ended up being total possible. (obviously)

So my overall question is, what should I look into doing/learning to try to install iOS on a Raspberry Pi?

share|improve this question
    
I was about to go on the usually answer of "No, for the last freaking time, you can't install windows or other linux distributions because they're x86 only" but then i'm like… iOS… ARM… good idea :P –  XAleXOwnZX Jul 26 '12 at 4:08
1  
I think the idevice hardware is too specialized for there being any hope for iOS running on a RPI… graphics interfaces, USB support, ethernet over usbm etc. –  XAleXOwnZX Jul 26 '12 at 4:08
    
@XAleXOwnZX See, now that's where I'm unsure. Although sometimes it can become difficult, you can always write a driver! What I'm foreseeing to be the most problematic part will be the UI end. –  0x7fffffff Jul 26 '12 at 4:11
    
How would you interface with it? Keyboard and mouse support wasn't introduced into iOS since iOS 5 on iPads. I mean, there wouldn't be support for a mouse cursor like there is on a current iPad using a bluetooth mouse –  XAleXOwnZX Jul 26 '12 at 4:14
1  
@XAleXOwnZX I am pretty sure that nearly all existing linux distributions allow you to compile your own kernel and got even precompiled packages for ARM, so I think that telling people "you can't install windows or other linux distributions" is wrong at some point –  Petr Nov 3 '13 at 20:01
show 4 more comments

2 Answers

up vote 14 down vote accepted

Though Apple's iOS is attractive for users, if you are an enthusiast (as you must be having the Raspberry Pi) or a developer, then iOS is the least friendly for you.

iOS is compiled specifically for each model of the Apple's iPad or iPhone with specific integration of hardware and software for the platform. Essentially all the software is one giant binary blob. Someone did mention in the comments that there are many hardware similarities between the Raspberry Pi and some models of the iPhone. Your biggest hope for getting iOS to run on Raspberry Pi would be to find a firmware image for a phone whose hardware is most similar to the Raspberry Pi and then try to get it to run. Like most platform specific compiled images, however, it is likely that even slight deviations in the running environment from the expected environment will produce an unbootable system. If that ends up being the case, then most likely you will have to resort to reverse engineering and hacking the binary blob with different hardware drivers or configurations. Such may be very non-trivial and would prove challenging even to a team of competent and experienced engineers.

As such a very extensive knowledge of the specific hardware of different models of the iPhone as well as very good knowledge of the low level boot up process that both the Raspberry Pi and iOS use will be necessary. Additionally, look into the architecture of iOS which, as I understand, is vaguely based on the Darwin system. For this, you could look into the different jailbreaking methods and how they work.

Also worth noting, the legality of such actions are questionable since there are likely multiple violations of the EULA, the most obvious of which is the stipulation that Apple's operating system only run on Apple hardware. Jailbreaking is technically legal, but reverse engineering is only sometimes protected under the law and it has never been really consistently applied. The Cydia project and many of the apps that are on it are able to do some fine tuned customization for iOS. The knowledge on how to do that may overlap with the knowledge on getting it running on Raspberry Pi.

That said, I have seen some amazing and difficult projects come about because a community of dedicated developers and hackers came together in a common goal, for example the Xbox-Linux project, or as you pointed out, the OSx86 project. It is certainly not impossible to run iOS on the Raspberry Pi, but what is possible is not always practical. You may have more fun and less hassle with Android, being that it is open source. That said, where there is a strong will there is a way.

share|improve this answer
add comment

I would say your best bet is to decompile the entire boot image, then reconstruct it from the bottom up adapting it for the pi specs. The issue with this is that you would need an extremely extensive knowledge of coding in multiple languages (the people who design this have multiple years in the job along with specific training). It would be almost impossible, but, there is a chance....

share|improve this answer
add comment

Your Answer

 
discard

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.