

Developer ports iOS core to non-Apple hardware - uptown
http://winocm.com/projects/research/2013/11/22/milestone-one/

======
bsimpson
Misleading title - this is just Darwin. There doesn't appear to be anything
iOS specific in this announcement.

~~~
DHowett
Insofar as one could consider the kernel to be the core of an operating
system, this (specifically, XNU _on ARM_ ) is the core of iOS. Having the
Darwin userland atop that is simply icing on the proverbial cake.

What would you consider the core? Is it UIKit? Cocoa? libc? SpringBoard (the
homescreen application)?

(Edited: s/Darwin/XNU/; thanks shibby!)

~~~
ibrahima
I mean, if someone ported Linux to a toaster, you wouldn't say they posted the
Android core to a toaster. Userspace is what people care about when they
mention any OS by name (IMO).

The title would have been equally correct if it said OS X, which tells you
that the title is essentially meaningless.

------
lloeki
I'm always happy to see open work happening on Darwin. I wish I could easily
install an open Darwin OS as viable as say, ArchLinux alongside OSX, so that
it maintains the same benefits such as energy usage, and dtrace, and whatnot.
My dream: a BSD/Darwin with a lightweight accelerated framebuffer compositor
such as Wayland.

~~~
winocm
I wish more people worked on Darwin based OSes.

------
clarky07
Personally I'd much rather see android on iPhone hardware than the other way
around. Cool project though.

~~~
ihuman
If you have an iPhone 3G, you can already do this. It's not very good, though.
[http://www.idroidproject.org/wiki/OpeniBoot](http://www.idroidproject.org/wiki/OpeniBoot)

------
billyjobob
On the desktop we can install OS X on non-Apple hardware to make Hackintoshes.
So far this is just a kernel port with no graphics, but will it lead to
installing iOS on non-Apple phones in a similar way? 'iClones'?

~~~
protomyth
No, this is Darwin which is the open source part of iOS / OS X. I would
imagine iOS looks for some pretty specific set of things from the chipset it
is running on and there is no "generic ARM phone".

~~~
winocm
iOS also depends on high level user/kernel components such as
IOMobileFramebuffer. I am personally not interested in pursuing graphics.

~~~
danellis
What is your end goal with this?

~~~
winocm
...Good question, it's mainly an OS for myself. (As a fun side project.)

I have nothing better to do in high school. (Being 17 sucks.)

~~~
protomyth
Good choice of projects. Every age sucks for something, the fun comes in being
able to do the cool stuff, looks like you found that.

~~~
winocm
It beats JavaScript projects, right? ;)

~~~
protomyth
Yep, plus you made HN.

------
fsiefken
that's quite an achievement and great news! But looking at it from a more
practical viewpoint; why run darwin if you can run linux on arm and phones
already? Even on iOS itself, with a jailbroken phone you can ssh into the
underlying OS and execute arm binaries through the shell. I can imagine it's a
stepping stone towards running iOS in QEMU for running apps on your desktop or
tablet, which is nice as I could run my bought Eclipse, Tigris and Tikal
boardgames on my desktop. I am not sure if I'd break the EULA in that
scenario.

~~~
winocm
Not every phone has a jailbreak available for it. Plus, you're still stuck
with an effectively sandboxed kernel. You can't fix any bugs or implement any
kernel level drivers, for example.

If I need a new IOKit driver class, I simply build the kext and use
`kextload`, or I can just prelink it into the kernelcache.

~~~
protomyth
Plus, not every ARM device is a phone and there are OSes other than Linux. I
hope we see som 64-bit ARM ITX sized motherboards.

------
monological
How difficult would it be to get the userland working on top of this? Is it
even possible, given the hardware differences?

~~~
sleepyK
No, it's probably not possible, as iOS is coded to run on specific Apple
manufactured hardware...

Even if it were possible, it would take a hellish amount of time to get
working, I'm sure.

~~~
winocm
Technically, userspace already works, as in you can use a standard Darwin/BSD
system root and that'll work fine.

For an iOS GUI userspace.. you'd need to implement some more kernel drivers.

------
eonil
Interesting trial.

