Project

General

Profile

DeprecatedPortingToAndroid10 » History » Revision 46

Revision 45 (Denis 'GNUtoo' Carikli, 03/28/2019 12:18 PM) → Revision 46/289 (Denis 'GNUtoo' Carikli, 03/28/2019 12:22 PM)

h1. Porting Replicant to Android 9 

 h2. Status: Replicant 9 work in progress 

 *Repository*: git://git.putti.eu/aosp/manifest_i9305.git 
 *Clone command*: repo init -u git://git.putti.eu/aosp/manifest_i9305.git -b android-9.0.0 
 *Status[1]*: The Galaxy SIII 4G (i9305) boots (with graphics hacks) under AOSP9, without having to import nonfree libraries. Not much has been validated beside that. 
 h2. Replicant 9 work in progress 

 h2. Repositories and changes 
 
 * git://git.putti.eu/aosp/manifest_i9305.git 
 * git://git.putti.eu/aosp/kernel_i9305.git 
 * git://git.putti.eu/aosp/device_i9305.git 

 h2. Building (WIP) 

 First get the source code: 
 <pre> 
 $ repo init -u git://git.putti.eu/aosp/manifest_i9305.git -b android-9.0.0 
 </pre> 

 For Trisquel8 (WIP): 
 <pre> 
 sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev libgl1-mesa-dev libxml2-utils xsltproc unzip bc python-mako 
 </pre> 

 h2. TODO 

 * -Boot a device under AOSP9- 
 * Build it under a "FSDG compliant distribution":https://www.gnu.org/distros/free-distros.html like Trisquel8 
 * Port the device on top of LineageOS 16 
 * Find and remove proprietary software if there is any shipped or downloaded with the source code 
 * Port Replicant 6 changes 
 * Port libsamsung-ipc and libsamsung-ril 
 * Port the sensors libraries and other device specific libraries 
 * Port the AOSP9 changes on top of LineageOS 16 
 * Rebrand LineageOS as Replicant 
 * Make sure that Replicant can be built on a GNU/Linux distribution that follows the Free Software Distributions Guidelines 
 * Reduce the attack surface 
 * Add support for smartphones that were supported in Replicant 4.2 and 6.0 if they meet the [[HardwareRequirements]] 
 * Add in-system upgrades 

 fn1. at the time of writing 

 h2. Replicant 6.0 changes 

 |_. Repository path |_. rebase worked |_. Changes | 
 | build | No | | 
 | manifest | No | N/A | 
 | bootable/recovery | Yes | * UI changes to improve usability  
 * Branding 
 * Small fix(es) |  
 | external/boringssl | Yes | * Small fix(es) | 
 | external/heimdall | No | | 
 | frameworks/av | Yes | * Software rendering fix(es) | 
 | frameworks/base | Yes | * WiFi fixe(s) for external dongles 
 * Software rendering fix(es)  
 * Privacy fix(es)  
 * Security improvements  
 * Usability improvements | 
 | frameworks/native | No | 
 | hardware/broadcom/wlan | Yes | * Remove nonfree software | 
 | hardware/libhardware | Yes | * Software rendering fix(es) | 
 | hardware/libhardware_legacy | Yes | * Don't depend on nonfree software | 
 | hardware/ti/omap4 | Yes | * Remove nonfree software  
 * Don't depend on nonfree software  
 * Small fix(es) | 
 | libcore | Yes | * Small fix(es) |  
 | packages/apps/Browser | Yes | * Privacy fix(es)  
 * Branding 
 * Small fix(es) | 
 | packages/apps/LegacyCamera | Yes | * Software rendering fix(es) 
 * Small fix(es) | 
 | packages/apps/RepWifi | Not upstreamed, obsolete | N/A | 
 | packages/apps/ReplicantWallpapers | Not upstreamed | * Branding | 
 | packages/apps/Settings | No | | 
 | packages/apps/SetupWizard | Yes | * Privacy fix(es)  
 * Don't depend on nonfree software 
 * Branding | 
 | packages/apps/ThemeChooser | Yes | * Privacy fix(es) ? 
 * Don't depend on nonfree software ? | 
 | packages/providers/ContactsProvider | Yes | * Small fix(es) | 
 | system/core | Yes | * Branding 
 * various fixes | 
 | vendor/replicant | No | | 
 | vendor/cmsdk | Yes | * Branding | 
 | external/chromium-webview | ? | ? | 
 | external/drm_gralloc | Yes | * Software rendering fix(es) | 
 | external/llvm | Yes | * Software rendering fix(es) | 
 | external/mesa3d |    Yes | * Software rendering fix(es) 
 * Performance debugging for software rendering | 
 | external/parameter-framework | Yes | * Small fix(es) | 
 | external/protobuf | N/A | No changes | 
 | prebuilts/ndk | ? | ? | 
 | prebuilts/sdk | ? | ? | 
 | sdk | Yes | * Small fix(es) | 
 | toolchain/src/binutils | Yes | * Small fix(es) | 
 | toolchain/src/gcc | No | | 
 | toolchain/src/jack | Yes | * Small fix(es) | 
 | toolchain/src/jill | Yes | * Small fix(es) | 
 | kernel/samsung/smdk4412 |/3. Yes |/3. * Security fixes 
 * Privacy Fixes (TrustZone) 
 * Don't depend on nonfree software 
 * Remove nonfree software 
 * Small fix(es) | 
 | kernel/samsung/tuna | 
 | kernel/samsung/espresso10 | 
 | device/samsung/i9100 | No |/14. * Replace nonfree software by free software 
 * free software sensors implementation(s) 
 * free software modem audio implementation(s) 
 * Software rendering fix(es) 
 * Privacy Fixes (TrustZone) 
 * Don't depend on nonfree software 
 * Remove nonfree software 
 * Branding 
 * Small fix(es) | 
 | device/samsung/n7000 | Yes | 
 | device/samsung/i9300 | No | 
 | device/samsung/i9305 | No | 
 | device/samsung/n7100 | Yes | 
 | device/samsung/n5100 | Yes | 
 | device/samsung/n5110 | Yes | 
 | device/samsung/maguro | Yes | 
 | device/samsung/tuna | Yes | 
 | device/samsung/espressowifi | Yes | 
 | device/samsung/espresso3g | Yes | 
 | device/samsung/galaxys2-common | Yes | 
 | device/samsung/smdk4412-common | No | 
 | device/samsung/kona-common | Yes | 
 | hardware/ril/samsung-ril | Not upstreamed | N/A | 
 | external/libsamsung-ipc | Not upstreamed | N/A | 
 | hardware/tinyalsa-audio | Not upstreamed? | N/A | 

 h2. Links  

 * https://source.android.com/setup/build/requirements