Actions
DeprecatedPortingToAndroid10 » History » Revision 53
« Previous |
Revision 53/289
(diff)
| Next »
Denis 'GNUtoo' Carikli, 03/28/2019 01:52 PM
Porting Replicant to Android 9¶
Status¶
- The Galaxy SIII 4G (i9305) boots (with graphics hacks) under AOSP9, without having to import nonfree libraries. Not much has been validated beside that.
- The kernel used is based on Linux 5.0-rc6 and has ~150 Android specific patches on top and some patches for the Galaxy SIII 4G (i9305) on top
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
Building¶
First get the source code:
$ repo init -u git://git.putti.eu/aosp/manifest_i9305.git -b android-9.0.0
For Trisquel8 (WIP):
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
Then see the device/putti/i9305/README.md for the build instructions.
TODO¶
Task | Time estimation | Comments |
---|---|---|
|
DONE | Only boots with graphics, not much more |
Build it under a FSDG compliant distribution like Trisquel8 | 8h | It's difficult to do precise time estimations as it could work out of the box or require one full time month of work depending on how much issues are encountered |
Port the changes from AOSP9 to LineageOS 16 | ||
Find and remove proprietary software in LineageOS 16 | ||
Find and remove privacy issues in LineageOS 16 | ||
Cleanup the device code, build the kernel from within Replicant | ||
Add support for Audio | ||
Port the sensors libraries and other device specific libraries | ||
Add support for the i9300 and factorize the code with i9305 | ||
Add support for the i9300 modem, touch keys, and flash led | ||
Add internal WiFi and external WiFi dongles support | ||
Make the modem driver and libsamsung-ipc work together | ||
Port libsamsung-ipc and libsamsung-ril to Android 9 | ||
Rebrand LineageOS as Replicant | ||
Create a recovery | ||
Create install and upgrade instructions | ||
Reduce the attack surface | ||
Add in-system upgrades |
Device | Time estimation | Comments |
---|---|---|
Galaxy Note II (N7100) | Similar to the Galaxy SIII (I9300) | |
Galaxy Note (N7000) | ||
Galaxy Nexus (I9250) | ||
Galaxy S II (i9100) | ||
Galaxy Note 8.0 (N5100) and 8.0 WiFi (N5110) | ||
Galaxy Tab 2 7.0 (P3100), 7.0 WiFi (P3110), 10.1 (P5100), 10.1 WiFi (P5110) | ||
GTA04 >= A4 |
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 | Yes | * 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 | * 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 |
Links¶
Updated by Denis 'GNUtoo' Carikli over 5 years ago · 53 revisions