Actions
DeprecatedPortingToAndroid10 » History » Revision 57
« Previous |
Revision 57/289
(diff)
| Next »
Denis 'GNUtoo' Carikli, 03/28/2019 02:21 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 * cleanup the code * build the kernel from the Android build system |
8h | |
Find and remove proprietary software in LineageOS 16 | 8h | |
Find and remove privacy issues in LineageOS 16 | 24h | |
Port the sensors libraries and other device specific libraries | ||
Add support for Audio | ||
Add support for the i9300 and factorize the code with i9305 | 8h | |
port the touch keys, and flash led linux drivers | ||
Port libsamsung-ipc and libsamsung-ril to Android 9 | ||
* port and cleanup the the i9300 modem linux driver from 4.16 to 5.0 * Make the modem driver and libsamsung-ipc work together |
70h | |
add internal WiFi support and validate the functionality | 6h | |
Add external WiFi dongles suppor | 20h | External dongles support might be tricky |
document how much mA the device's USB host can give and in which conditions | Needed to make external WiFi reliable (it's not in Replicant 6.0) | |
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 8.0 (N5100) and 8.0 WiFi (N5110) | ||
Galaxy S II (i9100) | linux: devboard dts upstream? unknown status | |
Galaxy Note (N7000) | unknown linux upstream status | |
Galaxy Nexus (I9250) | OMAP4, no dts upsrteam | |
Galaxy Tab 2 7.0 (P3100), 7.0 WiFi (P3110), 10.1 (P5100), 10.1 WiFi (P5110) | ||
GTA04 >= A4 | TODO: a RIL needs to be written, userspace GPS support is missing, audio scenarios, etc |
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 · 57 revisions