commit | 544eb59907c9d5a7fda73600f5f0cf3d2c91f1bb | [log] [tgz] |
---|---|---|
author | Amit Pundir <amit.pundir@linaro.org> | Fri Jan 15 02:21:28 2021 +0530 |
committer | Amit Pundir <amit.pundir@linaro.org> | Fri Feb 12 17:20:35 2021 +0530 |
tree | 2626bf25651300d37fa9e5e1f62efa1f52738109 | |
parent | e3fd3df4b94d7751bcd7fbdef50a18ad62ad8b61 [diff] |
screenrecord: Fix mediacodec selinux and seccomp policy denials cherry-picked from upstream device/linaro/dragonboard project. Fix mediacodec selinux and seccomp denials for screenrecord to work. mediacodec need gpu access, plus it also crashes with following seccomp error during screenrecord: E android.hardware.media.omx@1.0-service: libminijail[488]: blocked syscall: sysinfo So allow sysinfo syscall for mediacodec by re-using the same seccomp_policy which we use for mediaswcodec (aosp/1238348). Signed-off-by: Amit Pundir <amit.pundir@linaro.org> Change-Id: I62fd7ef159c520a26be83cd57ec72e1d51adfa52
IMPORTANT NOTICE --> UNLOCKING AND ROOTING MAY VOID YOUR PHONE WARRANTY AND MAY BRICK YOUR DEVICE AS WELL. I'M NOT RESPONSIBLE FOR EITHER OF THAT.
Here is a reasonable guide to get you started on unlocking and rooting Poco F1 --> https://forum.xda-developers.com/poco-f1/how-to/xiaomi-poco-f1-unlock-bootloader-custom-t3839405
Just for the records I downloaded and installed following external packages to unlock and root my device-->
Also Dont forget to take a backup of your images from TWRP and copy them to your Host machine. It will come very handy. Believe me :)
mkdir aosp-repo cd aosp-repo repo init -u https://android.googlesource.com/platform/manifest -b master git clone git@github.com:pundiramit/android-local-manifests.git .repo/local_manifests -b master repo sync -j$nproc source build/envsetup.sh lunch beryllium-userdebug make -j$nproc
NOTE: To get display working on PocoF1, we need supported Adreno firmware binaries, otherwise PocoF1 will not boot to UI.
Adreno binaries are shipped with non-distributable license, hence I'm not shipping them in my build setup. You can extract Adreno a630_* firmware binaries from a working device build. I extracted mine from lineage-16.0-20190612-nightly-beryllium-signed.zip ;) Then copy the binaries to out vendor directory i.e. out/target/product/beryllium/vendor/firmware, and run "make -j$nproc" to create vendor.img again.
fastboot flash system system.img fastboot flash vendor vendor.img fastboot flash userdata userdata.img fastboot flash boot boot.img fastboot reboot
mkdir kernel-repo cd kernel-repo repo init -u https://android.googlesource.com/kernel/manifest -b common-android-mainline git clone git@github.com:pundiramit/android-local-manifests.git .repo/local_manifests -b kernel repo sync -j$nproc BUILD_CONFIG=beryllium/build.config.beryllium ./build/build.sh
cd aosp-repo source build/envsetup.sh lunch beryllium-userdebug make TARGET_KERNEL_USE=mainline -j$nproc
Now reflash the images as above and boot with your custom kernel.
NOTE:
By default the above instructions will sync/download beryllium-android-mainline branch to kernel-repo/beryllium directory. If you want to reproduce android12-5.4 or GKI build then checkout common-android12-5.4 repo manifest and beryllium-android-5.4 branch instead.