Android Enthusiasts
Q&A for enthusiasts and power users of the Android operating system
Latest Questions
1
votes
1
answers
2066
views
Block booting into safe mode
I am using a porn blocker to protect my kids. But I got to know that there is a workaround to that by rebooting into safe mode. I also tested it and I was able to access everything. Now my paid subscription to blocker seems useless. I am also worried about the kids. So is there any way I can block s...
I am using a porn blocker to protect my kids. But I got to know that there is a workaround to that by rebooting into safe mode. I also tested it and I was able to access everything.
Now my paid subscription to blocker seems useless. I am also worried about the kids.
So is there any way I can block safe mode in my device?
Like editing
build.prop
file or making any other change and safe mode blocker.
Sudhir Sharma
(151 rep)
Jun 25, 2021, 04:54 AM
• Last activity: Jul 22, 2025, 12:00 PM
1
votes
0
answers
51
views
Error during kernel build Google Pixel 5
I am building a kernel for a google pixel 5 (first time, guides here have been a huge help!). **Getting to the issue:** I'm trying out the following steps as they seem to be tailored to what I'm doing and using menuconfig cause lots of issues. https://groups.google.com/g/android-building/c/6HPwJloQ...
I am building a kernel for a google pixel 5 (first time, guides here have been a huge help!).
**Getting to the issue:**
I'm trying out the following steps as they seem to be tailored to what I'm doing and using menuconfig cause lots of issues.
https://groups.google.com/g/android-building/c/6HPwJloQkP8/m/oopcu67nAQAJ (response by Droid SMU with the step by step).
Now, after running ./build_redbull.sh from the top directory, the following issue appears:
INSTALL techpack/video/msm/msm-vidc.ko
DEPMOD 4.19.135
========================================================
Building external modules and installing them into staging directory
+ make -C private/msm-google-modules/wlan/qcacld-3.0 M=../msm-google-modules/wlan/qcacld-3.0 KERNEL_SRC=/local/home/bd/android/kernel/private/msm-google O=/local/home/bd/android/kernel/out/android-msm-pixel-4.19/private/msm-google CC=clang HOSTCC=clang LD=ld.lld HOSTLD=ld.lld HOSTLDFLAGS=-fuse-ld=lld NM=llvm-nm OBJCOPY=llvm-objcopy DEPMOD=depmod
make: Entering directory '/local/home/bd/android/kernel/private/msm-google-modules/wlan/qcacld-3.0'
make -C /local/home/bd/android/kernel/private/msm-google M=../msm-google-modules/wlan/qcacld-3.0 modules WLAN_ROOT=/local/home/bd/android/kernel/private/msm-google-modules/wlan/qcacld-3.0 MODNAME?=wlan CONFIG_QCA_WIFI_ISOC=0 CONFIG_QCA_WIFI_2_0=1 CONFIG_QCA_CLD_WLAN=m
make: Entering directory '/local/home/bd/android/kernel/private/msm-google'
make: Entering directory '/local/home/bd/android/kernel/out/android-msm-pixel-4.19/private/msm-google'
/local/home/bd/android/kernel/private/msm-google/../msm-google-modules/wlan/qcacld-3.0/Kbuild:48: ../../../../../aosp_groups_version//local/home/bd/android/kernel/private/msm-google-modules/wlan/qcacld-3.0/configs/default_defconfig: No such file or directory
make: *** No rule to make target '../../../../../aosp_groups_version//local/home/bd/android/kernel/private/msm-google-modules/wlan/qcacld-3.0/configs/default_defconfig'. Stop.
make: *** [/local/home/bd/android/kernel/private/msm-google/Makefile:1661: _module_../msm-google-modules/wlan/qcacld-3.0] Error 2
make: Leaving directory '/local/home/bd/android/kernel/out/android-msm-pixel-4.19/private/msm-google'
make: *** [Makefile:146: sub-make] Error 2
make: Leaving directory '/local/home/bd/android/kernel/private/msm-google'
make: *** [Makefile:26: all] Error 2
make: Leaving directory '/local/home/bd/android/kernel/private/msm-google-modules/wlan/qcacld-3.0'
Click to collapse
I checked the Kbuild line 48 mentioned (make line) and it looks like this:
48 include $(WLAN_ROOT)/configs/$(CONFIG_QCA_CLD_WLAN_PROFILE)_defconfig
The arguments are:
WLAN_ROOT := drivers/staging/qcacld-3.0
CONFIG_QCA_CLD_WLAN_PROFILE ?= $(WLAN_PROFILE)
What is worrying me is also the double // in the path aosp_groups_version//local (the make line).
**The question:**
I tried looking around in the forum but found nothing similar, has someone maybe encountered this? Or how would I go around trying to fix/debug a problem like this?
dsisko
(11 rep)
Jan 16, 2025, 08:27 AM
• Last activity: Jan 16, 2025, 08:28 AM
0
votes
1
answers
229
views
LineageOS 21.0 Build for SONY z3c
There are no new builds for SONY z3c since LineageOS 21, so I tried [this manual](https://wiki.lineageos.org/devices/z3c/build/) meant for <18.1 in order to build a new version for z3c. The breakfast-command leads to: ``` build/make/core/product_config.mk:226: error: Cannot locate config makefile fo...
There are no new builds for SONY z3c since LineageOS 21, so I tried [this manual](https://wiki.lineageos.org/devices/z3c/build/) meant for <18.1 in order to build a new version for z3c.
The breakfast-command leads to:
build/make/core/product_config.mk:226: error: Cannot locate config makefile for product "lineage_z3c".
18:58:49 dumpvars failed with: exit status 1
** Don't have a product spec for: 'lineage_z3c'
** Do you have the right repo manifest?
Is there any hope to build a proper new lineageos for z3c?
peng
(113 rep)
Jun 13, 2024, 05:26 PM
• Last activity: Jun 15, 2024, 04:14 PM
0
votes
0
answers
1508
views
Building Android 13 (ARM64) for the Linux Aarch64 Android emulator
I'm trying to build Android 13 (ARM64) for the Android emulator (linux/aarch64). I managed to correctly start Android 12 (ARM64) images with the following setup, but I fail to do the same for Android 13. 1. I build the source code with lunch target `lunch sdk_phone_arm64-userdebug` and the following...
I'm trying to build Android 13 (ARM64) for the Android emulator (linux/aarch64). I managed to correctly start Android 12 (ARM64) images with the following setup, but I fail to do the same for Android 13.
1. I build the source code with lunch target
lunch sdk_phone_arm64-userdebug
and the following build command on a x86_64 server: "source ./build/envsetup.sh && lunch sdk_phone_arm64-userdebug && m && m emu_img_zip"
2. I then copy/unzip the emulator image artefacts to my linux arm64 machine using the zip file in the build out directory under: "out/dist/sdk_phone_arm64-img-eng.ubuntu.zip"
3. I use the lastest emulator binary for linux aarch64 from: https://ci.android.com/builds/branches/aosp-emu-master-dev/grid?legacy=1
4. I then try to start the emulator with the following command:
`
/android/sdk/emulator/emulator -avd Arm64 -no-window -no-snapshot -ports "5556,5557" -grpc "8556" -skip-adb-auth -no-snapshot-save -logcat "*:V" -show-kernel -logcat-output "/tmp/android-unknown/logcat.log" -shell-serial "file:/tmp/android-unknown/kernel.log" -no-boot-anim -wipe-data -gpu swiftshader_indirect -qemu -append "panic=1" -cpu max -machine gic-version=max &
`
For Android 12 this setup and commands work well and the emulator starts correctly. However, for Android 13 the emulator gets stuck when trying to load the images. The kernel is stuck in an endless reboot and shows the following error:
kernel: [ 1.346161][ T1] uart-pl011 9000000.pl011: no DMA platform data
kernel: [ 1.349940][ T1] VFS: Cannot open root device "(null)" or unknown-block(0,0): error -6
kernel: [ 1.350060][ T1] Please append a correct "root=" boot option; here are the available partitions:
kernel: [ 1.350306][ T1] 0100 8192 ram0
kernel: [ 1.350383][ T1] (driver?)
kernel: [ 1.351598][ T1] 0101 8192 ram1
kernel: [ 1.351617][ T1] (driver?)
kernel: [ 1.351711][ T1] 0102 8192 ram2
kernel: [ 1.351723][ T1] (driver?)
kernel: [ 1.351808][ T1] 0103 8192 ram3
kernel: [ 1.351820][ T1] (driver?)
kernel: [ 1.351906][ T1] 0104 8192 ram4
kernel: [ 1.351917][ T1] (driver?)
kernel: [ 1.352000][ T1] 0105 8192 ram5
kernel: [ 1.352011][ T1] (driver?)
kernel: [ 1.352094][ T1] 0106 8192 ram6
kernel: [ 1.352106][ T1] (driver?)
kernel: [ 1.352185][ T1] 0107 8192 ram7
kernel: [ 1.352196][ T1] (driver?)
kernel: [ 1.352274][ T1] 0108 8192 ram8
kernel: [ 1.352285][ T1] (driver?)
kernel: [ 1.352365][ T1] 0109 8192 ram9
kernel: [ 1.352376][ T1] (driver?)
kernel: [ 1.352469][ T1] 010a 8192 ram10
kernel: [ 1.352480][ T1] (driver?)
kernel: [ 1.352571][ T1] 010b 8192 ram11
kernel: [ 1.352582][ T1] (driver?)
kernel: [ 1.352744][ T1] 010c 8192 ram12
kernel: [ 1.352760][ T1] (driver?)
kernel: [ 1.352847][ T1] 010d 8192 ram13
kernel: [ 1.352860][ T1] (driver?)
kernel: [ 1.352962][ T1] 010e 8192 ram14
kernel: [ 1.352974][ T1] (driver?)
kernel: [ 1.353063][ T1] 010f 8192 ram15
kernel: [ 1.353075][ T1] (driver?)
kernel: [ 1.353296][ T1] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
kernel: [ 1.353515][ T1] CPU: 2 PID: 1 Comm: swapper/0 Not tainted 5.15.41-android13-8-00030-gc66cde32ee51-ab8840540 #1
kernel: [ 1.353688][ T1] Hardware name: linux,ranchu (DT)
kernel: [ 1.353866][ T1] Call trace:
kernel: [ 1.353921][ T1] dump_backtrace.cfi_jt+0x0/0x8
kernel: [ 1.354014][ T1] dump_stack_lvl+0x80/0xb8
kernel: [ 1.354083][ T1] panic+0x180/0x444
kernel: [ 1.354140][ T1] mount_block_root+0x1ac/0x270
kernel: [ 1.354206][ T1] mount_root+0x68/0x90
kernel: [ 1.354257][ T1] prepare_namespace+0x164/0x1e8
kernel: [ 1.354321][ T1] kernel_init_freeable+0x120/0x19c
kernel: [ 1.354390][ T1] kernel_init+0x40/0x36c
kernel: [ 1.354528][ T1] ret_from_fork+0x10/0x20
kernel: [ 1.354844][ T1] SMP: stopping secondary CPUs
kernel: [ 1.355408][ T1] Kernel Offset: disabled
kernel: [ 1.355480][ T1] CPU features: 0x2,200011e3,20000846
kernel: [ 1.355630][ T1] Memory Limit: none
kernel: [ 1.368911][ T1] Rebooting in 1 seconds..
It seem that for some reason the root fs can't be correctly mounted. However, with Android 12 images this works fine. So how do I need to adjust the build and starting process for Android 13 images?
**Update**:
If I used the additional sdk
module the kernel detects the partitions but avb fails: "source ./build/envsetup.sh && lunch sdk_phone_arm64-userdebug && m && m emu_img_zip"
kernel: [ 2.326708] EXT4-fs (vdd1): recovery complete
kernel: [ 2.328027] EXT4-fs (vdd1): mounted filesystem with ordered data mode. Opts: errors=remount-ro,nomblk_io_submit. Quota mode: none.
kernel: [ 2.331535] init: [libfs_mgr]check_fs(): mount(/dev/block/pci/pci0000:00/0000:00:06.0/by-name/metadata,/metadata,ext4)=0: Success
kernel: [ 2.340460] init: [libfs_mgr]umount_retry(): unmount(/metadata) succeeded
kernel: [ 2.342534] init: [libfs_mgr]Not running /system/bin/e2fsck on /dev/block/vdd1 (executable not in system image)
kernel: [ 2.346563] EXT4-fs (vdd1): mounted filesystem with ordered data mode. Opts: . Quota mode: none.
kernel: [ 2.349029] init: [libfs_mgr]__mount(source=/dev/block/pci/pci0000:00/0000:00:06.0/by-name/metadata,target=/metadata,type=ext4)=0: Success
kernel: [ 2.352748] init: Failed to copy /avb into /metadata/gsi/dsu/avb/: No such file or directory
kernel: [ 2.356374] init: [libfs_mgr]Created logical partition system on device /dev/block/dm-0
kernel: [ 2.359123] init: [libfs_mgr]Created logical partition system_dlkm on device /dev/block/dm-1
kernel: [ 2.362074] init: [libfs_mgr]Created logical partition system_ext on device /dev/block/dm-2
kernel: [ 2.364862] init: [libfs_mgr]Created logical partition product on device /dev/block/dm-3
kernel: [ 2.367299] init: [libfs_mgr]Created logical partition vendor on device /dev/block/dm-4
kernel: [ 2.369287] init: DSU not detected, proceeding with normal boot
kernel: [ 3.376310] init: [libfs_avb]Device path not found: /dev/block/by-name/system
kernel: [ 3.378664] init: [libfs_avb]Fallback to use logical device path: /dev/block/dm-0
kernel: [ 4.384217] init: [libfs_avb]Device path not found: /dev/block/by-name/system
kernel: [ 4.385757] init: [libfs_avb]Fallback to use logical device path: /dev/block/dm-0
kernel: [ 4.388395] init: [libfs_avb]total vbmeta size mismatch: 6720 (expected: 6208)
kernel: [ 4.396205] init: [libfs_avb]Failed to verify vbmeta digest
kernel: [ 4.397695] init: [libfs_avb]vbmeta digest error isn't allowed
kernel: [ 4.399311] init: Failed to open AvbHandle: No such file or directory
kernel: [ 4.400961] init: Failed to setup verity for '/system': No such file or directory
kernel: [ 4.402834] init: Failed to mount /system: No such file or directory
kernel: [ 4.404555] init: Failed to mount required partitions early ...
kernel: [ 4.415023] init: InitFatalReboot: signal 6
kernel: [ 4.425984] init: #00 pc 000000000031f8c8 /init (UnwindStackCurrent::UnwindFromContext(unsigned long, void*)+88)
kernel: [ 4.427662] init: #01 pc 0000000000311b7e /init (android::init::InitFatalReboot(int)+94)
kernel: [ 4.429092] init: #02 pc 0000000000312033 /init (android::init::InstallRebootSignalHandlers()::$_24::__invoke(int)+19)
kernel: [ 4.431357] init: #03 pc 00000000004d99d0 /init (__restore_rt)
kernel: [ 4.432597] init: #04 pc 00000000004ce77e /init (abort+190)
kernel: [ 4.433782] init: #05 pc 0000000000317ceb /init (android::init::InitAborter(char const*)+27)
kernel: [ 4.435544] init: #06 pc 000000000048aecc /init (android::base::SetAborter(std::__1::function&&)::$_3::__invoke(char const*)+60)
kernel: [ 4.438285] init: #07 pc 000000000048a69e /init (android::base::LogMessage::~LogMessage()+350)
kernel: [ 4.440081] init: #08 pc 0000000000307012 /init (android::init::FirstStageMain(int, char**)+10354)
kernel: [ 4.441980] init: #09 pc 00000000004c5cce /init (__real_libc_init(void*, void (*)(), int (*)(int, char**, char**), structors_array_t const*, bionic_tcb*)+718)
Me7e0r
(21 rep)
Apr 29, 2024, 07:29 AM
• Last activity: May 1, 2024, 07:21 AM
3
votes
0
answers
184
views
Why is the latest Android Build ID starting with the letter A?
In the following list of _"Source code tags and builds"_ the first entry has the build id `AP1A.240305.019.A1`. https://source.android.com/docs/setup/reference/build-numbers#source-code-tags-and-builds I find this strange, as based on the _"Build ID definitions"_, the first letter is supposed to be...
In the following list of _"Source code tags and builds"_ the first entry has the build id
AP1A.240305.019.A1
.
https://source.android.com/docs/setup/reference/build-numbers#source-code-tags-and-builds
I find this strange, as based on the _"Build ID definitions"_, the first letter is supposed to be the _"letter of the codename of the platform release"_, which seemed to follow an ascending alphabetical order so far.
https://source.android.com/docs/setup/reference/build-numbers#build-ids-defined
Out of pure curiosity, does anyone have any idea as to what caused the sudden jump to A
?
Isti115
(151 rep)
Mar 11, 2024, 09:02 PM
• Last activity: Mar 15, 2024, 10:33 PM
1
votes
0
answers
119
views
Which phones today uses Android Common Kernel?
[Android Common Kernel][1] is an effor by google to unificate the kernels of the phones. What are examples of phones today that uses Android Common Kernels, except Pixel? [1]: https://source.android.com/devices/architecture/kernel/android-common
Android Common Kernel is an effor by google to unificate the kernels of the phones.
What are examples of phones today that uses Android Common Kernels, except Pixel?
Rafaelo
(71 rep)
Jun 8, 2022, 01:17 PM
3
votes
1
answers
1323
views
How do I get a stable LineageOS build?
It seems like all LineageOS builds are marked as nightly, which makes it impossible to pick out more stable builds from the not-so-stable ones. How do I find a stable build? Is there a plan to mark some builds as stable, or make snapshots as CyanogenMod used to? Should I hold off before moving to Li...
It seems like all LineageOS builds are marked as nightly, which makes it impossible to pick out more stable builds from the not-so-stable ones.
How do I find a stable build? Is there a plan to mark some builds as stable, or make snapshots as CyanogenMod used to? Should I hold off before moving to LineageOS until those appear?
Tin Man
(308 rep)
Apr 8, 2017, 08:37 AM
• Last activity: May 9, 2022, 05:49 AM
2
votes
3
answers
7730
views
Are nightly CyanogenMod releases safe?
I am using a 2013 Moto X Developer Edition (XT1053) and am currently running stock Android, (with the exception of Motorola's software) and I am thinking of switching to CyanogenMod. However, after looking at the [CyanogenMod download releases for the "ghost" model](http://download.cyanogenmod.org/?...
I am using a 2013 Moto X Developer Edition (XT1053) and am currently running stock Android, (with the exception of Motorola's software) and I am thinking of switching to CyanogenMod. However, after looking at the [CyanogenMod download releases for the "ghost" model](http://download.cyanogenmod.org/?device=ghost&type=) , I notice there are pretty much only nightlies.
I have never used a nightly release before, and I do have a nandroid backup if anything goes wrong, but are the nightlies stable enough to use daily?
jerrett7
(172 rep)
Dec 16, 2014, 11:07 PM
• Last activity: May 9, 2022, 03:50 AM
2
votes
2
answers
4377
views
If a user debug build comes with adb root access by default, does it contain the su binary?
If an Android user debug build comes with adb root access by default, does it contain the su binary to achieve this? If not, is it any different from rooting your phone?
If an Android user debug build comes with adb root access by default, does it contain the su binary to achieve this?
If not, is it any different from rooting your phone?
Ramesh Joshi
(41 rep)
Nov 3, 2020, 04:07 PM
• Last activity: May 7, 2022, 10:49 AM
1
votes
0
answers
329
views
Building Lineage os : Device manifest and framework compatibility matrix are incompatible
I am trying to build Lineage OS for the A52 4G, I'm at the building step, and then the compiler exits because "Device manifest and framework compatibility matrix are incompatible". [Kernel](https://github.com/Simon1511/android_kernel_samsung_sm7125) [Device tree](https://github.com/Simon1511/android...
I am trying to build Lineage OS for the A52 4G, I'm at the building step, and then the compiler exits because "Device manifest and framework compatibility matrix are incompatible".
[Kernel](https://github.com/Simon1511/android_kernel_samsung_sm7125)
[Device tree](https://github.com/Simon1511/android_device_samsung_a52q)
[Second one which is required by the first one](https://github.com/Simon1511/android_device_samsung_sm7125-common)
[Vendor files](https://github.com/Simon1511/android_vendor_samsung_sm7125-common)
How can I fix this ?
The full error log:
--kernel out/target/product/a52q/obj/PACKAGING/check_vintf_all_intermediates/kernel_version.txt:out/target/product/a52q/obj/PACKAGING/check_vintf_all_intermediates/kernel_configs.txt --dirmap /system:out/target/product/a52q/system --dirmap /vendor:out/target/product/a52q/vendor --dirmap /odm:out/target/product/a52q/odm --dirmap /product:out/target/product/a52q/product --dirmap /system_ext:out/target/product/a52q/system/system_ext --property ro.product.first_api_level=30
For ODM SKU = EMPTY_ODM_SKU_PLACEHOLDER, vendor SKU = EMPTY_VENDOR_SKU_PLACEHOLDER
checkvintf I 04-02 04:47:47 119521 119521 check_vintf.cpp:241] Cannot parse "out/target/product/a52q/obj/PACKAGING/check_vintf_all_intermediates/kernel_version.txt" as kernel version, parsing as GKI kernel release.
checkvintf I 04-02 04:47:47 119521 119521 check_vintf.cpp:251] Cannot parse "out/target/product/a52q/obj/PACKAGING/check_vintf_all_intermediates/kernel_version.txt" as GKI kernel release, parsing as kernel release
checkvintf I 04-02 04:47:47 119521 119521 check_vintf.cpp:261] Cannot parse "out/target/product/a52q/obj/PACKAGING/check_vintf_all_intermediates/kernel_version.txt" as kernel release
checkvintf I 04-02 04:47:47 119521 119521 check_vintf.cpp:241] Cannot parse "4.14.190-perf" as kernel version, parsing as GKI kernel release.
checkvintf I 04-02 04:47:47 119521 119521 check_vintf.cpp:251] Cannot parse "4.14.190-perf" as GKI kernel release, parsing as kernel release
checkvintf I 04-02 04:47:47 119521 119521 check_vintf.cpp:278] Successfully parsed content of out/target/product/a52q/obj/PACKAGING/check_vintf_all_intermediates/kernel_version.txt: 4.14.190-perf
checkvintf I 04-02 04:47:47 119521 119521 VintfObject.cpp:58] getFrameworkHalManifest: Reading VINTF information.
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:43] Fetch 'out/target/product/a52q/system/etc/vintf/manifest.xml': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:54] List 'out/target/product/a52q/system/etc/vintf/manifest/': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:43] Fetch 'out/target/product/a52q/system/etc/vintf/manifest/manifest_android.frameworks.cameraservice.service@2.2.xml': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:43] Fetch 'out/target/product/a52q/system/etc/vintf/manifest/manifest_media_c2_software.xml': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:43] Fetch 'out/target/product/a52q/system/etc/vintf/manifest/android.system.keystore2-service.xml': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:43] Fetch 'out/target/product/a52q/system/etc/vintf/manifest/android.frameworks.stats@1.0-service.xml': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:43] Fetch 'out/target/product/a52q/system/etc/vintf/manifest/android.system.suspend@1.0-service.xml': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:43] Fetch 'out/target/product/a52q/system/etc/vintf/manifest/android.hidl.allocator@1.0-service.xml': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:43] Fetch 'out/target/product/a52q/product/etc/vintf/manifest.xml': NAME_NOT_FOUND
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:54] List 'out/target/product/a52q/product/etc/vintf/manifest/': NAME_NOT_FOUND
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:43] Fetch 'out/target/product/a52q/system/system_ext/etc/vintf/manifest.xml': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:54] List 'out/target/product/a52q/system/system_ext/etc/vintf/manifest/': NAME_NOT_FOUND
checkvintf I 04-02 04:47:47 119521 119521 VintfObject.cpp:58] getDeviceHalManifest: Reading VINTF information.
checkvintf I 04-02 04:47:47 119521 119521 check_vintf.cpp:79] Sysprop ro.boot.product.vendor.sku=
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:43] Fetch 'out/target/product/a52q/vendor/etc/vintf/manifest.xml': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:54] List 'out/target/product/a52q/vendor/etc/vintf/manifest/': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:43] Fetch 'out/target/product/a52q/vendor/etc/vintf/manifest/manifest_android.hardware.drm@1.3-service.widevine.xml': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:43] Fetch 'out/target/product/a52q/vendor/etc/vintf/manifest/android.hardware.nfc@1.2-service.samsung.xml': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:43] Fetch 'out/target/product/a52q/vendor/etc/vintf/manifest/android.hardware.gnss@2.1-service-qti.xml': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:43] Fetch 'out/target/product/a52q/vendor/etc/vintf/manifest/android.hardware.cas@1.2-service.xml': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:43] Fetch 'out/target/product/a52q/vendor/etc/vintf/manifest/android.hardware.wifi@1.0-service.xml': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:43] Fetch 'out/target/product/a52q/vendor/etc/vintf/manifest/vendor.qti.hardware.display.allocator-service.xml': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:43] Fetch 'out/target/product/a52q/vendor/etc/vintf/manifest/android.hardware.neuralnetworks@1.3-service-qti.xml': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:43] Fetch 'out/target/product/a52q/vendor/etc/vintf/manifest/android.hardware.graphics.composer-qti-display.xml': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:43] Fetch 'out/target/product/a52q/vendor/etc/vintf/manifest/android.hardware.usb@1.2-service.xml': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:43] Fetch 'out/target/product/a52q/vendor/etc/vintf/manifest/android.hardware.health@2.1-samsung.xml': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:43] Fetch 'out/target/product/a52q/vendor/etc/vintf/manifest/android.hardware.graphics.mapper-impl-qti-display.xml': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:43] Fetch 'out/target/product/a52q/vendor/etc/vintf/manifest/android.hardware.wifi.supplicant.xml': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:43] Fetch 'out/target/product/a52q/vendor/etc/vintf/manifest/android.hardware.neuralnetworks@1.3-service-qti-hta.xml': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:43] Fetch 'out/target/product/a52q/vendor/etc/vintf/manifest/vendor.lineage.trust@1.0-service.xml': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:43] Fetch 'out/target/product/a52q/vendor/etc/vintf/manifest/android.hardware.vibrator-service.sm7125.xml': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:43] Fetch 'out/target/product/a52q/vendor/etc/vintf/manifest/android.hardware.wifi.hostapd.xml': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:43] Fetch 'out/target/product/a52q/vendor/etc/vintf/manifest/vendor.samsung.hardware.biometrics.fingerprint@3.0-service.sm7125.xml': OK
checkvintf I 04-02 04:47:47 119521 119521 check_vintf.cpp:79] Sysprop ro.boot.product.hardware.sku=
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:43] Fetch 'out/target/product/a52q/odm/etc/vintf/manifest.xml': NAME_NOT_FOUND
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:43] Fetch 'out/target/product/a52q/odm/etc/manifest.xml': NAME_NOT_FOUND
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:54] List 'out/target/product/a52q/odm/etc/vintf/manifest/': NAME_NOT_FOUND
checkvintf I 04-02 04:47:47 119521 119521 VintfObject.cpp:64] getDeviceHalManifest: Successfully processed VINTF information
checkvintf I 04-02 04:47:47 119521 119521 VintfObject.cpp:64] getFrameworkHalManifest: Successfully processed VINTF information
checkvintf I 04-02 04:47:47 119521 119521 VintfObject.cpp:58] getFrameworkCompatibilityMatrix: Reading VINTF information.
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:54] List 'out/target/product/a52q/system/etc/vintf/': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:43] Fetch 'out/target/product/a52q/system/etc/vintf/compatibility_matrix.6.xml': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:43] Fetch 'out/target/product/a52q/system/etc/vintf/compatibility_matrix.4.xml': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:43] Fetch 'out/target/product/a52q/system/etc/vintf/compatibility_matrix.device.xml': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:43] Fetch 'out/target/product/a52q/system/etc/vintf/manifest.xml': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:43] Fetch 'out/target/product/a52q/system/etc/vintf/compatibility_matrix.3.xml': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:43] Fetch 'out/target/product/a52q/system/etc/vintf/compatibility_matrix.5.xml': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:54] List 'out/target/product/a52q/system/system_ext/etc/vintf/': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:43] Fetch 'out/target/product/a52q/system/system_ext/etc/vintf/manifest.xml': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:54] List 'out/target/product/a52q/product/etc/vintf/': NAME_NOT_FOUND
checkvintf I 04-02 04:47:47 119521 119521 VintfObject.cpp:64] getFrameworkCompatibilityMatrix: Successfully processed VINTF information
checkvintf I 04-02 04:47:47 119521 119521 VintfObject.cpp:58] getDeviceCompatibilityMatrix: Reading VINTF information.
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:43] Fetch 'out/target/product/a52q/vendor/etc/vintf/compatibility_matrix.xml': OK
checkvintf I 04-02 04:47:47 119521 119521 VintfObject.cpp:64] getDeviceCompatibilityMatrix: Successfully processed VINTF information
checkvintf I 04-02 04:47:47 119521 119521 check_vintf.cpp:112] fetched kernel version 4.14.190
checkvintf I 04-02 04:47:47 119521 119521 check_vintf.cpp:116] fetched kernel level from RuntimeInfo ''
checkvintf I 04-02 04:47:47 119521 119521 check_vintf.cpp:130] read kernel configs from out/target/product/a52q/obj/PACKAGING/check_vintf_all_intermediates/kernel_configs.txt
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:54] List 'out/target/product/a52q/system/etc/vintf/': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:43] Fetch 'out/target/product/a52q/system/etc/vintf/compatibility_matrix.6.xml': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:43] Fetch 'out/target/product/a52q/system/etc/vintf/compatibility_matrix.4.xml': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:43] Fetch 'out/target/product/a52q/system/etc/vintf/compatibility_matrix.device.xml': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:43] Fetch 'out/target/product/a52q/system/etc/vintf/manifest.xml': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:43] Fetch 'out/target/product/a52q/system/etc/vintf/compatibility_matrix.3.xml': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:43] Fetch 'out/target/product/a52q/system/etc/vintf/compatibility_matrix.5.xml': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:54] List 'out/target/product/a52q/system/system_ext/etc/vintf/': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:43] Fetch 'out/target/product/a52q/system/system_ext/etc/vintf/manifest.xml': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:54] List 'out/target/product/a52q/product/etc/vintf/': NAME_NOT_FOUND
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:54] List 'out/target/product/a52q/system/etc/vintf/': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:43] Fetch 'out/target/product/a52q/system/etc/vintf/compatibility_matrix.6.xml': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:43] Fetch 'out/target/product/a52q/system/etc/vintf/compatibility_matrix.4.xml': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:43] Fetch 'out/target/product/a52q/system/etc/vintf/compatibility_matrix.device.xml': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:43] Fetch 'out/target/product/a52q/system/etc/vintf/manifest.xml': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:43] Fetch 'out/target/product/a52q/system/etc/vintf/compatibility_matrix.3.xml': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:43] Fetch 'out/target/product/a52q/system/etc/vintf/compatibility_matrix.5.xml': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:54] List 'out/target/product/a52q/system/system_ext/etc/vintf/': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:43] Fetch 'out/target/product/a52q/system/system_ext/etc/vintf/manifest.xml': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:54] List 'out/target/product/a52q/product/etc/vintf/': NAME_NOT_FOUND
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:54] List 'out/target/product/a52q/system/etc/vintf/': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:43] Fetch 'out/target/product/a52q/system/etc/vintf/compatibility_matrix.6.xml': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:43] Fetch 'out/target/product/a52q/system/etc/vintf/compatibility_matrix.4.xml': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:43] Fetch 'out/target/product/a52q/system/etc/vintf/compatibility_matrix.device.xml': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:43] Fetch 'out/target/product/a52q/system/etc/vintf/manifest.xml': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:43] Fetch 'out/target/product/a52q/system/etc/vintf/compatibility_matrix.3.xml': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:43] Fetch 'out/target/product/a52q/system/etc/vintf/compatibility_matrix.5.xml': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:54] List 'out/target/product/a52q/system/system_ext/etc/vintf/': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:43] Fetch 'out/target/product/a52q/system/system_ext/etc/vintf/manifest.xml': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:54] List 'out/target/product/a52q/product/etc/vintf/': NAME_NOT_FOUND
checkvintf I 04-02 04:47:47 119521 119521 check_vintf.cpp:384] All HALs in device manifest are declared in FCM <= level 5
checkvintf E 04-02 04:47:47 119521 119521 check_vintf.cpp:620] files are incompatible: Device manifest and framework compatibility matrix are incompatible: HALs incompatible. Matrix level = 5. Manifest level = 5. The following requirements are not met:
checkvintf E 04-02 04:47:47 119521 119521 check_vintf.cpp:620] android.hardware.power:
checkvintf E 04-02 04:47:47 119521 119521 check_vintf.cpp:620] required: IPower/default (@1-2)
checkvintf E 04-02 04:47:47 119521 119521 check_vintf.cpp:620] provided:
checkvintf E 04-02 04:47:47 119521 119521 check_vintf.cpp:620] : Success
INCOMPATIBLE
King 'z
(11 rep)
Apr 2, 2022, 02:04 AM
1
votes
0
answers
2560
views
How to repack a system.new.dat.br with open source command line tools?
We can decompress a system.new.dat.br and then convert to an img, like this: brotli --decompress system.new.dat.br -o unpacked_system.new.dat sdat2img.py system.transfer.list unpacked_system.new.dat unpacked_system.img mkdir system && sudo mount -o loop unpacked_system.img system I couldn't find any...
We can decompress a system.new.dat.br and then convert to an img, like this:
brotli --decompress system.new.dat.br -o unpacked_system.new.dat
sdat2img.py system.transfer.list unpacked_system.new.dat unpacked_system.img
mkdir system && sudo mount -o loop unpacked_system.img system
I couldn't find anywhere a way to not mount this. I wanted to not mount this because it needs root, and because inside a docker container is hard, and also because I shouldn't need root to repack system.new.dat.br.
So, how can I both decompress unpacked_system.img, modify its files, repack it and convert back to .dat.br?
Poperton
(112 rep)
Mar 12, 2022, 02:07 AM
0
votes
0
answers
659
views
When is the Final vbmeta Image Generated in a Signed Build?
**BACKGROUND** I am attempting to generate my own signed builds of LineageOS 18.1 and am having trouble with the final signed OTA. Specifically, the vendor partition is failing during AVB verification which causes a boot loop. To perform my build, I am following the official Lineage build instructio...
**BACKGROUND**
I am attempting to generate my own signed builds of LineageOS 18.1 and am having trouble with the final signed OTA. Specifically, the vendor partition is failing during AVB verification which causes a boot loop.
To perform my build, I am following the official Lineage build instructions as well as a number of external guides. The general outline is as follows:
1. Build Android via
mka target-files-package otatools
. Interestingly, after this step, I have a valid vbmeta at $OUT/obj/PACKAGING/target_files_intermediates/lineage_fajita-target_files-eng.*/IMAGES/vbmeta.img
which has the correct hashes for both the vendor and system images found in the same directory.
2. `./build/tools/releasetools/sign_target_files_apks -o -d $CERTDIR -p "$ANDROID_HOST_OUT" --prebuilts_path $TOPDIR/images/fajita $OUT/obj/PACKAGING/target_files_intermediates/*-target_files-*.zip signed-target_files.zip
`.
3. ./build/tools/releasetools/ota_from_target_files -p "$ANDROID_HOST_OUT" -k $CERTDIR/releasekey --block signed-target_files.zip lineage-18.1-$(date "+%Y%m%d")-UNOFFICIAL-fajita-signed.zip
.
4. Profit.
I admit, step 2 confuses me somewhat. I get that each of the APKs is extracted and signed; that part it easy. What I do not understand is what happens to the files after they have been signed. If I extract signed-target_files.zip
I have both a full system image at IMAGES/system.img
as well as what appears to be a full system rootfs as individual files at SYSTEM/*
. Which is the "correct" system payload? I notice there is no equivalent VENDOR/*
directory; shouldn't one have been created in a similar fashion to the system files?
After step 2, I see that the vbmeta image in the extracted signed-target_files.zip
is different. Obviously, the hash for the system image has to be regenerated as the image contents have changed and, presumably, the same would have to happen for vendor and/or any other partition which has its contents updated.
Unfortunately, this is where things seem to go off the rails. Again with the extracted signed-target_files.zip
:
- IMAGES/vbmeta.img
has the correct SHA for IMAGES/system.img
, with a different value from what is found under $OUT
.
- IMAGES/vbmeta.img
has an _incorrect_ SHA for IMAGES/vendor.img
. This value is also different from what is in $OUT
.
- IMAGES/vbmeta.img
has correct SHAs for boot.img
and dtbo.img
which, as far as I can tell, are unmodified from the original build.
**QUESTIONS**
1. When signing an Android build, which files are used to generate the updated vbmeta image?
2. How do these relate to the contents of signed-target_files.zip
?
3. Is there any good documentation on the part of the build process? I have found a bunch of stuff on how APKs are signed or how AVB verification works but, unfortunately, startlingly little on the mechanics of signed image generation itself.
MysteryMoose
(109 rep)
Dec 8, 2021, 06:58 PM
1
votes
0
answers
52
views
Why is there not a utility which builds lineage OS for different devices?
I've been using Ubuntu on different old computer hardware of mine, and it's wonderful how easy it is to install and how portable it is between different devices. I have an 8-year old Samsung Android tablet which no longer receives updates, so using the internet on this device is a security risk. I a...
I've been using Ubuntu on different old computer hardware of mine, and it's wonderful how easy it is to install and how portable it is between different devices.
I have an 8-year old Samsung Android tablet which no longer receives updates, so using the internet on this device is a security risk. I assumed that I would be able to install a non-manufacturer specific version of Android on my tablet, and that this would be comparatively easy as installing Ubuntu on a computer.
So I had a look around and I found lineage OS, and I was surprised to see that it's very much device specific (and unfortunately for me there are no recent builds for my device). I did a little reading into why this is, and I've understood from this that there are two main reasons why it's not to possible to install a single version of lineage OS on many different devices, and that the builds must be device specific. My understanding is that firstly the machine language that processors use varies more across Android devices than it does in desktop and laptop CPUs, and secondly that SoC architectures do not come with a BIOS, which is necessary to inform the installer binary what hardware exists on the chip.
My question is about the second part of the problem to do with the BIOS; it seems to me that this is a straightforward problem to solve. I envisage a utility on my computer which recognises my Android device like how adb does. This utility could then get the hardware setup that exists on my device, either by directly interacting with the phone if this is possible, or by referencing the device's model number against some online database and downloading the information from there. The utility would then be set up to compile lineage OS based on the information that it now has about my device, and I can then copy over the device specific binary and install. That is, the compilation process is moved from a set of different developers who provide support for specific devices, down to a user friendly utility which builds a device specific OS.
So my question is, has this idea been considered? I'm pretty certain this utility doesn't already exist, so then I would also ask, what are the main reasons that would make this difficult to implement?
(and I guess I have a secondary question which is; have I correctly understood this problem? Perhaps I'm missing something in understanding why lineage OS builds are device specific. If this is the case, I would appreciate having this explained in more detail)
Jojo
(111 rep)
Aug 19, 2021, 10:26 PM
1
votes
1
answers
92
views
Strange build number on Alcatel phone
According to [this site][1], since Android 8, build numbers have a certain format. However, I have an Alcatel 5030D_EAA with Android 10 with a build number **01011** What should I think of that? The reason I ask this, is because I have some Bluetooth code in my app that does not work on this phone,...
According to this site , since Android 8, build numbers have a certain format. However, I have an Alcatel 5030D_EAA with Android 10 with a build number **01011**
What should I think of that?
The reason I ask this, is because I have some Bluetooth code in my app that does not work on this phone, but does work on many others (including with newer Android versions).
Bart Friederichs
(113 rep)
Apr 28, 2021, 05:42 PM
• Last activity: Apr 29, 2021, 07:02 AM
1
votes
1
answers
18465
views
Change device model on Android 10
I have Realme X2 (RMX1992) phone with Lineage OS 17.1 with root. I want to change my device model to Realme X2 Pro (RMX1931). I have edited `build.prop` files in `/system` and `/vendor` folders with `ro.product.model=RMX1931` and also set the global device name as below: adb shell settings put globa...
I have Realme X2 (RMX1992) phone with Lineage OS 17.1 with root. I want to change my device model to Realme X2 Pro (RMX1931).
I have edited
build.prop
files in /system
and /vendor
folders with ro.product.model=RMX1931
and also set the global device name as below:
adb shell settings put global device_name RMX1931
But still, my device is still recognized as RMX1992.
How to change the device model?
kevin peter
(121 rep)
Sep 13, 2020, 06:29 PM
• Last activity: Apr 9, 2021, 04:34 PM
1
votes
0
answers
113
views
Changing Wear OS AVD build properties
I'm trying to get hold of one specific app: [LV Watch Faces 2](https://play.google.com/store/apps/details?id=com.sfeir.lvmh.watchface2). I cannot find this anywhere. It's possible to extract it from an LV Wear OS watch, but I don't have them. I got an idea, maybe it's possible to change the device n...
I'm trying to get hold of one specific app: [LV Watch Faces 2](https://play.google.com/store/apps/details?id=com.sfeir.lvmh.watchface2) . I cannot find this anywhere. It's possible to extract it from an LV Wear OS watch, but I don't have them. I got an idea, maybe it's possible to change the device name/model on the Wear OS emulator for an app to appear on the emulator's Google Play Store.
I tried changing
Could anyone help with changing Wear OS's AVD build properties or generally suggest - does this idea make sense (changing those properties for having hardware limited store apps to appear).
build.prop
that's located in C:\Users\user\AppData\Local\Android\Sdk\system-images\android-28\android-wear\x86
, but it seems like it didn't work (it shows the same default name sdk_gwear_x86
)in the Settings)

Artem Nvm
(11 rep)
Jan 9, 2021, 08:22 PM
• Last activity: Jan 10, 2021, 10:03 AM
4
votes
0
answers
867
views
android boot with forceencrypt take a long time
I am building cm-13.0 for oneplus bacon here. I want the ROM to encrypt on first boot, so I changed the flag in Android fstab file (device/oneplus/bacon/rootdir/etc) from encryptable to forceencrypt. Before: /dev/block/platform/msm_sdcc.1/by-name/userdata /data ext4 noatime,nosuid,nodev,barrier=1,da...
I am building cm-13.0 for oneplus bacon here. I want the ROM to encrypt on first boot, so I changed the flag in Android fstab file (device/oneplus/bacon/rootdir/etc) from encryptable to forceencrypt.
Before:
/dev/block/platform/msm_sdcc.1/by-name/userdata /data ext4 noatime,nosuid,nodev,barrier=1,data=ordered,noauto_da_alloc,errors=panic wait,check,formattable,encryptable=/dev/block/platform/msm_sdcc.1/by-name/reserve4
/dev/block/platform/msm_sdcc.1/by-name/userdata /data f2fs noatime,nosuid,nodev,rw,inline_xattr wait,check,formattable,encryptable=/dev/block/platform/msm_sdcc.1/by-name/reserve4
after:
/dev/block/platform/msm_sdcc.1/by-name/userdata /data ext4 noatime,nosuid,nodev,barrier=1,data=ordered,noauto_da_alloc,errors=panic wait,check,formattable,forceencrypt=/dev/block/platform/msm_sdcc.1/by-name/reserve4
/dev/block/platform/msm_sdcc.1/by-name/userdata /data f2fs noatime,nosuid,nodev,rw,inline_xattr wait,check,formattable,**forceencrypt**=/dev/block/platform/msm_sdcc.1/by-name/reserve4
and it worked, but the first boot took more than 2 hours. And I read on android development site (https://source.android.com/security/encryption/index.html)
> What we’ve added for Android 5.0 Created fast encryption, which only
> encrypts used blocks on the data partition **to avoid first
> boot taking a long time**. Only ext4 and f2fs filesystems
> currently support fast encryption. Added the forceencrypt flag to
> encrypt on first boot.
How can I avoid this long boot time?
Note: *if I keep the flag "encryptable" and boot the device then go to Settings -> security -> encryption and click encrypt, it will take less than 7 minutes for the process to finish. Why is it so long?*
Osama
(141 rep)
Apr 12, 2016, 11:07 AM
• Last activity: Dec 22, 2020, 10:50 AM
1
votes
1
answers
1426
views
Building ROMs & Kernels?
I've been using customs ROMs and Kernels on my GS5 for a while now, but I want to get a clear explanation about how it works. Here are a few questions: 1. What is 'building' in Android? I heard that the build system is different from other Linux systems. 2. What's the difference between a ROM and a...
I've been using customs ROMs and Kernels on my GS5 for a while now, but I want to get a clear explanation about how it works. Here are a few questions:
1. What is 'building' in Android? I heard that the build system is different from other Linux systems.
2. What's the difference between a ROM and a Kernel?
3. Is the 'ROM part' and 'Kernel part' separated? So, can I build them separately and install them separately?
4. How do I add device drivers(such as WiFi dongles) to my Kernel?
5. Inside a custom ROM zip file, is the Kernel included alongside with the ROM?
6. Are kernels compatible with different ROMs? (E.g. Using a Kernel built from the official stock sources on CyanogenMod)
These may be very newbie-ish questions but I'm really, really curious.
Joshua Jang
(47 rep)
Dec 26, 2016, 10:26 AM
• Last activity: Dec 20, 2020, 08:54 AM
2
votes
0
answers
1056
views
repacked system image fails to boot
I have a problem where the repacked system.img does not work. My target device is: DOOGEE X5pro, which uses MT6735M chip. I am using [this][1] custom ROM. The original files from this custom ROM works fine with the device. I wanted to change something in the system.img and the following is what I di...
I have a problem where the repacked system.img does not work.
My target device is: DOOGEE X5pro, which uses MT6735M chip.
I am using this custom ROM.
The original files from this custom ROM works fine with the device.
I wanted to change something in the system.img and the following is what I did.
$ simg2img system.img system.raw
$ mkdir tempsys
$ sudo mount -t ext4 -o loop system.raw tempsys
$ cd tempsys
Here I made one change. I didn't like the camera shutter sound so I simply deleted the 'camer_shutter.ogg' file in
tempsys/media/audio/ui
.
$ cd ..
$ tune2fs -l system.raw
here I check that "Block count : 390111", "Block size: 4096". I multiplied these two values and got "1,597,894,656".
$ sudo make_ext4 -a system -l 1597894656 -s sys3.img tempsys
BTW the permission of the sys3.img is as below:
$ ls -l
-rw-r--r-- 1 chadrick chadrick 1327287648 2월 18 16:09 sys3.img
I'm not sure if the permission of the system.img file matters before flashing it to the phone.
I shall proceed just as it is.
After flashing it, it is stuck at the boot logo. I guess while the device succeeded upto loading the 'boot.img' but it failed to properly deal with 'system.img'.
Apparently, could someone point out some things that I may have missed?
BTW, I did the same repack operation WITHOUT modifying any contents in with system.raw file. The repacked system.img still didn't work.
kwagjj
(151 rep)
Feb 18, 2017, 11:25 AM
• Last activity: Dec 17, 2020, 11:31 AM
2
votes
0
answers
1337
views
Edditing updater-script
In [this][1] thread, #6 post jellopuddingstick said that he could remove the check on updater-script in order to flash a rom which doesnt fit with build.prop . For example, this is my updater script I found in meta inf/com/google/android: assert(getprop("ro.product.device") == "thea" || getprop("ro....
In this thread, #6 post jellopuddingstick said that he could remove the check on updater-script in order to flash a rom which doesnt fit with build.prop .
For example, this is my updater script I found in meta inf/com/google/android:
assert(getprop("ro.product.device") == "thea" || getprop("ro.build.product") == "thea" ||
getprop("ro.product.device") == "thea_umtsds" || getprop("ro.build.product") == "thea_umtsds" ||
getprop("ro.product.device") == "thea_ds" || getprop("ro.build.product") == "thea_ds" ||
getprop("ro.product.device") == "XT1072" || getprop("ro.build.product") == "XT1072" ||
getprop("ro.product.device") == "XT1078" || getprop("ro.build.product") == "XT1078" ||
getprop("ro.product.device") == "XT1079" || getprop("ro.build.product") == "XT1079" || abort("E3004: This package is for device: thea,thea_umtsds,thea_ds,XT1072,XT1078,XT1079; this device is " + getprop("ro.product.device") + "."););
ui_print("Target: motorola/lineage_thea/thea:8.1.0/OPM1.171019.011/c397c2b19d:userdebug/test-keys");
ifelse(is_mounted("/system"), unmount("/system"));
package_extract_dir("install", "/tmp/install");
set_metadata_recursive("/tmp/install", "uid", 0, "gid", 0, "dmode", 0755, "fmode", 0644);
set_metadata_recursive("/tmp/install/bin", "uid", 0, "gid", 0, "dmode", 0755, "fmode", 0755);
mount("ext4", "EMMC", "/dev/block/bootdevice/by-name/system", "/system", "");
run_program("/tmp/install/bin/backuptool.sh", "backup");
unmount("/system");
show_progress(0.750000, 0);
ui_print("Patching system image unconditionally...");
block_image_update("/dev/block/bootdevice/by-name/system", package_extract_file("system.transfer.list"), "system.new.dat.br", "system.patch.dat") ||
abort("E1001: Failed to update system image.");
show_progress(0.020000, 10);
mount("ext4", "EMMC", "/dev/block/bootdevice/by-name/system", "/system", "");
run_program("/tmp/install/bin/backuptool.sh", "restore");
unmount("/system");
show_progress(0.050000, 5);
package_extract_file("boot.img", "/dev/block/bootdevice/by-name/boot");
show_progress(0.200000, 10);
set_progress(1.000000);
How exactly would I need to edit this in order to not scramble it up?
LuxBellum
(29 rep)
Feb 15, 2018, 03:39 PM
• Last activity: Dec 17, 2020, 11:30 AM
Showing page 1 of 20 total questions