Project

General

Profile

DeprecatedPortingGuideS5PC110 » History » Version 3

Paul Kocialkowski, 11/18/2012 10:35 AM

1 1 Paul Kocialkowski
h1. PortingGuideS5PC110
2
3
*This guide assumes your phone has a S5PC110/Exynos 3110 SoC*
4
5 3 Paul Kocialkowski
h2. Prerequisites
6 1 Paul Kocialkowski
7 3 Paul Kocialkowski
Before porting your device to Replicant, you must make sure it complies with the following:
8
* Already supported by CyanogenMod (or, worst-case scenario, by a non-official CyanogenMod port)
9
* CyanogenMod support for this device is available for one of Replicant versions (pick the latest)
10
* The phone is GSM: Replicant doesn't support CDMA phones yet
11
* It is likely to be usable without blobs nor firmwares and with Replicant replacements
12 1 Paul Kocialkowski
13 3 Paul Kocialkowski
h2. Investigating the phone hardware
14 1 Paul Kocialkowski
15 3 Paul Kocialkowski
Before doing anything, you will need to know the codename of the device. You can find it out on "CyanogenMod Wiki":http://wiki.cyanogenmod.org/ or on "CyanogenMod download page":http://get.cm/.
16
For instance, the "Nexus S":http://wiki.cyanogenmod.org/wiki/Nexus_S codename is: @crespo@.
17 1 Paul Kocialkowski
18 3 Paul Kocialkowski
First thing to consider before starting a port, when all of the above is assumed, is to see how many non-free components are required by CyanogenMod.
19
The easiest way to do this is to spot the device repository in "CyanogenMod repos":https://github.com/CyanogenMod/ and look for the @extract-files.sh@ or @proprietary-blobs.txt@ file.
20
For instance, the list of non-free components for the "Nexus S":https://github.com/CyanogenMod/android_device_samsung_crespo is "extract-files.sh":https://github.com/CyanogenMod/android_device_samsung_crespo/blob/ics/extract-files.sh
21
22
From that list, spot what is related to what hardware component (audio, camera, sensors, gps, modem, etc): that gives an idea of the amount of work required to add support for the phone.
23
24
During the port, you might need to find precise infos about the hardware that is in the phone. A good to do this is by looking at the kernel defconfig for the device, another way is to download the Service Manual for the device.
25
26
h2. Getting everything ready
27
28
In order to prepare everything for the Replicant port:
29
* Install CyanogenMod on the phone
30
* Install the [[BuildDependencies]]
31
* Get the sources: [[GettingReplicantSources]]
32
* Read Replicant developer guide: [[DeveloperGuide]]
33
* Learn how to do debug: [[GettingLogs]] [[GDBDebugging]]
34
35 1 Paul Kocialkowski
h2. Get the source and build a kernel image
36
37
* adding the 3rd party repos if any
38
* add kernel: where the find the kernels?
39
  - official feeds
40
  - the ones on GIT (teamhacksung, better ask CM people)
41
  - 3rd party projects
42
* add kernel to product files on vendor/replicant
43 2 Paul Kocialkowski
44
* change ro.modversion on product vendor file