Harlock1978 / Armor_11_5G

0 stars 0 forks source link

Impossible to build #2

Closed Harlock1978 closed 1 year ago

Harlock1978 commented 1 year ago

Everytime I try to build the recovery online, but it ends always with an error logs_13.zip

lopestom commented 1 year ago

Everytime I try to build the recovery online, but it ends always with an error logs_13.zip

I think have two reasons: 1- Maybe TeamWin updateing source code; 2- Maybe you not put Tokken or Action Secret?!

I'll try compiling the master But i'll create clean branch master_cleaned.

lopestom commented 1 year ago

BoardConfig.mk

1- I not know if need:

APEX

DEXPREOPT_GENERATE_APEX_IMAGE := true Hiding that in this moment. 2- Removed buildvariant=user & Adc androidboot.selinux=permissive; 3- Hiding not need config since not have Source code to kernel:

TARGET_KERNEL_CONFIG := Armor_11_5G_defconfig

TARGET_KERNEL_SOURCE := kernel/ulefone/Armor_11_5G

4- If not need so you should not put or Hide that:

BOARD_USES_RECOVERY_AS_BOOT := false

TARGET_NO_RECOVERY := false

TW_HAS_NO_RECOVERY_PARTITION := false

RECOVERY_API_VERSION := 3

5- Removed since have other so it's Double:

Hack: prevent anti rollback

PLATFORM_SECURITY_PATCH := 2099-12-31 VENDOR_SECURITY_PATCH := 2099-12-31 PLATFORM_VERSION := 16.1.0 6- Hide Config about Virtual A/B not have in the device config [Better is not put!!]:

A/B

AB_OTA_UPDATER := false

A/B

ENABLE_VIRTUAL_AB := false

prebuilt

7- Kernel renamed to Image.gz for better targeting of TWRP source code;

Doubts vs coflict

8- you put https://github.com/Harlock1978/Armor_11_5G/blob/36ab11a4a6f61797562b37aeb2fcf66752916825/omni_Armor_11_5G.mk#L31 But in the build.prop is diffent!! https://github.com/Harlock1978/Armor_11_5G/blob/36ab11a4a6f61797562b37aeb2fcf66752916825/recovery/root/vendor/build.prop#L15 What's the reason?

root/system/lib64/

9- Deleted the recovery/root/system/lib64/libashmemd_client.so & ashmemd_aidl_interface-cpp.so already in the BoardConfig.mk;

Others

10- Updated Readme about some informations.

lopestom commented 1 year ago

master_cleaned branch WORKING

[  5% 1071/21411] Check module type: /home/runner/work/Action-Recovery-Builder-CT/Action-Recovery-Builder-CT/workspace/out/target/product/Armor_11_5G/obj/SHARED_LIBRARIES/libaosprecovery_intermediates/link_type
[  5% 1072/21411] target  C++: libtwrpmtp-ffs <= bootable/recovery/mtp/ffs/MtpDebug.cpp
[  5% 1073/21411] target  C++: libtwrpmtp-ffs <= bootable/recovery/mtp/ffs/MtpDevice.cpp
[  5% 1074/21411] target  C++: libtwrpmtp-ffs <= bootable/recovery/mtp/ffs/MtpDataPacket.cpp
[  5% 1075/21411] target  C++: libtwrpmtp-ffs <= bootable/recovery/mtp/ffs/MtpDeviceInfo.cpp
[  5% 1076/21411] target  C++: libtwrpmtp-ffs <= bootable/recovery/mtp/ffs/MtpDevHandle.cpp
[  5% 1077/21411] target  C++: libtwrpmtp-ffs <= bootable/recovery/mtp/ffs/MtpEventPacket.cpp
[  5% 1078/21411] target  C++: libtwrpmtp-ffs <= bootable/recovery/mtp/ffs/MtpObjectInfo.cpp
[  5% 1079/21411] target  C++: libtwrpmtp-ffs <= bootable/recovery/mtp/ffs/MtpPacket.cpp
[  5% 1080/21411] target  C++: libtwrpmtp-ffs <= bootable/recovery/mtp/ffs/MtpRequestPacket.cpp

https://github.com/lopestom/Action-Recovery-Builder-CT/actions/runs/3625247660/jobs/6113076731

If have the img file compiled sucessfully: https://github.com/lopestom/Action-Recovery-Builder-CT/releases

lopestom commented 1 year ago
[ 99% 21406/21411] Target recovery buildinfo: /home/runner/work/Action-Recovery-Builder-CT/Action-Recovery-Builder-CT/workspace/out/target/product/Armor_11_5G/recovery/root/prop.default
[ 99% 21407/21411] Install: /home/runner/work/Action-Recovery-Builder-CT/Action-Recovery-Builder-CT/workspace/out/target/product/Armor_11_5G/recovery/root/relink_binaries-timestamp
[ 99% 21408/21411] Install: /home/runner/work/Action-Recovery-Builder-CT/Action-Recovery-Builder-CT/workspace/out/target/product/Armor_11_5G/recovery/root/system/bin/recovery
[ 99% 21409/21411] ----- Making uncompressed recovery ramdisk ------
[ 99% 21410/21411] ----- Making compressed recovery ramdisk ------
[100% 21411/21411] ----- Making recovery image ------

#### build completed successfully (44:21 (mm:ss)) ####

The img file is released in the releases part.

Harlock1978 commented 1 year ago

PRODUCT_NAME=Armor_11_5G_EEA \

Because it was so in theprop.default in the recovery and automatic inserted. While build.prop arrive from vendor I didn't notice the difference, should I change it?

Also this build doesn't work

lopestom commented 1 year ago

PRODUCT_NAME=Armor_11_5G_EEA \

Because it was so in theprop.default in the recovery and automatic inserted. While build.prop arrive from vendor I didn't notice the difference, should I change it?

Also this build doesn't work

All files from device need because different information can cause the doubts?!

This build or this recovery.img?

Harlock1978 commented 1 year ago

Armor_11_5G_EEA is in the original recovery while build.prop is copied from vendor directory both from the original firmware.

The recovery.img that you built didn't work.

lopestom commented 1 year ago

Armor_11_5G_EEA is in the original recovery while build.prop is copied from vendor directory both from the original firmware.

The recovery.img that you built didn't work.

Strange. Because in build.prop it should have: Ulefone/Armor_11_5G_EEA/Armor_11_5G:10/QP1A.190711.020/1608882226:user/release-keys and not that: Ulefone/Armor_11_5G/Armor_11_5G:10/QP1A.190711.020/1608882226:user/release-keys

But I believe that will not block the start of TWRP. If it doesn't, then you should find out. More readings? Review your DT again and find out if what was entered is within expectations?!

I think something should appear on the device, even if it's a black screen or the TWRP logo.

Harlock1978 commented 1 year ago

When I reboot in recovery I have a black screen that a vibration and it reboot normally and stay stucked on Ulefone logo. I then reboot in fastboot mode and flash again the original recovery to shutdown the Phone.

Even your maste-clean is not compiled if I launch my script, I think a problem happened during the import, I will delete and reimport it, let's see.

I will reread again all my source and try to understand what is not working.

lopestom commented 1 year ago

When I reboot in recovery I have a black screen that a vibration and it reboot normally and stay stucked on Ulefone logo. I then reboot in fastboot mode and flash again the original recovery to shutdown the Phone.

Even your maste-clean is not compiled if I launch my script, I think a problem happened during the import, I will delete and reimport it, let's see.

I will reread again all my source and try to understand what is not working.

Since now I'm looking your Action Running & working Run git clone https://github.com/Harlock1978/Armor_11_5G -b master ./device/ulefone/Armor_11_5G so at this time in the

[ 99% 21404/21409] Target recovery buildinfo: /home/runner/work/Action-Recovery-Builder-CT/Action-Recovery-Builder-CT/workspace/out/target/product/Armor_11_5G/recovery/root/prop.default
[ 99% 21405/21409] Install: /home/runner/work/Action-Recovery-Builder-CT/Action-Recovery-Builder-CT/workspace/out/target/product/Armor_11_5G/recovery/root/relink_binaries-timestamp
[ 99% 21406/21409] Install: /home/runner/work/Action-Recovery-Builder-CT/Action-Recovery-Builder-CT/workspace/out/target/product/Armor_11_5G/recovery/root/system/bin/recovery
[ 99% 21407/21409] ----- Making uncompressed recovery ramdisk ------
[ 99% 21408/21409] ----- Making compressed recovery ramdisk ------
[100% 21409/21409] ----- Making recovery image ------

#### build completed successfully (52:09 (mm:ss)) ####

I think you not have errors compiling img file.

However if the img file generated by you still doesn't work, I'll email you my TWRP made a while ago so you can test it too. This is so that we can remove the doubt as to whether your img file is good or bad; or if it's your device that won't let you start TWRP.

lopestom commented 1 year ago

If you want compile new version TWRP3.6 with 11 so you need change somethings in the DT like omni to twrp.

fatal: cannot obtain manifest https://github.com/minimal-manifest-twrp/platform_manifest_twrp_aosp.git That's not work with twrp-10.0-deprecated branch. Work with twrp-11 branch.

What's work with twrp-10.0-deprecated:

https://github.com/minimal-manifest-twrp/platform_manifest_twrp_omni.git

Harlock1978 commented 1 year ago

What's work with twrp-10.0-deprecated

I know I forgot to paste the code before launching , now it works, probably something happened when I forked the script the first time, I don't have any error anymore.

Your TWRP work with the usual error:

Could not mount /data and unable to find crypto footer. Failed to mount '/data' (Invalid argument) Unable to recreate /data/media folder. Unable to mount /data/media/TWRP/.twrps Failde to mount '/data' (invalid argument) Failed to mount '/system_root' (Permission denied)

and is 6 Mbyte bigger than mine.

lopestom commented 1 year ago

What's work with twrp-10.0-deprecated

I know I forgot to paste the code before launching , now it works, probably something happened when I forked the script the first time, I don't have any error anymore.

Your TWRP work with the usual error:

Could not mount /data and unable to find crypto footer. Failed to mount '/data' (Invalid argument) Unable to recreate /data/media folder. Unable to mount /data/media/TWRP/.twrps Failde to mount '/data' (invalid argument) Failed to mount '/system_root' (Permission denied)

and is 6 Mbyte bigger than mine.

No worries about 6MB+ because my TWRP not have much flags. In that time I made files tests and one worked.

The main thing is that the img file does not exceed the size of the partition. Example: If it is 32MB then 25_30MB or if it is 40MB then 30_39MB will not affect functionality. You will still backup the Recovery partition by TWRP and you will notice that the size will be 32MB.

But if the compiled file is bigger than the recovery partition (which is happening now with Android 12 and Custom Recoveries) then you will need to downsize with fewer choices in customizations or files that you really don't need.

So don't worry about the smaller size.

Harlock1978 commented 1 year ago

Actually it was a typing error mine is 6 MB bigger than yours.

I will try to decompile yours with Carliv to see the difference maybe I understand while your works and mine no.

lopestom commented 1 year ago

Actually it was a typing error mine is 6 MB bigger than yours.

I will try to decompile yours with Carliv to see the difference maybe I understand while your works and mine no.

Your Armor_11_5G-3639286885 has recovery.img with 32MB..... So that's good! What I do know is that the recovery partition on your device is 40MB by default. BOARD_RECOVERYIMAGE_PARTITION_SIZE := 0x2800000 # 40MB So having 32MB is no problem. Have a 40.1MB img file so it won't even be flashed.

CTool -> I prefer Android-Image-Kitchen but your decision and update me too about.

You can close now the issue. 👍

lopestom commented 1 year ago

Okay. I review your DT and look this: BOARD_KERNEL_TAGS_OFFSET := 0x00008000

Can you unpack Stock recovery.img and review if is same in the DT?


Again about build.prop - I cant know if the /vendor/build.prop is same from your stock ROM because this: https://github.com/Harlock1978/Armor_11_5G/blob/0420938a23a51057d465b2e19793f1f15a5b9f44/recovery/root/vendor/build.prop#L22

For EEA model the correct's having this:

Other thing is about lib file: \recovery\root\system\lib64\liblp.so

That's file is not to enc_dec!!

The correct file is libpl.so

Delete files from: https://github.com/Harlock1978/Armor_11_5G/blob/master/recovery/root/system/lib64/liblp.so

Harlock1978 commented 1 year ago

I come back home from and I run a compare of the unpacked recovery and I found that there are 320 different files most of them are different version of the same file, because I use the same ROM version installed in my phone and you the latest one.

kernel _offset in original recovery is exactely the same

You don't have dtbo and the dtbo_offset of my reovery is different than the one created byt TWRP, I will add the TAG in Boardconfig,mk

Again about build.prop - I cant know if the /vendor/build.prop is same from your stock ROM because this:

I just copy it from the vendor image I downloaded from my phone, but the string in prop.default of the orginal recovery is different:

prop.default: ro.vendor.custom.version=GQ5001AH1_S1000E_Ulefone_EEA_20210120_V18

build.prop: ro.vendor.custom.version=GQ5001AH1_S1000E_Ulefone_20210224_V05

Actually I notice that the whole ro.vendor.* is different between the recovery and vendor

The correct file is libpl.so

This file is not present in the original /system/lib64, should I copy from vendor?

Harlock1978 commented 1 year ago

Here is the entire difference list of your unpacked recovery and mine unpacked recovery

diff_twrp-recovery_recovery-Harlock1978_Dec-08-2022 22-46.zip

I think that all the *.so* are different because we use different version of the ROM and also all the .png** depends from the source of TWRP like the Font and the languages.

I think that at the end the interesting file to analyse are the 38 files listed here:

diff_twrp-recovery_recovery-Harlock1978_Dec-08-2022 23-07.zip

Harlock1978 commented 1 year ago

I noticed that the first three files:

vendor/etc/init/android.hardware.gatekeeper@1.0-service.rc system/etc/init/android.hardware.health@2.0-service.rc vendor/etc/init/android.hardware.keymaster@4.0-service.trustkernel.rc

are different from the original in vendor/etc/init or missing system/etc/init/android.hardware.health@2.0-service.rc from system. Did you mod/create them?

Build.prop hase minimal changes that I don't believe very important

Your TWRP Mine TWRP
ro.vendor.build.security_patch=2021-04-05 ro.vendor.build.security_patch=2021-02-05
ro.vendor.build.date=Thu May 20 00:00:21 CST 2021 ro.vendor.build.date=Wed Feb 24 14:59:25 CST 2021
ro.vendor.build.date.utc=1621440021 ro.vendor.build.date.utc=1614149965
ro.vendor.build.fingerprint=Ulefone/Armor_11_5G_EEA/Armor_11_5G:10/QP1A.190711.020/1608088743:user/release-keys ro.vendor.build.fingerprint=Ulefone/Armor_11_5G/Armor_11_5G:10/QP1A.190711.020/1608882226:user/release-keys
ro.vendor.build.id=Armor_11_5G_AH1_EEA_V01 ro.vendor.build.id=Armor_11_5G_AH1_V01
ro.vendor.build.version.incremental=1608088743 ro.vendor.build.version.incremental=1608882226
ro.vendor.custom.version=GQ5001AH1_S1000E_Ulefone_EEA_20210519_V26 ro.vendor.custom.version=GQ5001AH1_S1000E_Ulefone_20210224_V05
ro.product.vendor.name=Armor_11_5G_EEA ro.product.vendor.name=Armor_11_5G
ro.bootimage.build.date=Thu May 20 00:00:21 CST 2021 ro.bootimage.build.date=Wed Feb 24 14:59:25 CST 2021
ro.bootimage.build.date.utc=1621440021 ro.bootimage.build.date.utc=1614149965
ro.bootimage.build.fingerprint=Ulefone/Armor_11_5G_EEA/Armor_11_5G:10/QP1A.190711.020/1608088743:user/release-keys ro.bootimage.build.fingerprint=Ulefone/Armor_11_5G/Armor_11_5G:10/QP1A.190711.020/1608882226:user/release-keys
ro.vendor.mediatek.version.release=alps-mp-q0.mp2-V2.99.1_haocheng.q0mp2.k6885v1.64_P29 ro.vendor.mediatek.version.release=alps-mp-q0.mp2-V2.99.1_haocheng.q0mp2.k6885v1.64_P17

I think that init in /system/bin is created automatically during compile and is not the copy of the one in the original system/bin, am I right?

lopestom commented 1 year ago

I come back home from and I run a compare of the unpacked recovery and I found that there are 320 different files most of them are different version of the same file, because I use the same ROM version installed in my phone and you the latest one.

kernel _offset in original recovery is exactely the same

You don't have dtbo and the dtbo_offset of my reovery is different than the one created byt TWRP, I will add the TAG in Boardconfig,mk

Again about build.prop - I cant know if the /vendor/build.prop is same from your stock ROM because this:

I just copy it from the vendor image I downloaded from my phone, but the string in prop.default of the orginal recovery is different:

prop.default: ro.vendor.custom.version=GQ5001AH1_S1000E_Ulefone_EEA_20210120_V18 build.prop: ro.vendor.custom.version=GQ5001AH1_S1000E_Ulefone_20210224_V05

Actually I notice that the whole ro.vendor.* is different between the recovery and vendor

Again you not read my message with patience! I wrote about build.prop! Not prop.default. I wrote about build.prop so you not unpacked super.img and have vendor.img to have \vendor\build.prop and others binaries/blobs files to copy your DT??

The correct file is libpl.so

This file is not present in the original /system/lib64, should I copy from vendor?

The correct file is libpl.so from \vendor so other in the \system should delete!

Here is the entire difference list of your unpacked recovery and mine unpacked recovery

diff_twrp-recovery_recovery-Harlock1978_Dec-08-2022 22-46.zip

I think that all the *.so* are different because we use different version of the ROM and also all the .png** depends from the source of TWRP like the Font and the languages.

I think that at the end the interesting file to analyse are the 38 files listed here:

diff_twrp-recovery_recovery-Harlock1978_Dec-08-2022 23-07.zip

I'll see that with more free time. But each compiled img file that you have so have new files from AOSP Source Code. In this case we have a long time about my recovery.img compiled and your. But for functional part so is same file. We writing about some files compiled and not from your \system & \vendor & \recovery stock files. Obviuslly as very devices can have different models and firmware so your can have other model & firmware too. But the structure and files copied from your model and firmware can confirm TWRP working.

lopestom commented 1 year ago

I noticed that the first three files:

vendor/etc/init/android.hardware.gatekeeper@1.0-service.rc system/etc/init/android.hardware.health@2.0-service.rc vendor/etc/init/android.hardware.keymaster@4.0-service.trustkernel.rc

You need compare with ADeadTrousers DT because stock files not have moded permissions to TWRP & enc_dec functions. This is important to your learning!

are different from the original in vendor/etc/init or missing system/etc/init/android.hardware.health@2.0-service.rc from system. Did you mod/create them?

Thi's created from TWRP Source Code. Read the last replay.....

Build.prop hase minimal changes that I don't believe very important

Your TWRP Mine TWRP

That's not important because if my TWRP work in your device (Even if they are different models and have different firmware versions). At that point, you're only doing something unique to your model & firmware because it's more interesting to have the related information and files unique to your device. This will all eliminate doubts regarding the functioning of TWRP and mainly dedicating itself to encryption and decryption.

I think that init in /system/bin is created automatically during compile and is not the copy of the one in the original system/bin, am I right?

Yes. Not only \system\bin but every simple Android structure. BUT that's moded and created to TWRP - not only to Android System. TeamWin place very differents lines programmed to TWRP work and have permissions.

lopestom commented 1 year ago

I create the A10_lopestom for more attempts. You can read Readme to know about.

Harlock1978 commented 1 year ago

Again you not read my message with patience! I wrote about build.prop! Not prop.default. I wrote about build.prop so you not unpacked super.img and have vendor.img to have \vendor\build.prop and others binaries/blobs files to copy your DT??

I unpacked super.img and then I mounted vendor, system and product and I extracted build.prop of my /vendor.

The correct file is libpl.so from \vendor so other in the \system should delete!

Done

Harlock1978 commented 1 year ago

I downloaded your branch, I'll do all my change there and then uploading and compiling.

I'm reading the DT of ADeadTrousers, but most are script that are beyond my programming knowledge :-(

I changen in the stab file all the /dev/block/platform/bootdevice/by-name in /dev/block/by-name becuase in mount I didn't found /dev/block/platform/bootdevice/by-name is it correct or is better if I put back all again?

The real size of Superpartition is different of the one you put in Boardconfig.mk, is this a problem?

lopestom commented 1 year ago

I downloaded your branch, I'll do all my change there and then uploading and compiling.

I'm reading the DT of ADeadTrousers, but most are script that are beyond my programming knowledge :-(

I not know if the A10_lopestom branch is good. I tried compile that but no work. The ADeadTrousers DT is only reference about enc_dec. The S88Pro DT has files for that. But obviously copying the files from your stock ROM.

I changen in the stab file all the /dev/block/platform/bootdevice/by-name in /dev/block/by-name becuase in mount I didn't found /dev/block/platform/bootdevice/by-name is it correct or is better if I put back all again?

Same from stock recovery.fstab

The real size of Superpartition is different of the one you put in Boardconfig.mk, is this a problem?

Use your. Maybe stock ROM from your device has more than other.

I'm writing with my smartphone now. My HD PC dead (other again). So I can't help you in these days.

Harlock1978 commented 1 year ago

Same from stock recovery.fstab

It has /dev/block/by-name I'll check that everything match

Use your.

Done

My HD PC dead (other again).

I hope you don't lose too much.

lopestom commented 1 year ago

I hope you don't lose too much.

Unfortunately I used win10 and exactly after 1year with old HD crashed with win10 too, so exactly 1 year the new HD with win10 crashed again.... Win10 is arghhhhh! But have several tools that we use to do something. My other pc with linux never crashed.

Unfortunately I need time to buy other new HD and maybe I lost very files to my android development.

Harlock1978 commented 1 year ago

I hava also Win10 and Mac and Win11 because of different software, but for the moment it still works.

I run Linux in a virtualmachine inside Win10