commit | 097c2421d5e1877402148798e70bfc8bc325b9c3 | [log] [tgz] |
---|---|---|
author | Amit Pundir <pundiramit@gmail.com> | Wed Feb 19 20:12:40 2020 +0530 |
committer | Amit Pundir <amit.pundir@linaro.org> | Sun Mar 15 21:32:36 2020 +0530 |
tree | db721996c11f5a6c248c2948384d20209d817871 | |
parent | dbb90a92f521252c85844ba55fcbcb408eb7b63b [diff] |
Add custom kernel image, dtb and modules support Add option to pick custom kernel prebuilts from prebuilt-kernel/android-$(CUSTOM) directory. This helps in testing custom kernels. Default kernel is still based on android-5.4. Build with "make TARGET_KERNEL_USE=$(CUSTOM)". eg. Run "make TARGET_KERNEL_USE=mainline' to pick kernel prebuilts from prebuilt-kernel/android-mainline directory. Signed-off-by: Amit Pundir <pundiramit@gmail.com>
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 :)
repo init -u https://android.googlesource.com/platform/manifest -b master git clone git@github.com:pundiramit/android-local-manifests.git .repo/local_manifests repo sync -j$nproc source build/envsetup.sh lunch aosp_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/aosp_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
Use standard abootimg commands to update kernel (Image.gz-dtb) in boot.img and fastboot flash the updated boot.img.
My working kernel is hosted at -->
https://github.com/pundiramit/linux/tree/display (beryllium_defconfig).
Prepare bootable kernel image (Image.gz-dtb) by running -->
$ cat arch/arm64/boot/Image.gz arch/arm64/boot/dts/qcom/sdm845-beryllium.dtb > arch/arm64/boot/Image.gz-dtb