Related
[Discontinued]
Seems great, can you provide an A510 version ?
Sure, but be warned i don't own this device so this build is experimental (for now).
Wootever said:
Sure, but be warned i don't own this device so this build is experimental (for now).
Click to expand...
Click to collapse
Thanks, I will try to boot it this weekend, and if it's ok, maybe flash it
Wootever said:
Latest version 2.6 for Acer A700.
If you notice any problems, let me know.
Click to expand...
Click to collapse
Appreciate you sharing.
Just exactly, where did you get this recovery from? As I notice you have not much information on it, and nothing indicates you developed it yourself. If so, credits need to be given to the original author.
MD
The recovery is actually build by myself. The build process itself is not rather complicated, it only needs some small configuration for proper working.
Code used for A700 version:
Code:
DEVICE_RESOLUTION := 1920x1200
RECOVERY_SDCARD_ON_DATA := true
TW_INTERNAL_STORAGE_PATH := "/data/media"
TW_INTERNAL_STORAGE_MOUNT_POINT := "data"
TW_EXTERNAL_STORAGE_PATH := "/external_sd"
TW_EXTERNAL_STORAGE_MOUNT_POINT := "external_sd"
For the A510 i used Shreps repo (https://github.com/Shr3ps/device_acer_a510) and created a modified cm.mk configuration file:
Code:
DEVICE_RESOLUTION := 1280x800
RECOVERY_SDCARD_ON_DATA := true
TW_INTERNAL_STORAGE_PATH := "/data/media"
TW_INTERNAL_STORAGE_MOUNT_POINT := "data"
TW_EXTERNAL_STORAGE_PATH := "/external_sd"
TW_EXTERNAL_STORAGE_MOUNT_POINT := "external_sd"
Code:
## Specify phone tech before including full_phone
$(call inherit-product, vendor/cm/config/gsm.mk)
# Release name
PRODUCT_RELEASE_NAME := A510
# Boot Animation
TARGET_SCREEN_WIDTH := 1280
TARGET_SCREEN_HEIGHT := 800
# Inherit some common CM stuff.
$(call inherit-product, vendor/cm/config/common_full_tablet_wifionly.mk)
# Inherit device configuration
$(call inherit-product, device/acer/a510/full_a510.mk)
## Device identifier. This must come after all inclusions
PRODUCT_DEVICE := a510
PRODUCT_NAME := cm_a510
PRODUCT_BRAND := Acer
PRODUCT_MODEL := A510
PRODUCT_MANUFACTURER := Acer
PRODUCT_BUILD_PROP_OVERRIDES += \
PRODUCT_NAME=a510_pa_cus1 \
TARGET_DEVICE=picasso_m \
BUILD_FINGERPRINT="acer/a510_pa_cus1/picasso_m:4.1.2/JZO54K/1354108731:user/release-keys" \
PRIVATE_BUILD_DESC="a510_pa_cus1-user 4.1.2 JZ054K 1354108731 release-keys"
Wootever said:
The recovery is actually build by myself. The build process itself is not rather complicated, it only needs some small configuration for proper working.
Code used for A700 version:
Code:
DEVICE_RESOLUTION := 1920x1200
RECOVERY_SDCARD_ON_DATA := true
TW_INTERNAL_STORAGE_PATH := "/data/media"
TW_INTERNAL_STORAGE_MOUNT_POINT := "data"
TW_EXTERNAL_STORAGE_PATH := "/external_sd"
TW_EXTERNAL_STORAGE_MOUNT_POINT := "external_sd"
For the A510 i used Shreps repo (https://github.com/Shr3ps/device_acer_a510) and created a modified cm.mk configuration file:
Code:
DEVICE_RESOLUTION := 1280x800
RECOVERY_SDCARD_ON_DATA := true
TW_INTERNAL_STORAGE_PATH := "/data/media"
TW_INTERNAL_STORAGE_MOUNT_POINT := "data"
TW_EXTERNAL_STORAGE_PATH := "/external_sd"
TW_EXTERNAL_STORAGE_MOUNT_POINT := "external_sd"
Code:
## Specify phone tech before including full_phone
$(call inherit-product, vendor/cm/config/gsm.mk)
# Release name
PRODUCT_RELEASE_NAME := A510
# Boot Animation
TARGET_SCREEN_WIDTH := 1280
TARGET_SCREEN_HEIGHT := 800
# Inherit some common CM stuff.
$(call inherit-product, vendor/cm/config/common_full_tablet_wifionly.mk)
# Inherit device configuration
$(call inherit-product, device/acer/a510/full_a510.mk)
## Device identifier. This must come after all inclusions
PRODUCT_DEVICE := a510
PRODUCT_NAME := cm_a510
PRODUCT_BRAND := Acer
PRODUCT_MODEL := A510
PRODUCT_MANUFACTURER := Acer
PRODUCT_BUILD_PROP_OVERRIDES += \
PRODUCT_NAME=a510_pa_cus1 \
TARGET_DEVICE=picasso_m \
BUILD_FINGERPRINT="acer/a510_pa_cus1/picasso_m:4.1.2/JZO54K/1354108731:user/release-keys" \
PRIVATE_BUILD_DESC="a510_pa_cus1-user 4.1.2 JZ054K 1354108731 release-keys"
Click to expand...
Click to collapse
Thanks Mate for clearing it up
I guess I will try this out.
OP, sent you a PM.
MD
Wootever said:
Sure, but be warned i don't own this device so this build is experimental (for now).
Click to expand...
Click to collapse
is it safe regarding MMC_CAP_ERASE function? EMMC wipe?
all the best
Elibl said:
is it safe regarding MMC_CAP_ERASE function? EMMC wipe?
all the best
Click to expand...
Click to collapse
This recovery is build with the same kernel as the a700 version:
https://github.com/CyanogenMod/android_kernel_acer_t30
pawitp has already disabled MMC_CAP_ERASE to prevent a hard brick:
https://github.com/CyanogenMod/andr...mmit/c0e6ee0b15cb48395384851c931b7baf4b8dde00
There is no guarantee that you won't get any problems, but since the a510 is very similar to the a700 it should not brick your device.
Edit:
content of BoardConfigCommon.mk:
# Samsung EMMC brick bug
# Already disabled in kernel, but disable again for safety
BOARD_SUPPRESS_EMMC_WIPE := true
Click to expand...
Click to collapse
respective commit:
https://github.com/CyanogenMod/android_system_extras/commit/60c5383fd093826fb3f95f3dda4f313aa54f4f69
Wootever said:
This recovery is build with the same kernel as the a700 version:
https://github.com/CyanogenMod/android_kernel_acer_t30
pawitp has already disabled MMC_CAP_ERASE to prevent a hard brick:
https://github.com/CyanogenMod/andr...mmit/c0e6ee0b15cb48395384851c931b7baf4b8dde00
There is no guarantee that you won't get any problems, but since the a510 is very similar to the a700 it should not brick your device.
Edit:
content of BoardConfigCommon.mk:
respective commit:
https://github.com/CyanogenMod/android_system_extras/commit/60c5383fd093826fb3f95f3dda4f313aa54f4f69
Click to expand...
Click to collapse
Thanks really nice review going to test it tomorrow
All the best
Gesendet von meinem NexusHD2 mit Tapatalk 4 Beta
whats the problem with external_sd?
It worked fine in the 2.5 build by pawitp.
Code:
TW_EXTERNAL_STORAGE_PATH := "/external_sd"
TW_EXTERNAL_STORAGE_MOUNT_POINT := "external_sd"
shouldn't it be /mnt/external_sd ?
nex86 said:
whats the problem with external_sd?
It worked fine in the 2.5 build by pawitp.
Code:
TW_EXTERNAL_STORAGE_PATH := "/external_sd"
TW_EXTERNAL_STORAGE_MOUNT_POINT := "external_sd"
shouldn't it be /mnt/external_sd ?
Click to expand...
Click to collapse
I think OP has updated the recovery according to the original post to address the issue.
The Op should respond a little quicker to issues
MD
Hate to say it mate. But on a 701 it's unable to mount basically about anything (when doing a backup). And the 700 uses the same mounting points. So not sure what's going on.
Did you make a mistake and post a wrong one in the latest download link? Because... Wow!
Also, is this for JB? Because it acts like you used an ICS kernel. That would explain all the mount point errors as I remember trying to use a JB based CWM on an ICS build.
Basically, it cannot mount most of the partitions, and get a TWRP fail.
Sorry for late response, i tested the recovery attached on my first post again and can't reproduce any of the errors you are reporting.
The recovery is based on recent kernel_acer_t30 and device_acer_a700 repositories both provided by cyanogenmod.
If you could provide a log (located on /tmp/recovery.log) i could take a closer look.
I just want everyone to know that this recovery is the only one that recognizes my 64gb MicroSDXC . CWM 6.0.2.3 and 6.0.3.1 don't.
Sent from my A700 using Tapatalk 4
Small update:
* fixed usb otg
* update twrp to latest version 2.6.3.0
* update kernel source (cm-10.2)
Wootever said:
Small update:
* fixed usb otg
* update twrp to latest version 2.6.3.0
* update kernel source (cm-10.2)
Click to expand...
Click to collapse
is this discontinued or are you still going to maintain?
TWRP 2.7.0.0
here you can test
Elibl said:
here you can test
Click to expand...
Click to collapse
Thanks, good work!
Gesendet von meinem A701 mit Tapatalk
And so I build a optimized cm 12.1 with linaro toolchain and -O3 flag. (from this thread http://forum.xda-developers.com/mi-4i/development/wip-cyanogenmod-12-1-xiaomi-mi-4i-t3152134)
Standard CM disclaimers apply if you want to use this build
Steps :
1. Add this to your local manifest (make directory .repo/local_manifests under the source directory)
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<project path="kernel/xiaomi/ferrari" name="dh-harald/android_kernel_xiaomi_ferrari" />
<project path="device/xiaomi/ferrari" name="dh-harald/android_device_xiaomi_ferrari" />
<project path="vendor/xiaomi/ferrari" name="dh-harald/android_vendor_xiaomi_ferrari" />
<project path="device/qcom/common" name="CyanogenMod/android_device_qcom_common" />
<project path="external/mm-dash" name="CyanogenMod/android_external_mm-dash" />
<project path="hardware/qcom/fm" name="CyanogenMod/android_hardware_qcom_fm" />
</manifest>
Then execute the command "repo sync" to get the source code.
2. Execute the following commands (under the source directory) to get the linaro toolchain
git clone https://android.git.linaro.org/git-.../aarch64/aarch64-linux-android-4.9-linaro.git prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-linaro-4.9
git clone https://android-git.linaro.org/git-...x86/arm/arm-linux-androideabi-4.9-linaro.git/ prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-linaro-4.9
3. Make the following changes
diff --git a/core/clang/config.mk b/core/clang/config.mk
index 9c11797..67a545e 100644
--- a/core/clang/config.mk
+++ b/core/clang/config.mk
@@ -31,8 +31,8 @@ endif
# Clang flags for all host or target rules
CLANG_CONFIG_EXTRA_ASFLAGS :=
-CLANG_CONFIG_EXTRA_CFLAGS :=
-CLANG_CONFIG_EXTRA_CPPFLAGS :=
+CLANG_CONFIG_EXTRA_CFLAGS := -O3
+CLANG_CONFIG_EXTRA_CPPFLAGS := -O3
CLANG_CONFIG_EXTRA_LDFLAGS :=
CLANG_CONFIG_EXTRA_CFLAGS += \
@@ -40,7 +40,7 @@ CLANG_CONFIG_EXTRA_CFLAGS += \
# Help catch common 32/64-bit errors.
CLANG_CONFIG_EXTRA_CFLAGS += \
- -Werror=int-conversion
+ -Werror=int-conversion
# Workaround for ccache with clang.
# See http://petereisentraut.blogspot.com/2011/05/ccache-and-clang.html.
@@ -49,6 +49,7 @@ CLANG_CONFIG_EXTRA_CFLAGS += \
CLANG_CONFIG_UNKNOWN_CFLAGS := \
-funswitch-loops \
+ -O3 \
-fno-tree-sra \
-finline-limit=64 \
-Wno-psabi \
@@ -61,14 +62,14 @@ CLANG_CONFIG_UNKNOWN_CFLAGS := \
# Clang flags for all host rules
CLANG_CONFIG_HOST_EXTRA_ASFLAGS :=
-CLANG_CONFIG_HOST_EXTRA_CFLAGS :=
-CLANG_CONFIG_HOST_EXTRA_CPPFLAGS :=
+CLANG_CONFIG_HOST_EXTRA_CFLAGS := -O3
+CLANG_CONFIG_HOST_EXTRA_CPPFLAGS := -O3
CLANG_CONFIG_HOST_EXTRA_LDFLAGS :=
# Clang flags for all target rules
CLANG_CONFIG_TARGET_EXTRA_ASFLAGS :=
-CLANG_CONFIG_TARGET_EXTRA_CFLAGS := -nostdlibinc
-CLANG_CONFIG_TARGET_EXTRA_CPPFLAGS := -nostdlibinc
+CLANG_CONFIG_TARGET_EXTRA_CFLAGS := -nostdlibinc -O3
+CLANG_CONFIG_TARGET_EXTRA_CPPFLAGS := -nostdlibinc -O3
CLANG_CONFIG_TARGET_EXTRA_LDFLAGS :=
# HOST config
@@ -98,7 +99,7 @@ CLANG_CONFIG_EXTRA_TARGET_C_INCLUDES := $(LLVM_PREBUILTS_HEADER_PATH) $(TARGET_O
# Address sanitizer clang config
ADDRESS_SANITIZER_RUNTIME_LIBRARY := libclang_rt.asan_$(TARGET_ARCH)_android
-ADDRESS_SANITIZER_CONFIG_EXTRA_CFLAGS := -fsanitize=address -fno-omit-frame-pointer
+ADDRESS_SANITIZER_CONFIG_EXTRA_CFLAGS := -fsanitize=address -fno-omit-frame-pointer -O3
ADDRESS_SANITIZER_CONFIG_EXTRA_LDFLAGS := -Wl,-u,__asan_preinit
ADDRESS_SANITIZER_CONFIG_EXTRA_SHARED_LIBRARIES := libdl $(ADDRESS_SANITIZER_RUNTIME_LIBRARY)
ADDRESS_SANITIZER_CONFIG_EXTRA_STATIC_LIBRARIES := libasan
diff --git a/core/combo/TARGET_linux-arm.mk b/core/combo/TARGET_linux-arm.mk
index 95b1804..de703fe 100644
--- a/core/combo/TARGET_linux-arm.mk
+++ b/core/combo/TARGET_linux-arm.mk
@@ -38,7 +38,7 @@ endif
$(combo_2nd_arch_prefix)TARGET_NDK_GCC_VERSION := 4.8
ifeq ($(strip $(TARGET_GCC_VERSION_EXP)),)
-$(combo_2nd_arch_prefix)TARGET_GCC_VERSION := 4.8
+$(combo_2nd_arch_prefix)TARGET_GCC_VERSION := linaro-4.9
else
$(combo_2nd_arch_prefix)TARGET_GCC_VERSION := $(TARGET_GCC_VERSION_EXP)
endif
@@ -67,14 +67,14 @@ $(combo_2nd_arch_prefix)TARGET_STRIP := $($(combo_2nd_arch_prefix)TARGET_TOOLS_P
$(combo_2nd_arch_prefix)TARGET_NO_UNDEFINED_LDFLAGS := -Wl,--no-undefined
-$(combo_2nd_arch_prefix)TARGET_arm_CFLAGS := -O2 \
+$(combo_2nd_arch_prefix)TARGET_arm_CFLAGS := -O3 \
-fomit-frame-pointer \
-fstrict-aliasing \
-funswitch-loops
# Modules can choose to compile some source as thumb.
$(combo_2nd_arch_prefix)TARGET_thumb_CFLAGS := -mthumb \
- -Os \
+ -O3 \
-fomit-frame-pointer \
-fno-strict-aliasing
@@ -96,6 +96,7 @@ android_config_h := $(call select-android-config-h,linux-arm)
$(combo_2nd_arch_prefix)TARGET_GLOBAL_CFLAGS += \
-msoft-float \
+ -O3 \
-ffunction-sections \
-fdata-sections \
-funwind-tables \
@@ -127,7 +128,7 @@ endif
# in their exported C++ functions). Also, GCC 4.5 has already
# removed the warning from the compiler.
#
-$(combo_2nd_arch_prefix)TARGET_GLOBAL_CFLAGS += -Wno-psabi
+$(combo_2nd_arch_prefix)TARGET_GLOBAL_CFLAGS += -Wno-psabi -O3
$(combo_2nd_arch_prefix)TARGET_GLOBAL_LDFLAGS += \
-Wl,-z,noexecstack \
@@ -140,12 +141,12 @@ $(combo_2nd_arch_prefix)TARGET_GLOBAL_LDFLAGS += \
$(combo_2nd_arch_prefix)TARGET_GLOBAL_CFLAGS += -mthumb-interwork
-$(combo_2nd_arch_prefix)TARGET_GLOBAL_CPPFLAGS += -fvisibility-inlines-hidden
+$(combo_2nd_arch_prefix)TARGET_GLOBAL_CPPFLAGS += -fvisibility-inlines-hidden -O3
# More flags/options can be added here
$(combo_2nd_arch_prefix)TARGET_RELEASE_CFLAGS := \
-DNDEBUG \
- -g \
+ -O3 \
-Wstrict-aliasing=2 \
-fgcse-after-reload \
-frerun-cse-after-loop \
diff --git a/core/combo/TARGET_linux-arm64.mk b/core/combo/TARGET_linux-arm64.mk
index df6c127..2d1de81 100644
--- a/core/combo/TARGET_linux-arm64.mk
+++ b/core/combo/TARGET_linux-arm64.mk
@@ -38,7 +38,7 @@ endif
TARGET_NDK_GCC_VERSION := 4.9
ifeq ($(strip $(TARGET_GCC_VERSION_EXP)),)
-TARGET_GCC_VERSION := 4.9
+TARGET_GCC_VERSION := linaro-4.9
else
TARGET_GCC_VERSION := $(TARGET_GCC_VERSION_EXP)
endif
@@ -68,7 +68,7 @@ TARGET_STRIP := $(TARGET_TOOLS_PREFIX)strip$(HOST_EXECUTABLE_SUFFIX)
TARGET_NO_UNDEFINED_LDFLAGS := -Wl,--no-undefined
TARGET_GLOBAL_CFLAGS += \
- -fno-strict-aliasing \
+ -O3 -fno-strict-aliasing \
android_config_h := $(call select-android-config-h,linux-arm64)
@@ -113,12 +113,12 @@ TARGET_GLOBAL_LDFLAGS += \
-Wl,-maarch64linux \
$(arch_variant_ldflags)
-TARGET_GLOBAL_CPPFLAGS += -fvisibility-inlines-hidden
+TARGET_GLOBAL_CPPFLAGS += -fvisibility-inlines-hidden -O3
# More flags/options can be added here
TARGET_RELEASE_CFLAGS := \
-DNDEBUG \
- -O2 -g \
+ -O3 \
-Wstrict-aliasing=2 \
-fgcse-after-reload \
-frerun-cse-after-loop \
diff --git a/core/combo/arch/arm64/armv8-a.mk b/core/combo/arch/arm64/armv8-a.mk
index 642fe91..9b959b6 100644
--- a/core/combo/arch/arm64/armv8-a.mk
+++ b/core/combo/arch/arm64/armv8-a.mk
@@ -8,6 +8,6 @@ endif
# Leave the flag so devices that need the workaround but don't fit in
# the check above can still enable it.
ifeq ($(TARGET_CPU_CORTEX_A53),true)
-arch_variant_ldflags := -Wl,--fix-cortex-a53-843419 \
+#arch_variant_ldflags := -Wl,--fix-cortex-a53-843419 \
-Wl,--fix-cortex-a53-835769
endif
diff --git a/core/combo/select.mk b/core/combo/select.mk
index ec10dd2..ec5781f 100644
--- a/core/combo/select.mk
+++ b/core/combo/select.mk
@@ -49,9 +49,9 @@ $(combo_var_prefix)HAVE_STRLCPY := 0
$(combo_var_prefix)HAVE_STRLCAT := 0
$(combo_var_prefix)HAVE_KERNEL_MODULES := 0
-$(combo_var_prefix)GLOBAL_CFLAGS := -fno-exceptions -Wno-multichar
-$(combo_var_prefix)RELEASE_CFLAGS := -O2 -g -fno-strict-aliasing
-$(combo_var_prefix)GLOBAL_CPPFLAGS :=
+$(combo_var_prefix)GLOBAL_CFLAGS := -fno-exceptions -Wno-multichar -O3
+$(combo_var_prefix)RELEASE_CFLAGS := -O3 -fno-strict-aliasing
+$(combo_var_prefix)GLOBAL_CPPFLAGS := -O3
$(combo_var_prefix)GLOBAL_LDFLAGS :=
$(combo_var_prefix)GLOBAL_ARFLAGS := crsPD
$(combo_var_prefix)GLOBAL_LD_DIRS :=
diff --git a/core/config.mk b/core/config.mk
index ddc4007..0ef7cea 100644
--- a/core/config.mk
+++ b/core/config.mk
@@ -113,8 +113,8 @@ SHOW_COMMANDS:= $(filter showcommands,$(MAKECMDGOALS))
# ###############################################################
# These can be changed to modify both host and device modules.
-COMMON_GLOBAL_CFLAGS:= -DANDROID -fmessage-length=0 -W -Wall -Wno-unused -Winit-self -Wpointer-arith
-COMMON_RELEASE_CFLAGS:= -DNDEBUG -UDEBUG
+COMMON_GLOBAL_CFLAGS:= -DANDROID -fmessage-length=0 -W -Wall -Wno-unused -Winit-self -Wpointer-arith -O3
+COMMON_RELEASE_CFLAGS:= -DNDEBUG -UDEBUG -O3
COMMON_GLOBAL_CPPFLAGS:= $(COMMON_GLOBAL_CFLAGS) -Wsign-promo
COMMON_RELEASE_CPPFLAGS:= $(COMMON_RELEASE_CFLAGS)
4. execute the command "brunch cm_ferrari-user"
Steps use this build.
1. Builds can be downloaded from here -
cm-12.1-20150803-UNOFFICIAL-ferrari.zip
http://d-h.st/tmmW
cm-12.1-20150806-UNOFFICIAL-ferrari.zip
http://d-h.st/raM0
cm-12.1-20150811-UNOFFICIAL-ferrari.zip
http://d-h.st/9PFq
cm-12.1-20150815-UNOFFICIAL-ferrari.zip
http://d-h.st/YAnS
cm-12.1-20150827-UNOFFICIAL-ferrari.zip
http://d-h.st/cIZg
cm-12.1-20150916-UNOFFICIAL-ferrari.zip
http://d-h.st/jqbq
cm-12.1-20150924-UNOFFICIAL-ferrari.zip
http://d-h.st/YcOn
cm-12.1-20151009-UNOFFICIAL-ferrari.zip
http://d-h.st/Vmp3
2. Download any 64bit gapps.
3. Install twrp and these two files.
I used the sensor patch from this thread http://forum.xda-developers.com/mi-4i/development/wip-cyanogenmod-12-1-xiaomi-mi-4i-t3152134
I have attached the AnTuTu benchmark score
whats battery like?
just installed it ...looks good...
What kernel is used? Does the kernel in CM 12.1 run the CPUs always at max rate?
fattymcdirty said:
What kernel is used? Does the kernel in CM 12.1 run the CPUs always at max rate?
Click to expand...
Click to collapse
Nope if he didn't modify it under settings->performance you can change the governor of your kernel. Remember that Performance keeps frequency at maximum,while Powersave keeps frequency at minimum.
Sent from my LG-E400 using XDA Free mobile app
And does a CM 12.1 build run more fluid than MIUI on the Mi4i?
fattymcdirty said:
And does a CM 12.1 build run more fluid than MIUI on the Mi4i?
Click to expand...
Click to collapse
Certainly. MIUI is visibly beatiful. But it takes a lot of RAM.
I recommend using CM for it doesn't take as much RAM as MIUI and has good looks,too.
Sent from my LG-E400 using XDA Free mobile app
Nice!! Downloading now... Btw, which gapps do you recommend for your build, @shyamk?
Do we benefit from O3 flags if we use another kernel? Or do we have to use the kernel from this Rom to have all the goodness?
rob rich said:
Do we benefit from O3 flags if we use another kernel? Or do we have to use the kernel from this Rom to have all the goodness?
Click to expand...
Click to collapse
You need to keep the same kernel,for its compiled with the o3 flag. You might wanna change to a kernel whose been compiled with O3 flags too,though.
Sent from my LG-E400 using XDA Free mobile app
The kernel is the same as the previous thread -- stock ferrari kernel. Any gapps would do. The only difference between this image and the one in the other thread is that I have used linaro and -O3. Nothing else
@shyamk i really hope you are giving us updates from time to time, this is so smooth thanks
how to root this rom.. i cannot found any root option at developer option thanks
I will keep building this ROM as and when there is an update in the other thread, or when I find sometime, whichever is earlier.
Yes, I did notice that the root is missing from developer options. Let me look into it later in the day when I can find sometime.
Shyam
How does this preform to the original cm12.1 in terms of speed/battery life?
reza36 said:
how to root this rom.. i cannot found any root option at developer option thanks
Click to expand...
Click to collapse
Download the flashable ZIP of superSU from here http://download.chainfire.eu/supersu and flash it in recovery
Running the ROM, no bugs so far.... we need to flash the sensor patch from dh.harald after flashing this ROM too...
I use thermal and cpu config from this post http://forum.xda-developers.com/showpost.php?p=62180597&postcount=790
Hi guys,
Shyamk, great job, but what is linaro ando 03 where does it helps ... stupid me i dont know..
thanks
vrtsvas said:
Hi guys,
Shyamk, great job, but what is linaro ando 03 where does it helps ... stupid me i dont know..
thanks
Click to expand...
Click to collapse
Do you know that Google is your friend?
Hi all devs,
How can i build a vendor image in AOSP code of Pixel 2?
I used "make vendorimage" and find the vendor image is copied from vendor/google_devices/walleye/proprietary/vendor.img
I modified as below:
1) added BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE := true and PRODUCT_RESTRICT_VENDOR_FILES := false in aosp_walleye.mk
2) added BOARD_VENDORIMAGE_PARTITION_SIZE := 283115520
BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE := ext4
TARGET_COPY_OUT_VENDOR := vendor
in BoardConfig.mk
After these modification, I used "make vendorimage" then build a small(41m) vendor.img:crying:
I flashed this vendor.img Pixel 2 can not startup.
I extract vendor/google_devices/walleye/proprietary/vendor.img and compare it with out/target/.../walleye/vendor, out/target/.../walleye/vendor is missing lots of bins, apks, libs such as libacdbloader, acdbdata, sensors and so on. Where can i get these libs, apks, bins?
Is there some commands to pack a vendor.img after I instead some bins in extracted files?
Thanks.
Hey guys, I've tried to preinstall an prebuilt and signed APK to an Android 10 AOSP build, but when I launch the emulator locally the APK is not there... I've tried searching similar threads here and couldn't find any.
First I tried to build the "device/generic/armv7-a-neon" one, but no luck, then I've copied the config to my custom device and modified it there, still no luck. Here are my steps:
Bash:
repo init -u https://android.googlesource.com/platform/manifest -b android-security-10.0.0_r51
repo sync
echo "PRODUCT_PROPERTY_OVERRIDES += ro.config.low_ram=true" >> device/generic/armv7-a-neon/AndroidProducts.mk
#Add MyApp
mkdir packages/apps/MyApp
echo 'LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := MyApp
LOCAL_MODULE_TAGS := optional
LOCAL_CERTIFICATE := PRESIGNED
LOCAL_SRC_FILES := MyApp.apk
LOCAL_MODULE_CLASS := APPS
LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)
include $(BUILD_PREBUILT)' >> packages/apps/MyApp/Android.mk
echo "PRODUCT_PACKAGES += MyApp" >> ~/WORKING_DIRECTORY/build/target/product/handheld_product.mk
source build/envsetup.sh
lunch aosp_arm-eng
#for my own custom device config I am using:
#lunch custom_armv7_neon-eng
make -j8
#after that I am copying the out/target/product/generic/system.img and out/target/product/generic/userdata.img to my local machine
#and running on my local AVD emulator, which I've created from scratch and specifying the system.img and userdata.img
emulator -avd Pixel_4_API_25_ARM -system ~/aosp/system.img -initdata ~/aosp/userdata.img
The emulator launches with the system and the apk is not preinstalled.
Any feedback would be very appreciated
How to Build Basic TWRP for a Android Device Android 9+Note
This is a basic method to build twrp. If twrp has bugs you have to fix it with your self according to your device
In samsung devices decryption/encryption cannot be fix easily and it need to modify kernel to fix mtp. most of time common bugs are mtp and decryption you need can find more info by referring more device trees
Click to expand...
Click to collapse
Prepare Environmet
Create a github account
Create a new empty repo
Then log into gitpod using github account
Open new workspace in gitpod,
Select your new repo and selcect class as large
Make a device tree using twrpdtgen
git clone https://github.com/twrpdtgen/twrpdtgen
cd twrpdtgen
sudo apt install cpio
pip3 install twrpdtgen
drag and drop the stock recovery.img to twrpdtgen folder
python3 -m twrpdtgen <path to image>
you will get twrp device tree at the out/manufature/code_name (eg: samsung/m01q)
then copy manufature folder into root directory (workspace/name_of_your_github_repo)
Install repo and packages
sudo apt update
sudo apt install rsync
repo init --depth=1 --no-repo-verify -u https://github.com/minimal-manifest-twrp/platform_manifest_twrp_aosp.git -b twrp-12.1 -g default,-mips,-darwin,-notdefault
repo sync -c --no-clone-bundle --no-tags --optimized-fetch --prune --force-sync -j8
Place device tree
move manufature folder (created device tree) to device (EG: workspace/name_of_your_github_repo/device/samsung)
Modify Device Tree
open device.mk and add theseAdd support to fastbootd (skip the if your device dosnt have super.img)Change the value according to shipped android os
if android 10 = 29if android 11 = 30if android 12 = 31if android 12.1 = 32if android 13 = 33
PRODUCT_PACKAGES += \
[email protected] \
fastbootd
PRODUCT_USE_DYNAMIC_PARTITIONS := true
PRODUCT_SHIPPING_API_LEVEL := 29
Add device code nameTARGET_OTA_ASSERT_DEVICE := m01q
TARGET_COPY_OUT_VENDOR := vendor
TWRP FLAGSTARGET_RECOVERY_PIXEL_FORMAT := "RGBX_8888"
# TWRP specific build flags
TW_THEME := portrait_hdpi
RECOVERY_SDCARD_ON_DATA := true
TW_EXCLUDE_DEFAULT_USB_INIT := true
TW_EXTRA_LANGUAGES := true
TW_INCLUDE_NTFS_3G := true
TW_USE_TOOLBOX := true
TW_INCLUDE_RESETPROP := true
TW_INPUT_BLACKLIST := "hbtp_vm"
TW_BRIGHTNESS_PATH := "/sys/class/backlight/panel0-backlight/brightness"
TW_DEFAULT_BRIGHTNESS := 1200
TARGET_USES_MKE2FS := true
TW_NO_LEGACY_PROPS := true
TW_USE_NEW_MINADBD := true
TW_NO_BIND_SYSTEM := true
TW_NO_SCREEN_BLANK := true
TW_EXCLUDE_APEX := true
TW_FRAMERATE := 60
TWRP NameTW_DEVICE_VERSION := smileyEnable notch
TW_Y_OFFSET := 70
TW_H_OFFSET := -70
Reboot to odin for samsungTW_HAS_DOWNLOAD_MODE := trueEnable LogcatTWRP_INCLUDE_LOGCAT := true[/HEADING]
[HEADING=2]TARGET_USES_LOGD := trueAdd fingerprint#Properties
TW_OVERRIDE_SYSTEM_PROPS := \
"ro.build.fingerprint=ro.system.build.fingerprint;ro.build.version.incremental"
Modify fstab
Open recovery.fstab
add this to end of line to enable partition backup and flash
;backup=1;flashimg
add those to enable sdcard and otg
# Removable storage
/external_sd vfat /dev/block/mmcblk1p1 /dev/block/mmcblk1 flags=storage;wipeingui;removable
/usb-otg auto /dev/block/sda1 /dev/block/sda flags=display="USB-OTG";storage;wipeingui;removable
Open BoradConfig,mk and modify values according to your device (skip if you dont have super.img)
# Dynamic Partition
BOARD_SUPER_PARTITION_SIZE := 3945791488
BOARD_SUPER_PARTITION_GROUPS := android_dynamic_partitions
BOARD_ANDROID_DYNAMIC_PARTITIONS_SIZE := 3945791488
BOARD_ANDROID_DYNAMIC_PARTITIONS_PARTITION_LIST := system vendor product odm
Open Omni_device_code.mk
$(call inherit-product, vendor/omni/config/common.mk)
rename omni to twrp
$(call inherit-product, vendor/twrp/config/common.mk)
Build TWRP
. build/envstup.sh
lunch (select your device-eng)
make recoveryimage
smiley9000 said:
How to Build Basic TWRP for a Android Device Android 9+Note
Prepare Environmet
Create a github account
Create a new empty repo
Then log into gitpod using github account
Open new workspace in gitpod,
Select your new repo and selcect class as large
Make a device tree using twrpdtgen
git clone https://github.com/twrpdtgen/twrpdtgen
cd twrpdtgen
sudo apt install cpio
pip3 install twrpdtgen
drag and drop the stock recovery.img to twrpdtgen folder
python3 -m twrpdtgen <path to image>
you will get twrp device tree at the out/manufature/code_name (eg: samsung/m01q)
then copy manufature folder into root directory (workspace/name_of_your_github_repo)
Install repo and packages
sudo apt update
sudo apt install rsync
repo init --depth=1 --no-repo-verify -u https://github.com/minimal-manifest-twrp/platform_manifest_twrp_aosp.git -b twrp-12.1 -g default,-mips,-darwin,-notdefault
repo sync -c --no-clone-bundle --no-tags --optimized-fetch --prune --force-sync -j8
Place device tree
move manufature folder (created device tree) to device (EG: workspace/name_of_your_github_repo/device/samsung)
Modify Device Tree
open device.mk and add theseAdd support to fastbootd (skip the if your device dosnt have super.img)Change the value according to shipped android os
if android 10 = 29if android 11 = 30if android 12 = 31if android 12.1 = 32if android 13 = 33
PRODUCT_PACKAGES += \
[email protected] \
fastbootd
PRODUCT_USE_DYNAMIC_PARTITIONS := true
PRODUCT_SHIPPING_API_LEVEL := 29
Add device code nameTARGET_OTA_ASSERT_DEVICE := m01q
TARGET_COPY_OUT_VENDOR := vendor
TWRP FLAGSTARGET_RECOVERY_PIXEL_FORMAT := "RGBX_8888"
# TWRP specific build flags
TW_THEME := portrait_hdpi
RECOVERY_SDCARD_ON_DATA := true
TW_EXCLUDE_DEFAULT_USB_INIT := true
TW_EXTRA_LANGUAGES := true
TW_INCLUDE_NTFS_3G := true
TW_USE_TOOLBOX := true
TW_INCLUDE_RESETPROP := true
TW_INPUT_BLACKLIST := "hbtp_vm"
TW_BRIGHTNESS_PATH := "/sys/class/backlight/panel0-backlight/brightness"
TW_DEFAULT_BRIGHTNESS := 1200
TARGET_USES_MKE2FS := true
TW_NO_LEGACY_PROPS := true
TW_USE_NEW_MINADBD := true
TW_NO_BIND_SYSTEM := true
TW_NO_SCREEN_BLANK := true
TW_EXCLUDE_APEX := true
TW_FRAMERATE := 60
TWRP NameTW_DEVICE_VERSION := smileyEnable notch
TW_Y_OFFSET := 70
TW_H_OFFSET := -70
Reboot to odin for samsungTW_HAS_DOWNLOAD_MODE := trueEnable LogcatTWRP_INCLUDE_LOGCAT := true[/HEADING][/HEADING]
[HEADING=2][HEADING=2]TARGET_USES_LOGD := trueAdd fingerprint#Properties
TW_OVERRIDE_SYSTEM_PROPS := \
"ro.build.fingerprint=ro.system.build.fingerprint;ro.build.version.incremental"
Modify fstab
Open recovery.fstab
add this to end of line to enable partition backup and flash
;backup=1;flashimg
add those to enable sdcard and otg
# Removable storage
/external_sd vfat /dev/block/mmcblk1p1 /dev/block/mmcblk1 flags=storage;wipeingui;removable
/usb-otg auto /dev/block/sda1 /dev/block/sda flags=display="USB-OTG";storage;wipeingui;removable
Open BoradConfig,mk and modify values according to your device (skip if you dont have super.img)
# Dynamic Partition
BOARD_SUPER_PARTITION_SIZE := 3945791488
BOARD_SUPER_PARTITION_GROUPS := android_dynamic_partitions
BOARD_ANDROID_DYNAMIC_PARTITIONS_SIZE := 3945791488
BOARD_ANDROID_DYNAMIC_PARTITIONS_PARTITION_LIST := system vendor product odm
Open Omni_device_code.mk
$(call inherit-product, vendor/omni/config/common.mk)
rename omni to twrp
$(call inherit-product, vendor/twrp/config/common.mk)
Build TWRP
. build/envstup.sh
lunch (select your device-eng)
make recoveryimage
Click to expand...
Click to collapse
After creating a device tree, how does one find the required files that should go into the recovery/root folder to build TWRP
whale0z said:
After creating a device tree, how does one find the required files that should go into the recovery/root folder to build TWRP
Click to expand...
Click to collapse
try to find twrp device tree of similler soc and compare to make most succesfull device tree. but decryption is heavily depend on oem
smiley9000 said:
try to find twrp device tree of similler soc and compare to make most succesfull device tree. but decryption is heavily depend on oem
Click to expand...
Click to collapse
I was able to build for a mediatek device but fastboot boot doesn't seem to work. I was wondering if using fastboot flash would not mess with the normal boot sequence.
whale0z said:
I was able to build for a mediatek device but fastboot boot doesn't seem to work. I was wondering if using fastboot flash would not mess with the normal boot sequence.
Click to expand...
Click to collapse
Some device dosent support fastboot boot for security reasons
smiley9000 said:
How to Build Basic TWRP for a Android Device Android 9+Note
Prepare Environmet
Create a github account
Create a new empty repo
Then log into gitpod using github account
Open new workspace in gitpod,
Select your new repo and selcect class as large
Make a device tree using twrpdtgen
git clone https://github.com/twrpdtgen/twrpdtgen
cd twrpdtgen
sudo apt install cpio
pip3 install twrpdtgen
drag and drop the stock recovery.img to twrpdtgen folder
python3 -m twrpdtgen <path to image>
you will get twrp device tree at the out/manufature/code_name (eg: samsung/m01q)
then copy manufature folder into root directory (workspace/name_of_your_github_repo)
Install repo and packages
sudo apt update
sudo apt install rsync
repo init --depth=1 --no-repo-verify -u https://github.com/minimal-manifest-twrp/platform_manifest_twrp_aosp.git -b twrp-12.1 -g default,-mips,-darwin,-notdefault
repo sync -c --no-clone-bundle --no-tags --optimized-fetch --prune --force-sync -j8
Place device tree
move manufature folder (created device tree) to device (EG: workspace/name_of_your_github_repo/device/samsung)
Modify Device Tree
open device.mk and add theseAdd support to fastbootd (skip the if your device dosnt have super.img)Change the value according to shipped android os
if android 10 = 29if android 11 = 30if android 12 = 31if android 12.1 = 32if android 13 = 33
PRODUCT_PACKAGES += \
[email protected] \
fastbootd
PRODUCT_USE_DYNAMIC_PARTITIONS := true
PRODUCT_SHIPPING_API_LEVEL := 29
Add device code nameTARGET_OTA_ASSERT_DEVICE := m01q
TARGET_COPY_OUT_VENDOR := vendor
TWRP FLAGSTARGET_RECOVERY_PIXEL_FORMAT := "RGBX_8888"
# TWRP specific build flags
TW_THEME := portrait_hdpi
RECOVERY_SDCARD_ON_DATA := true
TW_EXCLUDE_DEFAULT_USB_INIT := true
TW_EXTRA_LANGUAGES := true
TW_INCLUDE_NTFS_3G := true
TW_USE_TOOLBOX := true
TW_INCLUDE_RESETPROP := true
TW_INPUT_BLACKLIST := "hbtp_vm"
TW_BRIGHTNESS_PATH := "/sys/class/backlight/panel0-backlight/brightness"
TW_DEFAULT_BRIGHTNESS := 1200
TARGET_USES_MKE2FS := true
TW_NO_LEGACY_PROPS := true
TW_USE_NEW_MINADBD := true
TW_NO_BIND_SYSTEM := true
TW_NO_SCREEN_BLANK := true
TW_EXCLUDE_APEX := true
TW_FRAMERATE := 60
TWRP NameTW_DEVICE_VERSION := smileyEnable notch
TW_Y_OFFSET := 70
TW_H_OFFSET := -70
Reboot to odin for samsungTW_HAS_DOWNLOAD_MODE := trueEnable LogcatTWRP_INCLUDE_LOGCAT := true[/HEADING][/HEADING][/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2][HEADING=2][HEADING=2]TARGET_USES_LOGD := trueAdd fingerprint#Properties
TW_OVERRIDE_SYSTEM_PROPS := \
"ro.build.fingerprint=ro.system.build.fingerprint;ro.build.version.incremental"
Modify fstab
Open recovery.fstab
add this to end of line to enable partition backup and flash
;backup=1;flashimg
add those to enable sdcard and otg
# Removable storage
/external_sd vfat /dev/block/mmcblk1p1 /dev/block/mmcblk1 flags=storage;wipeingui;removable
/usb-otg auto /dev/block/sda1 /dev/block/sda flags=display="USB-OTG";storage;wipeingui;removable
Open BoradConfig,mk and modify values according to your device (skip if you dont have super.img)
# Dynamic Partition
BOARD_SUPER_PARTITION_SIZE := 3945791488
BOARD_SUPER_PARTITION_GROUPS := android_dynamic_partitions
BOARD_ANDROID_DYNAMIC_PARTITIONS_SIZE := 3945791488
BOARD_ANDROID_DYNAMIC_PARTITIONS_PARTITION_LIST := system vendor product odm
Open Omni_device_code.mk
$(call inherit-product, vendor/omni/config/common.mk)
rename omni to twrp
$(call inherit-product, vendor/twrp/config/common.mk)
Build TWRP
. build/envstup.sh
lunch (select your device-eng)
make recoveryimage
Click to expand...
Click to collapse
hiya
after enter this command :
" repo sync -c --no-clone-bundle --no-tags --optimized-fetch --prune --force-sync -j8 "i got this error:
Usage: repo sync [<project>...]
main.py: error: option -j: invalid integer value: '8\u200b'
i think its about java , but java works fine.
================================================================================
gitpod /workspace/Nokia-5.3-twrp-device-tree (main) $ lunch
You're building on Linux
Lunch menu... pick a combo:
1. aosp_arm-eng
2. aosp_arm64-eng
3. aosp_x86-eng
4. aosp_x86_64-eng
5. omni_CAP_sprout-eng
6. omni_CAP_sprout-user
7. omni_CAP_sprout-userdebug
Which would you like? [aosp_arm-eng] 5
In file included from build/make/core/config.mk:313:
In file included from build/make/core/envsetup.mk:312:
In file included from build/make/target/product/telephony_vendor.mk:24:
device/hmd/CAP_sprout/device.mk:24: error: PRODUCT_STATIC_BOOT_CONTROL_HAL is obsolete. Use shared library module instead. See https://android.googlesource.com/platform/build/+/master/Changes.md#PRODUCT_STATIC_BOOT_CONTROL_HAL.
16:01:34 dumpvars failed with: exit status 1
Device CAP_sprout not found. Attempting to retrieve device repository from TeamWin Github (http://github.com/TeamWin).
Repository for CAP_sprout not found in the TeamWin Github repository list.
If this is in error, you may need to manually add it to your .repo/local_manifests/roomservice.xml
In file included from build/make/core/config.mk:313:
In file included from build/make/core/envsetup.mk:312:
In file included from build/make/target/product/telephony_vendor.mk:24:
device/hmd/CAP_sprout/device.mk:24: error: PRODUCT_STATIC_BOOT_CONTROL_HAL is obsolete. Use shared library module instead. See https://android.googlesource.com/platform/build/+/master/Changes.md#PRODUCT_STATIC_BOOT_CONTROL_HAL.
16:01:35 dumpvars failed with: exit status 1
In file included from build/make/core/config.mk:313:
In file included from build/make/core/envsetup.mk:312:
In file included from build/make/target/product/telephony_vendor.mk:24:
device/hmd/CAP_sprout/device.mk:24: error: PRODUCT_STATIC_BOOT_CONTROL_HAL is obsolete. Use shared library module instead. See https://android.googlesource.com/platform/build/+/master/Changes.md#PRODUCT_STATIC_BOOT_CONTROL_HAL.
16:01:35 dumpvars failed with: exit status 1
** Don't have a product spec for: 'omni_CAP_sprout'
** Do you have the right repo manifest?
========================================================================
new error:
device/hmd/CAP_sprout/Android.mk:13: error: cannot assign to readonly variable: PRODUCT_PACKAGES
16:15:14 ckati failed with: exit status 1
how can i fix it??
PRODUCT_PACKAGES += \
[email protected] \
fastbootd
MEYSAMKIA said:
hiya
after enter this command :
" repo sync -c --no-clone-bundle --no-tags --optimized-fetch --prune --force-sync -j8 "i got this error:
Usage: repo sync [<project>...]
main.py: error: option -j: invalid integer value: '8\u200b'
i think its about java , but java works fine.
================================================================================
gitpod /workspace/Nokia-5.3-twrp-device-tree (main) $ lunch
You're building on Linux
Lunch menu... pick a combo:
1. aosp_arm-eng
2. aosp_arm64-eng
3. aosp_x86-eng
4. aosp_x86_64-eng
5. omni_CAP_sprout-eng
6. omni_CAP_sprout-user
7. omni_CAP_sprout-userdebug
Which would you like? [aosp_arm-eng] 5
In file included from build/make/core/config.mk:313:
In file included from build/make/core/envsetup.mk:312:
In file included from build/make/target/product/telephony_vendor.mk:24:
device/hmd/CAP_sprout/device.mk:24: error: PRODUCT_STATIC_BOOT_CONTROL_HAL is obsolete. Use shared library module instead. See https://android.googlesource.com/platform/build/+/master/Changes.md#PRODUCT_STATIC_BOOT_CONTROL_HAL.
16:01:34 dumpvars failed with: exit status 1
Device CAP_sprout not found. Attempting to retrieve device repository from TeamWin Github (http://github.com/TeamWin).
Repository for CAP_sprout not found in the TeamWin Github repository list.
If this is in error, you may need to manually add it to your .repo/local_manifests/roomservice.xml
In file included from build/make/core/config.mk:313:
In file included from build/make/core/envsetup.mk:312:
In file included from build/make/target/product/telephony_vendor.mk:24:
device/hmd/CAP_sprout/device.mk:24: error: PRODUCT_STATIC_BOOT_CONTROL_HAL is obsolete. Use shared library module instead. See https://android.googlesource.com/platform/build/+/master/Changes.md#PRODUCT_STATIC_BOOT_CONTROL_HAL.
16:01:35 dumpvars failed with: exit status 1
In file included from build/make/core/config.mk:313:
In file included from build/make/core/envsetup.mk:312:
In file included from build/make/target/product/telephony_vendor.mk:24:
device/hmd/CAP_sprout/device.mk:24: error: PRODUCT_STATIC_BOOT_CONTROL_HAL is obsolete. Use shared library module instead. See https://android.googlesource.com/platform/build/+/master/Changes.md#PRODUCT_STATIC_BOOT_CONTROL_HAL.
16:01:35 dumpvars failed with: exit status 1
** Don't have a product spec for: 'omni_CAP_sprout'
** Do you have the right repo manifest?
========================================================================
new error:
device/hmd/CAP_sprout/Android.mk:13: error: cannot assign to readonly variable: PRODUCT_PACKAGES
16:15:14 ckati failed with: exit status 1
how can i fix it??
PRODUCT_PACKAGES += \
[email protected] \
fastbootd
Click to expand...
Click to collapse
Contact in telegram
@samsung_galaxy_m01_a01_m11_a11