Project

General

Profile

TargetsEvaluation » History » Version 23

Paul Kocialkowski, 11/07/2012 04:27 PM

1 1 Brian Kemp
h1. Good Potential Targets
2
3 23 Paul Kocialkowski
h2. Requirements
4 1 Brian Kemp
5 23 Paul Kocialkowski
h3. Basic
6 1 Brian Kemp
7 23 Paul Kocialkowski
List of the bare minimum requirements for a device to be ported to Replicant:
8
* The device must be supported by CyanogenMod officially (better) or via 3rd party repos
9
* There must be a way to flash images (via bootloader or recovery) using a free program
10
* The kernel must not be signed: the bootloader must not check the kernel signature
11
* The kernel sources must have been released
12
* The network type must be GSM, no CDMA phone can be supported for now
13 1 Brian Kemp
14 23 Paul Kocialkowski
h3. Good target
15 1 Brian Kemp
16 23 Paul Kocialkowski
What makes a good target for Replicant:
17
* Bootloader must be ready to flash images, or be very easy to unlock
18
* Free user-space implementation for most of the hardware already available
19
* Standard or well-known protocols used in the hardware (V4L2/ALSA/NMEA, etc)
20
* Firmwares needed only for WiFi/Bluetooth, and not sound, screen, touchscreen, camera, etc
21
* Freedom-compliant hardware design: Modem isolation (no shared mem, GPS, audio)
22
23
h3. Ideal target
24
25
An ideal target for Replicant would be:
26
* Free bootloaders that allow easy flashing for the user
27
* All the hardware using standard protocols, kernel-drivers and no user-space binary blobs
28 1 Brian Kemp
* Components that do not require loadable firmware
29 23 Paul Kocialkowski
* Ways to update the internal firmwares of the chips (for instance to allow a free software modem implementation)
30
* Total modem isolation (doesn't control audio, nor GPS, mem, NAND, etc)
31 3 Denis 'GNUtoo' Carikli
32 23 Paul Kocialkowski
h1. Devices status
33 3 Denis 'GNUtoo' Carikli
34
h2. Openmoko Neo Freerunner
35
36
Has root: YES
37
Sim Unlocked: YES
38
In production: NO(but can still be bought very easily new)Details:
39
40
We never ported Replicant 2.2 to the Neo Freerunner but there is a project to run Android on it called android-on-freerunner
41
42
People from this project reported that Android 2.2 was to slow on the Neo to be usable at all.
43
44
Other major issues are: it has an ARMv4t architecture that brings some apk compatibilities issues because lots of apk packages use native code, often compiled for higher arm versions.A solution could be to recompile each application but it’s heavy work.
45
46
Update: the new Openmoko Beagle Hybrid uses an
47
48
ARM Cortex A8 board that is based on ARMv7 architecture (the same of Nokia N900 and Palm Pre).
49
50
h1. Nokia N900
51
52
Has root: Depends on Simlock(if no simlock is there you should be able to get root by running a command)
53
Sim Unlocked: Depends
54
In production: ?(can be bought in regularly)
55
56
We never ported Replicant to the Nokia N900. There is a project for it called Nitdroid that have nearly everthing working.
57
58
One issue is is that voice calls depend on cmt_speech pulseaudio plugin, that is free software but not included in Android.
59
60
Another big issue regards source code: the main nitdroid developer told us it was hard to build and its build was not documented.
61
62
The project also doesn’t seem very freedom friendly in the sense that their goal seem to be able to run some proprietary android software.
63
64
h1. Apple iPhone 3G
65
66
Has root: NO
67
Sim Unlocked: YES (if you buy it without annual contract)
68
In production: ?
69
70
The idroid project ( http://www.idroidproject.org/wiki/Main_Page ) is porting android to the iphones and other apple mobile devices.
71
72
It seems that the iphone2g is the most supported phone and that they made it usable. Although because no current replicant developpers own an iphone. So no one could verify.
73
74
Most of the hardware seem standard(libertas,AT commands on modem side(with a lot of customs comands),alsa,standard accelerometers…) which is better(no driver to write from scratch)
75
We didn’t check other iphone version.
76
77
h1. Windows Phones
78
79
Has root: ?
80
Sim Unlocked: ?
81
In production: Depend on the phone model
82
83
There are many windows mobile phones, like the HD2, however no one investigated it a lot and we are unsure if Android can be booted without haret(in other words haret can boot android from windows mobile, which means that you have to start windows mobile first…).
84
85
The key project for that is HTC-Linux
86
87
h1. Geeksphone One
88
89
Has root: YES
90
Sim Unlocked: YES
91
In production: NO
92
93
The geeksphone one is very similar to the htcdream.
94
The screen resolution is lower, and they have a different wifi chip(the same than the freerunner which uses WEXT(wireless extensions)(not an issue for android))
95
Note that there is an android project with sources for it available here: https://github.com/rmcc/
96
97
h1. Geeksphone Zero
98
99
Has root: YES
100
Sim Unlocked: YES
101
In production: YES
102
103
The Geeksphone Zero allows custom Android and Linux images to be run instead of the deault ones.
104
Cyanogenmod (the android derivate Replicant is based on) provides support for the Geeksphone Zero.
105 4 Denis 'GNUtoo' Carikli
106
SoC is Qualcomm MSM7227 (easy to support on Android).
107 3 Denis 'GNUtoo' Carikli
108
h1. GizmoForYou FLOW G1.55
109
110
Has root: YES?
111
Sim Unlocked: YES?
112
In production: ?
113
114
Overo boards used in this phone are OMAP 3 with free xloader and u-boot (like in GTA04).
115
Modem uses AT and Android reference RIL (free) is used. Audio is ALSA.
116
117
Instructions to build Android 2.2 for it are provided: http://www.gizmoforyou.net/wiki/index.php/Building_G155_Android
118
The Android 2.2 source code is availble here: https://gitorious.org/flow-g1-5/
119
120
Non-free firmwares are needed for WiFi, bluetooth, etc on the Overo boards that include these.
121
Also, a non-free gralloc lib is used (for graphical acceleration). The 0xdroid project should be able to provide a free gralloc for OMAP 3 boards as a working replacement.
122
123
Documentation (datasheets) are also available for most hardware components.
124
125
Unfortunately that phone isn’t cheap.
126
127
h1. DIY Phones
128
129
Has root: ?
130
Sim Unlocked: ?
131
In production: ?
132
133
There is a small number of Do-it-yourself phones where the user is
134
expected to assemble his phone.
135
Examples of this include the odroid
136 5 Denis 'GNUtoo' Carikli
( http://www.hardkernel.com/ ) phones with comes with android support.
137
However the issue is that not all users wants or are able to assemble their own phones.
138
139
h1. Comparison of potential targets
140
141 11 Denis 'GNUtoo' Carikli
h2. Support easyness
142
143 22 Denis 'GNUtoo' Carikli
|Phone|Android target version|Gralloc|RIL|Audio|camera|sensors| GPS | 
144 21 Denis 'GNUtoo' Carikli
|Geeksphone one | maybe 2.3? |Easy, probably supported by hardware/msm7k audioHardware libraries|AT possible(TODO:contact VquickSilver for details),but proprietary ril uses RPC binary protocol(TODO:contact morphis for details) | Easy, probably supported by hardware/msm7k audioHardware libraries|difficult since no one finished support for msm camera yet.|unknown| unknown yet | 
145 12 Denis 'GNUtoo' Carikli
|Samsung Galaxy Nexus| 4.x, unsure if backporting to 2.3 is doable| recovery from replicant ics-preparation worked but not the gralloc(garbage on screen) | Easy thanks to samsung-ril+libsamsung-ipc | ALSA with free software module in cyanogenmod and AOSP | Seem to have a free camera library | ? | doable(SIRF)| 
146 18 Denis 'GNUtoo' Carikli
|Samsung Galaxy SII| ? | ? | Easy thanks to samsung-ril+libsamsung-ipc | no free software module available, but is ALSA (seems doable) however the yamaha CODEC source code seem to be somehow offuscated according to some people| ? | ? | doable(SIRF) |
147 14 Denis 'GNUtoo' Carikli
|Samsung Galaxy SIII | 4.x, unsure if backporting to 2.3 is doable| ? | Easy thanks to samsung-ril+libsamsung-ipc | free software audio libraries available in cyanogenmod | ? | ? | unknown|
148
|Nokia N900 | ? (look at Forking Nitdroid) | ? | Documented in free software GNU/Linux compatible code | Documented in free software GNU/Linux compatible code | Standard interface | Should be easy | ?  |
149 15 Denis 'GNUtoo' Carikli
150 14 Denis 'GNUtoo' Carikli
h2. Hardware freedom
151
152 19 Denis 'GNUtoo' Carikli
|Phone|Bootloader| Firmwares |Modem transport|Modem peripherals|Modem Storage|
153 14 Denis 'GNUtoo' Carikli
|Geeksphone One| proprietary | Wifi, ? | shared memory | Mic, GPS | Shared NAND |
154 1 Brian Kemp
|Samsung Galaxy Nexus | Proprietary, partially signed | Wifi,? | High speed serial if OMAP4 SOC (shared memory for other versions) | ? | ? | 
155 19 Denis 'GNUtoo' Carikli
|Samsung Galaxy SII| proprietary | Wifi, ? | ? | ? | ? |
156 1 Brian Kemp
|Samsung Galaxy SIII | proprietary | Wifi, ? | ? | ?  | ? |
157
|Nokia N900 | proprietary, partially signed | wifi,camera,bluetooth,? | High speed serial | GPS | ? |