Hello, I building twrp minimal manifest for teak board. In attached file what is this error?
Ouput Error:
ninja: error: '/root/_twrp/out/target/product/teak/system/bin/linker', needed by '/root/_twrp/out/target/product/teak/obj/SHARED_LIBRARIES/libbmlutils_intermediates/teamwin', missing and no known rule to make it
Re-post your issue here:
[HOW-TO] Building TWRP from source with goodies
I decided to put together a guide on how to build TWRP from source, having successfully built it myself and restored a few of the goodies that disappeared in the 3.3.1-0 release (e.g. install kernel). Also, marlin (Pixel XL) has had a few...
forum.xda-developers.com
Related
https://github.com/StarKissed/starkissed-kernel-ekgc100
This repository will include the kernel source from the "Update 1" version of the kernel.
The compile instructions included with the source do not cover making any modifications to the kernel and the previous thread seems to mirror those instructions, so this one will be dedicated to creating custom kernels.
The buildKernel.sh script is fairly straight forward to demonstrate the process, but the config files have a few eccentricities when building the wifi. When loading the config during the build, there are prompts for the bcmdhd parameters that are not referenced anywhere, as the system image does not include any bcmdhd firmware files.
The repository includes a generic ramdisk, as none is provided. Odin flashes the boot.img as a compiled file, so the ramdisk cannot be merged during install like most phones do to maintain the current version. A key note to this is that modules are built into the boot.img ramdisk, which is confusing not coming from any device that does not require Odin.
Edit: The last comment on ramdisk flashing during the install may soon be resolved. There are compatible tools to pack a ramdisk made for the recovery platforms, allowing those items to be included in a zip with the kernel. All that is needed is a custom recovery and that is in the works.
Introduction
In this guide, I will be using @krasCGQ's https://github.com/KudProject/AnyKernel2
You should know-
How to build a kernel properly.
How to use AnyKernel2 for making flashable zips.
I might not be able to answer all your questions as I am a bit busy these days so sorry!
Part 1: Changes to the kernel
1. You must firstly disable BUILD_ARM64_APPENDED_DTB_IMAGE in your defconfig(Check this for reference - https://github.com/rupansh/chimera_nich/commit/7af580533c79e179d146516a845301a32fe99220)
2. Secondly, you will have to find which dts your device uses. Its quite easy to figure that out just open arch/arm/boot/dts/qcom/Makefile in your source and find your chipset's config line. To figure out which one you should use, you can
check the history of the qcom folder in the dts folder.(You can check the history of the Makefile as well) here's are two example commits -
https://github.com/rupansh/chimera_...90747ba#diff-fb8cf9a1a0b868557516caf54f4e966b (My non treble source)
https://github.com/rupansh/chimera_...a778661#diff-fb8cf9a1a0b868557516caf54f4e966b (My treble source)
As you can see, the dtb i will need is msm8937-pmi8950-qrd-wt88537_64.dtb for non treble source and msm8937-pmi8950-qrd-sku1.dtb for Treble source. Sometimes it is just obvious which one to use(i.e it will have your device codename in some cases)
3.All right once you have found out which dtb you will need, build the kernel like you normally do(In this case an Image.gz-dtb won't be made by the way)
Next, you need to cd to <outdir>/arch/arm64/boot/dts/qcom and you will find your required dtb there in your respective sources.
Part 2: Changes to AnyKernel2
1. either you can clone https://github.com/KudProject/AnyKernel2 and delete the files in ramdisk and edit anykernel.sh according to your AnyKernel2 script, or
2. you can use these two commits for reference-
https://github.com/KudProject/AnyKernel2/commit/b55c00085c5bd3859627f579150cbd6d9687c0a0 && https://github.com/KudProject/AnyKernel2/commit/f4602f721631f95134a78b8c7eccccd3f5cd98f5 and edit your anykernel2 script accordingly. The changes are quite simple to understand. He simply added an "if" condition. It looks for ro.treble.enabled in buildprop and "if" the script finds it, treble DTB is combined with Image.gz(Which I will explain where to get) "else", (which means the other possibility which is if it doesn't find ro.treble.enabled) it simply flashes non-treble DTB with Image.gz . (Someone with basic coding knowledge can figure that out + it is quite well explained in the commit)
3. Once you have made your AnyKernel2 script ready to integrate, lets move to the next part
Part 3: Adding Required Files
1. Make a folder called "treble-supported" in the modified AnyKernel2 and copy your device specific dtb from your treble source to the folder.
2. Similarly, Make a folder called "treble-unsupported" in the modified AnyKernel2 and copy your device specific dtb from non-treble source to the folder.
3. make a dir called "kernel" in the Anykernel2 folder and copy Image.gz from any one of your source from <outdir>/arch/arm64/boot to it. (I just used the one from my treble source, Maybe you can use other sources as well but I can't confirm! An experienced person will tell you about that )
4. Zip the folder like you usually do and flash it! If it doesn't boot, You may have done something wrong with the script or more likely used an incorrect dtb!(Please don't use Image.gz-dtb). If it does boot, Congratulations!
Notes
1. You can name the folders(treble-supported and treble-unsupported) anything you want them to be as long as you make changes to the update binary
2. This script only detects on devices that have actually ported treble instead and it won't work with those that have only ported a seperste vendor
----------------------------------------------------------------------------------------------------------------------------------------------------------------------
Also this is my first guide so please do tell if I did/said something wrong
Here's my fork if you want to check - https://github.com/rupansh/AnyKernel2
Credits -
1. @krasCGQ
2. @osm0sis
3. @tanish2k09 (For bringing me to the the android dev world)
Anyone I missed! (Please reply here or message me if I have!)
To note,
You can name them anything, as long as update-binary is also modified to point to the respective folders correctly.
Detection only works for differentiating treble-enabled and non-treble. It won't work for device that has "ported" separate vendor partition but not enabling treble yet.
Sent from my Redmi Note 4 using XDA Labs
krasCGQ said:
To note,
You can name them anything, as long as update-binary is also modified to point to the respective folders correctly.
Detection only works for differentiating treble-enabled and non-treble. It won't work for device that has "ported" separate vendor partition but not enabling treble yet.
Sent from my Redmi Note 4 using XDA Labs
Click to expand...
Click to collapse
Thanks for telling i will add this to notes
Awesome @rupanshji
Twrp 3.3.1 built from Omni 9.0 minimal manifest.
bootable/recovery folder has several patches merged in , intended to assist in proper /data decryption.
Build tree used was forked from Armor 6 tree, some changes made to mk files and tree source to match the 6E.
Data decryption not working, same as with the version from armor 6.
GitHub build tree. HERE
GitHub device dump HERE
Android File host folder HERE
.
I did not keep this phone. So I will not be making any updates to this twrp.
First of all, I want to thank the official Motorola contributor SyberHexen for the precious advice he gave me thorugh the process. All the credits go to him for the hard work he's been doing for our community through the years.
DISCLAIMER:
I take no responsibility whatever for any kind of damage that might occur by following the steps below. Building an unofficial ROM using "what worked for another person" and costantly updated sources includes a high risk of making your phone unstable, bricked or causing loss of data. Remember to back up your data before flashing the rom. The guide may contain errors or not be fully compatible with future PRs on the original source, so DO IT AT YOUR OWN RISK.
WHAT YOU NEED:
- SyberHexen's unofficial build and Moto Ocean partitioning file
- A Unix\Linux system (haven't tested it on WSL, sorry)
- 300/350GB of available disk space
- at least 16 GB of RAM
In case your machine doesn't fit the requirements, you might consider a dedicated cloud Linux device (I used an AWS EC2)
STEPS:
- Follow the official Lineage OS build guide for Motorola Channel up to the Turn on caching to speed up build section.
- For the Initialize the LineageOS source repository section, use the following Repo command:
repo init -u https://github.com/LineageOS/android.git -b lineage-19.1 (and NOT 18.1, as indicated)
- Follow the indications as in the Prepare the device-specific code section
- enter the device path and remove the channel folder, as some blocking changes have not been pulled into the main repo (this might become unnecessary as soon as Andrew Hexen's changes are merged into the LineageOS repo):
cd ~/android/lineage/device/motorola/ && rm -rf channel
- get the device specific content from the updated Hexen repo, rename the folder and check the branch is lineage-19.1:
git clone https://github.com/SyberHexen/android_device_motorola_channel.git
mv android_device_motorola_channel channel
cd channel
git checkout lineage-19.1
- install Python3 and python3-protobruf if not already on the system (the package named python-protobruf indicated on the following step is not available on most recent systems anymore)
- extract the proprietary files from SyberHexen's April ROM following this guide (Payload section)
- go back to the official Lineage OS build guide and follow the steps from the Start the build section on. Consider that building from source might require a few hours.
- boot your phone on Fastboot, and flash SyberHexen's ocean_gpt.bin file (fastboot flash boot ocean_gpt.bin)
- boot into Recovery Mode and sideload the Lineage OS rom you just compliled. If you use the gapps, reboot into Recovery Mode and sideload the respective package (MindTheGapps-12.1.0-arm64-20220416_174313 worked great for me)
Congratulations, your freshly built unofficial ROM should be up and running!
有大佬能接twrp吗?
Mod translation: Is there a big guy who can take twrp?
Build TWRP it by your own.
[HOW-TO] Building TWRP from source with goodies
I decided to put together a guide on how to build TWRP from source, having successfully built it myself and restored a few of the goodies that disappeared in the 3.3.1-0 release (e.g. install kernel). Also, marlin (Pixel XL) has had a few...
forum.xda-developers.com
xXx yYy said:
Build TWRP it by your own.
[HOW-TO] Building TWRP from source with goodies
I decided to put together a guide on how to build TWRP from source, having successfully built it myself and restored a few of the goodies that disappeared in the 3.3.1-0 release (e.g. install kernel). Also, marlin (Pixel XL) has had a few...
forum.xda-developers.com
Click to expand...
Click to collapse
I have not studied this knowledge, but I will try my best to learn