Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Developer ports iOS core to non-Apple hardware (winocm.com)
124 points by uptown on Nov 22, 2013 | hide | past | favorite | 32 comments


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


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


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.


Darwin isn't the kernel, it's an OS[1]. XNU is the kernel[2].

However, this is impressive none the less.

[1]https://en.wikipedia.org/wiki/Darwin_(operating_system) [2]https://en.wikipedia.org/wiki/XNU


In the same breath Darwin is more then just iOS so do you say Mac or OSX or what?


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.


I wish more people worked on Darwin based OSes.


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


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


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'?


Hackintoshes are largely possible because it's possible to get almost the same components used in Macs on regular PCs. It might be a little more difficult to get your hands on the chips Apple uses in iPhones/iPads (not to mention cobbling them together). Not that doing so wouldn't be pretty awesome.


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


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


What is your end goal with this?


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


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.


It beats JavaScript projects, right? ;)


Yep, plus you made HN.


Keep doing it! The main idea behind Raspberry Pi is to bring young people back to the core/kernel/assembly/hw parts, and you've succeded on your own. This is a great accomplishment.


I can't help but think about the hours of your life that an autodidact like you are wasting on school when you are capable of something like this. They should just give you a list of things they want you to know, give you a year to do all 4 years worth of worth and let you move on your merry way to bigger and better things.

Any way to get out of there early? Maybe apply to a solid CS program at MIT or Carnegie Melon and get out of there ASAP?


Who knows. I know that through doing my own projects instead of school, my 'grades' suffered.

I gain far more fulfillment through my own projects than anything else. (And I have to find university CS programs that'll be willing to accept me (along with ones I can afford...)).


When you apply, try contacting some of the CS professors directly showing your work, like this Github project. If you impress a professor at a department at a university you'd like to attend, you may be able to get a recommendation letter from them. If you do, you can then ask to get in contact with the people in the career center for their College/School at that university, who may be able to advise you on scholarship opportunities specific to that School/College.

You'd be surprised what's out there if you ask the right people instead of going through the normal "big pearly gates" known as standard university admissions.

The other option is to go apply to companies you'd like to work with now. Many workplaces with lots of young people in a major city with disposable income can give you a lot of the same positive experiences that you'd get at college? Would you be interested in this? I know we just hired a brilliant guy who dropped out after his first year of CS because industry had better problems to work on. My email is in my profile. I'm at Famo.us and we're doing some RTOS and scenegraph work across DOM, Canvas and WebGL in case that interests you.


But you're winocm. You're famous, dude. Just show a link to your github page / contributions to the iOS jailbreak community and I'm sure you'd get a fat scholarship.

But then again, how can I say something like that when I dropped out of school myself? :P


Well, good for you. It's nifty.


You're 17 ? Boy, times sure are a' changin'.


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.


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.


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.


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


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.


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.


Interesting trial.




Consider applying for YC's Summer 2026 batch! Applications are open till May 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: