h1. Porting Replicant to Android 9 h2. 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 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 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. h2. TODO |_. Task |_. Time estimation |_. Comments | | -Boot a device under AOSP9- | DONE | Only boots with graphics, not much more | | Build it under a "FSDG compliant distribution":https://www.gnu.org/distros/free-distros.html 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 | | | Add support for Audio | | | | Port the sensors libraries and other device specific libraries | | | | Add support for the i9300 and factorize the code with i9305 | 8h | | | Port and cleanup the the i9300 "modem":https://github.com/fourkbomb/linux/tree/modem, touch keys, and flash led drivers | 40h | | | Add internal WiFi and external WiFi dongles support | 16h | | | Make the modem driver and libsamsung-ipc work together | 24h | | | 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 | | Add support for smartphones that were supported in Replicant 4.2 and 6.0 if they meet the [[HardwareRequirements]]: |_. Device |_. Time estimation |_. Comments | | Galaxy Note II (N7100) | |/2. 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) | |/2. 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 | 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