16

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?

10
  • 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
    – Alexander
    Jul 26, 2012 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.
    – Alexander
    Jul 26, 2012 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. Jul 26, 2012 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
    – Alexander
    Jul 26, 2012 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, 2013 at 20:01

3 Answers 3

21

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.

0

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

0

I'm not sure but the some of the first versions of iOS were made for something like an Armv6, so the hardware may be similiar, and you'll need to make some graphic kexts for the system,(I dont know if you'll be able to port the graphic-accelleration which is complex to do) and all the hardware like the ports,controllers &memory. I found this, but is at an pretty initial state; http://winocm.com/projects/research/2013/11/22/milestone-one/ so try a custom Mach/xnu kernel for the RPi and boot it, then see what happens

Your Answer

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

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