Giter Club home page Giter Club logo

device_essential_mata's Introduction

Build AOSP code

The provided vendor images was tested with 11.0.0_r3

Getting the sources

To build latest Android 11 AOSP tag

  • Clone the latest AOSP code (For example android-11.0.0_r3 tag)
repo init -u https://android.googlesource.com/platform/manifest -b android-11.0.0_r3
  • Add Essential mata repo (master branch)
mkdir -p device/essential
cd device/essential
git clone https://github.com/EssentialOpenSource/device_essential_mata.git mata
  • Revert

https://android.googlesource.com/platform/system/sepolicy/+/61178550157fce18861ddd59fa9a6a29cf06c583%5E%21/#F2

BOARD_SEPOLICY_VERS := 29.0 doesn't build and without it the wrong mapping (1000) is created and 29.0 one is empty. For now, reverting this patch for the AOSP build (OK with GSI)

Building

source build/envsetup.sh
lunch mata-userdebug
make -j16
  • Flash boot, system and vendor (unlock device only)

To flash GSI

  • Get the latest GSI for Android 11/Android 10
  • Tested with QJR1.191112.001 and RPP1.200123.016.A1
  • Flash the userdebug open source build (see above)
  • Disable verity (GSI image don't have any verity metadata)
adb root
adb disable-verity
  • Flash GSI system image
fastboot flash system_a system.img
  • Erase userdata
fastboot format userdata
  • Reboot

device_essential_mata's People

Contributors

jb-essential avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

device_essential_mata's Issues

IMS registration failed

@jb-essential @gibsson First off, thank you for keeping the ph-1 alive!

I've built AOSP successfully and found out that there is a /vendor/bin/imsrcsd is failing to start because it's referencing a symbol that are no longer available. It's also missing some apps which can be pulled from the Stock android 10 package.

A few things I've done so far:

  • create a shim library to fix the symbol issue
  • patchelf /vendor/bin/imsrcsd
  • patchelf /vendor/lib/lib-imsrcs-v2.so
  • patchelf /vendor/lib/lib-uceservice.so
  • patchelf /vendor/lib64/lib-imsrcs-v2.so
  • patchelf /vendor/lib64/lib-uceservice.so
  • repackage vendor image
  • add /system/app/ims (pulled from stock Android 10)
  • add /system/app/uceShimService (pulled from stock Android 10)
  • use root to resolve some selinux issue because of the shim

If either of you or someone from the community can provide some insight on how to troubleshoot "E Diag_Lib: [IMS_FATAL]| 2051 |ims_qmi_register_client : Failed". I/the community would really appreciate it. I believe this bit is the only major issue left for this Android 11 AOSP build.

I've tried this on both r3 and r8 with the same result.

Thanks!

fastboot documentation/source

can we get some source or documentation on essentials fastboot implementation
the device doesn't have fastboot boot .img or support for fastbootd enabled

which makes testing kernel and recovery images a bit dodgy if you are doing something outside norms

Error making 11.0.0_r3: unrecognized property stem

When compiling for A11_r3, even after reverting https://android.googlesource.com/platform/system/sepolicy/+/61178550157fce18861ddd59fa9a6a29cf06c583%5E%21/#F2, make fails as follows:

android@tommyv:/share/software/Android/A11$ make -j8
13:58:19 ************************************************************
13:58:19 You are building on a machine with 15.4GB of RAM
13:58:19
13:58:19 The minimum required amount of free memory is around 16GB,
13:58:19 and even with that, some configurations may not work.
13:58:19
13:58:19 If you run into segfaults or other errors, try reducing your
13:58:19 -j value.
13:58:19 ************************************************************
============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=11
TARGET_PRODUCT=mata
TARGET_BUILD_VARIANT=userdebug
TARGET_BUILD_TYPE=release
TARGET_ARCH=arm64
TARGET_ARCH_VARIANT=armv8-a
TARGET_CPU_VARIANT=cortex-a73
TARGET_2ND_ARCH=arm
TARGET_2ND_ARCH_VARIANT=armv8-a
TARGET_2ND_CPU_VARIANT=cortex-a73
HOST_ARCH=x86_64
HOST_2ND_ARCH=x86
HOST_OS=linux
HOST_OS_EXTRA=Linux-5.4.70+-x86_64-Slackware-14.2-x86_64-(post-14.2--current)
HOST_CROSS_OS=windows
HOST_CROSS_ARCH=x86
HOST_CROSS_2ND_ARCH=x86_64
HOST_BUILD_TYPE=release
BUILD_ID=RP1A.200720.011
OUT_DIR=/share/software/Android/OUT11
============================================
[100% 180/180] /share/software/Android/OUT11/soong/.bootstrap/bin/soong_build /share/software/Android/OUT11/soong/build.ninja
FAILED: /share/software/Android/OUT11/soong/build.ninja
/share/software/Android/OUT11/soong/.bootstrap/bin/soong_build -t -l /share/software/Android/OUT11/.module_paths/Android.bp.list -b /share/software/Android/OUT11/soong -n /share/software/Android/OUT11 -d /share/software/Android/OUT11/soong/build.ninja.d -globFile /share/software/Android/OUT11/soong/.bootstrap/build-globs.ninja -o /share/software/Android/OUT11/soong/build.ninja Android.bp
error: system/sepolicy/Android.bp:75:9: unrecognized property stem
error: system/sepolicy/Android.bp:82:9: unrecognized property stem
error: system/sepolicy/Android.bp:89:9: unrecognized property stem
error: system/sepolicy/Android.bp:96:9: unrecognized property stem
error: system/sepolicy/Android.bp:103:9: unrecognized property stem
error: system/sepolicy/Android.bp:111:9: unrecognized property stem
error: system/sepolicy/Android.bp:119:9: unrecognized property stem
error: system/sepolicy/Android.bp:127:9: unrecognized property stem
error: system/sepolicy/Android.bp:135:9: unrecognized property stem
error: system/sepolicy/Android.bp:143:9: unrecognized property stem
error: system/sepolicy/Android.bp:151:9: unrecognized property stem
error: system/sepolicy/Android.bp:159:9: unrecognized property stem
13:59:44 soong bootstrap failed with: exit status 1

The stanza in system/sepolicy/Android.bp that impacts Board 29.0 is this:

se_cil_compat_map {
    name: "system_ext_29.0.cil",
    stem: "29.0.cil",
    bottom_half: [":29.0.board.compat.map"],
    // top_half: "system_ext_30.0.cil",
    system_ext_specific: true,
}

The property stem is in many places. Commenting it out results in different make errors. My system does have only 16GB and perhaps that is too little?

Hope this information is useful.

Thank you for keeping this alive!

HATO pretty please

๐Ÿ™

(edit: or just ambientos framework i guess since we won't have devices)

imsrcsd can't find symbols.

05-14 12:53:15.744 2946 2946 F linker : CANNOT LINK EXECUTABLE "/vendor/bin/imsrcsd": cannot locate symbol "_ZN7android4base10LogMessageC1EPKcjNS0_5LogIdENS0_11LogSeverityEi" referenced by "/vendor/bin/imsrcsd"...

This is on master BTW, but from what I understand it happens even on 10 still.

Why

Why is there no commit history

Thanks.

Hey I know you guys are going away. Just wanted to say thanks for being awesome, and good luck in the future.

Ohh and I'll close/delete this if you would rather not have it here.

Adios

Need ability to unbrick from QDL Mode

Hello,

Now that the company is no more and there is no method of sending in our phones, can you please provide a method to unbrick from QDL mode?

Firehose files would be great, but if that's not possible, then please provide some other method to unbrick from QDL.

EDL firehose request

Can the EDL firehose please be included? This is required to unbrick phones, and will be otherwise impossible to do without vendor support.

Thanks for all you guys did!

AOSP 10.0.0_r39 requires edits to compile

AOSP/device/essential/mata/overlay/packages/apps/Settings/res/values*/strings.xml defines

<string name="smart_battery_footer" product="default" >

But this is defined earlier.

FAILED: AAPT2 link /share/software/Android/OUT10/target/product/mata/obj/APPS/Settings_intermediates/package-res.apk
Outputs: /share/software/Android/OUT10/target/product/mata/obj/APPS/Settings_intermediates/package-res.apk /share/software/Android/OUT10/target/common/obj/APPS/Settings_intermediates/aapt2.srcjar
/share/software/Android/OUT10/target/common/obj/APPS/Settings_intermediates/extra_packages /share/software/Android/OUT10/target/common/obj/APPS/Settings_intermediates/src/R.stamp /share/software/A
ndroid/OUT10/target/common/obj/APPS/Settings_intermediates/proguard_options
Error: exited with code: 1
Command: /bin/bash /share/software/Android/OUT10/target/product/mata/obj/APPS/Settings_intermediates/package-res.apk.rsp
Output:
warn: removing resource com.android.settings:string/nfc_osaifu_keitai_lock_lock_summary without required default value.
warn: removing resource com.android.settings:string/nfc_osaifu_keitai_lock_setting_toggle_title without required default value.
warn: removing resource com.android.settings:string/nfc_osaifu_keitai_lock_summary_uim_locked without required default value.
warn: removing resource com.android.settings:string/nfc_osaifu_keitai_lock_summary_uim_not_support without required default value.
warn: removing resource com.android.settings:string/nfc_osaifu_keitai_lock_summary_uim_notting without required default value.
warn: removing resource com.android.settings:string/nfc_osaifu_keitai_lock_unlock_summary without required default value.
warn: removing resource com.android.settings:string/nfc_osaifu_remote_settings_title without required default value.
warn: removing resource com.android.settings:string/nfc_osaifu_settings_title without required default value.
warn: removing resource com.android.settings:string/nfc_payment_setting_ng_button without required default value.
warn: removing resource com.android.settings:string/nfc_payment_setting_ng_summary without required default value.
warn: removing resource com.android.settings:string/reader_writer_p2p_off_summary without required default value.
warn: removing resource com.android.settings:string/reader_writer_p2p_on_summary without required default value.
warn: removing resource com.android.settings:string/reader_writer_p2p_toggle_title without required default value.
device/essential/mata/overlay/packages/apps/Settings/res/values/strings.xml:5: error: multiple default products defined for resource com.android.settings:string/smart_battery_footer.
packages/apps/Settings/res/values/strings.xml:5563: note: default product also defined here.
etc... for all other languages

This definition has to be removed for compilation to continue. This error appears to happen after r36.

strings.diff.gz

FYI: Using older ccache may cause compile errors

When using CCACHE, it may throw errors in the compile process. I experienced this using ccache version 3.2.4, According to the ccache maintainer, the bug was resolved in ccache version 3.7.6. HTH

ld.lld: error: undefined symbol ...

from @jrosdahl:

This turned out to be a interesting bug. It only manifests itself when using the opt-in sloppiness = file_macro mode, which the Android build apparently does by default. ...

See This issue for complete discussion.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.