View Single Post
HtheB's Avatar
Moderator | Posts: 3,718 | Thanked: 7,420 times | Joined on Dec 2009 @ Bize Her Yer Trabzon
#1
Just saw this in the dutch tech news.

a developer is started to make an opensource ios version that runs on arm7.
http://crna.cc/magenta_source.html

This could be kinda impressive if you ask me.

From the website:
Magenta is an implementation of Darwin/BSD on top of the Linux kernel. It is made
up of a number of kernel and userland components that work together. It is fully binary
compatible with iPhone OS 5.0 (as in, it uses the same binary format).

So far, it includes the following libraries:
* CoreFoundation
* libstdc++
* libobjc
* libc++abi
* libicucore
* libncurses

* As part of libSystem
* libmath
* libunwind
* libsystem_blocks
* libC

All libraries are compiled for vanilla Darwin, so nothing is compiled for Linux. The only
exception is libC (which resides inside the dynamic linker) as it serves as the main bridge
between the userland and the kernel.

The final goal is probably recreating the iPhone OS 1.0 stack. I think this is a pretty feasible
goal, considering the fact that there are so many open source libs that can be used to replace
the proprietary libs used by Apple. Just as an example:
* CoreGraphics -> Cairo
-> FreeType
-> libpng/jpg
* Celestial -> Various open source media decoding libs.
* UIKit -> Chamelleon

This is a very weird project. You may ask, why am I doing this? The answer is: no ****ing idea

This project is actually far more complicated than it sounds. *Far* more complicated.

Edit:
businesscat2000 from the Crackberry community, has already got iOS apps running on the Blackberry Playbook and Windows!
Amazing!
Before calling it fake or real, the Crackberry website also confirms it's real.

Check out the link for details and videos:
http://crackberry.com/developer-gets...lackberry-real

The CPU isn't emulated on Playbook (though it is on Windows). It works very similarly to how WINE works to run Windows applications on Linux. The app binary is mapped into memory and imports are resolved to point to my own implementation of the various APIs needed. iOS actually uses a few open APIs already, which Playbook supports just as well (GL ES, and OpenAL). The bulk of the work has been in implementing all of the objective C classes that are required. The ARM code of the applications run as-is - the armv6/v7 support on PB/iDevices are pretty much identical, and the code is designed to run in USR mode. No SWIs, GPIO accesses or any of that kind of shenanigans.
Altough it's not confirmed if this has something to do with Project Magenta, I thought I'll just put this information too. To show that running iOS apps IS possible on a different OS!
__________________
www.HtheB.com
Please donate if you think I'm doing a good job.

Last edited by HtheB; 2012-06-14 at 13:45.
 

The Following 12 Users Say Thank You to HtheB For This Useful Post: