DeprecatedPortingGuideS5PC110 » History » Version 7
Denis 'GNUtoo' Carikli, 12/16/2012 02:38 PM
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 |
||
45 | 4 | Paul Kocialkowski | |
46 | 6 | Denis 'GNUtoo' Carikli | h2. Various hardware and software fixes to get things working. |
47 | 1 | Paul Kocialkowski | |
48 | 6 | Denis 'GNUtoo' Carikli | h3. To get software video decoding (OMX stuff): |
49 | 7 | Denis 'GNUtoo' Carikli | |
50 | 4 | Paul Kocialkowski | * remove OMX libs for hardware video decoding |
51 | 1 | Paul Kocialkowski | * remove libstagefrighthw.so |
52 | 5 | Denis 'GNUtoo' Carikli | like that: http://gitorious.org/replicant/device_samsung_crespo/commit/c8edb6539977c8820d665691d53c33892cfa4fdd |