T280 Custom ROM Progress Thread - Samsung Galaxy Tab A series Guides, News, & Discus

Just got a T280 - would like to get Nougat on it. I saw @jedld did awesome work on T285 and @_mone did with TWRP, however, I was hoping to create a thread to consolidate any ongoing efforts for T280 in one place, and see where I could help.

This is what I know of the state of the T280 development.
TWRP and root has been available for the T280 for some time, almost at the same time the T285 version has. There is no non-stock based rom available yet.
Custom T280 kernel here courtesy of @_mone, there are reports that it works with an updated T280 stock firmware.
Before flashing a generated boot.img note that it requires special headers for the T280 here: https://forum.xda-developers.com/showpost.php?p=68843058&postcount=81. There is at least one developer in this forum that is looking to make this process easier.
Assumming this works with the T280 stock firmware, the steps that I see are the following:
1. Patch the N and M related linux kernel patches to the T280 kernel http://jeffvanderstoep.blogspot.com/2016/05/selinux-kernel-patches-for-android-n.html. Update the arm defconfig to the latest recommended by android.
2. Create a lineage device tree, you can use my gtexslte manifest as a starting point https://github.com/jedld/android.git. Probably just need to take out the RIL related modules.

awesome - i'll give this a go.. right now I'm just testing building samsung's stock opensource kernel.

It's people like you that make me love xda. Thanks!

Downloading source code.....
@jedld I downloading lineage14.1 src and gtexslte kernel/device trees
How to create gtexswifi device tree based gtexslte?

tdukazudon said:
@jedld I downloading lineage14.1 src and gtexslte kernel/device trees
How to create gtexswifi device tree based gtexslte?
Click to expand...
Click to collapse
You can start by renaming gtexslte to gtexswifi, I believe flash partitions sizes and mountpoints are about the same for both SM-T285 and SM-T280 so you don't need to change much. You probably need to remove phone related configs. You also need to use the SM-T280 kernel also. I don't know if there are other hardware differences from the T280 and T285 (gps?) If this is your first time doing any sort of porting, this can be a daunting task, so I suggest you try to learn how to extract the stock boot and system images, modify some files and then flash it back as an exercise. There might already be a gtexswifi device tree in progress somewhere, I suggest that you contact those devs or probably set up an irc channel to coordinate your efforts.

@jedld - I'm confused - for the M/N Patches to the kernel, it seems like 2 sets of patches undo each other, namely:
Revert "SELinux: per-command whitelisting of ioctls" - https://android-review.googlesource.com/162275
selinux: extended permissions for ioctls - https://android-review.googlesource.com/162279
and
Revert "security: lsm_audit: add ioctl specific auditing" - https://android-review.googlesource.com/162276
security: add ioctl specific auditing to lsm_audit - https://android-review.googlesource.com/162278
What'd you do for those?

chiefwigms said:
@jedld - I'm confused - for the M/N Patches to the kernel, it seems like 2 sets of patches undo each other, namely:
Revert "SELinux: per-command whitelisting of ioctls" - https://android-review.googlesource.com/162275
selinux: extended permissions for ioctls - https://android-review.googlesource.com/162279
and
Revert "security: lsm_audit: add ioctl specific auditing" - https://android-review.googlesource.com/162276
security: add ioctl specific auditing to lsm_audit - https://android-review.googlesource.com/162278
What'd you do for those?
Click to expand...
Click to collapse
I ignored the reverts at first. I can't remember if it worked after that. Though I ended up just doing a straight diff with the selinux modules based on the aosp 3.10.y kernel sources and just merging them.

jedld said:
I ignored the reverts at first. I can't remember if it worked after that. Though I ended up just doing a straight diff with the selinux modules based on the aosp 3.10.y kernel sources and just merging them.
Click to expand...
Click to collapse
Sound good - i'll just diff w/ your repo Thx!

@jedld
This build error happened.Do you have solution?
hardware/sprd/libmemion/MemoryHeapIon.cpp:614:30: error: variable has incomplete type 'struct ion_kmap_data'
struct ion_kmap_data kmap_data;
^
hardware/sprd/libmemion/MemoryHeapIon.cpp:614:16: note: forward declaration of 'ion_kmap_data'
struct ion_kmap_data kmap_data;
^
hardware/sprd/libmemion/MemoryHeapIon.cpp:618:27: error: use of undeclared identifier 'ION_SPRD_CUSTOM_MAP_KERNEL'; did you mean 'ION_SPRD_CUSTOM_MAP'?
custom_data.cmd = ION_SPRD_CUSTOM_MAP_KERNEL;
^~~~~~~~~~~~~~~~~~~~~~~~~~
ION_SPRD_CUSTOM_MAP
/home/aletheia/smt280/out/target/product/gtexswifi/obj/KERNEL_OBJ/usr/include/video/ion_sprd.h:54:2: note: 'ION_SPRD_CUSTOM_MAP' declared here
ION_SPRD_CUSTOM_MAP,
^
hardware/sprd/libmemion/MemoryHeapIon.cpp:638:32: error: variable has incomplete type 'struct ion_kunmap_data'
struct ion_kunmap_data kunmap_data;
^
hardware/sprd/libmemion/MemoryHeapIon.cpp:638:16: note: forward declaration of 'ion_kunmap_data'
struct ion_kunmap_data kunmap_data;
^
hardware/sprd/libmemion/MemoryHeapIon.cpp:642:27: error: use of undeclared identifier 'ION_SPRD_CUSTOM_UNMAP_KERNEL'; did you mean 'ION_SPRD_CUSTOM_UNMAP'?
custom_data.cmd = ION_SPRD_CUSTOM_UNMAP_KERNEL;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
ION_SPRD_CUSTOM_UNMAP
/home/aletheia/smt280/out/target/product/gtexswifi/obj/KERNEL_OBJ/usr/include/video/ion_sprd.h:55:2: note: 'ION_SPRD_CUSTOM_UNMAP' declared here
ION_SPRD_CUSTOM_UNMAP,
^
hardware/sprd/libmemion/MemoryHeapIon.cpp:663:30: error: variable has incomplete type 'struct ion_kmap_data'
struct ion_kmap_data kmap_data;
^
hardware/sprd/libmemion/MemoryHeapIon.cpp:663:16: note: forward declaration of 'ion_kmap_data'
struct ion_kmap_data kmap_data;
^
hardware/sprd/libmemion/MemoryHeapIon.cpp:667:27: error: use of undeclared identifier 'ION_SPRD_CUSTOM_MAP_KERNEL'; did you mean 'ION_SPRD_CUSTOM_MAP'?
custom_data.cmd = ION_SPRD_CUSTOM_MAP_KERNEL;
^~~~~~~~~~~~~~~~~~~~~~~~~~
ION_SPRD_CUSTOM_MAP
/home/aletheia/smt280/out/target/product/gtexswifi/obj/KERNEL_OBJ/usr/include/video/ion_sprd.h:54:2: note: 'ION_SPRD_CUSTOM_MAP' declared here
ION_SPRD_CUSTOM_MAP,
^
Import includes file: /home/aletheia/smt280/out/target/product/gtexswifi/obj/SHARED_LIBRARIES/libRSCpuRef_intermediates/import_includes
hardware/sprd/libmemion/MemoryHeapIon.cpp:690:32: error: variable has incomplete type 'struct ion_kunmap_data'
struct ion_kunmap_data kunmap_data;
^
hardware/sprd/libmemion/MemoryHeapIon.cpp:690:16: note: forward declaration of 'ion_kunmap_data'
struct ion_kunmap_data kunmap_data;
^
hardware/sprd/libmemion/MemoryHeapIon.cpp:694:27: error: use of undeclared identifier 'ION_SPRD_CUSTOM_UNMAP_KERNEL'; did you mean 'ION_SPRD_CUSTOM_UNMAP'?
custom_data.cmd = ION_SPRD_CUSTOM_UNMAP_KERNEL;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
ION_SPRD_CUSTOM_UNMAP
/home/aletheia/smt280/out/target/product/gtexswifi/obj/KERNEL_OBJ/usr/include/video/ion_sprd.h:55:2: note: 'ION_SPRD_CUSTOM_UNMAP' declared here
ION_SPRD_CUSTOM_UNMAP,
^
8 errors generated.

tdukazudon said:
@jedld
This build error happened.Do you have solution?
hardware/sprd/libmemion/MemoryHeapIon.cpp:614:30: error: variable has incomplete type 'struct ion_kmap_data'
struct ion_kmap_data kmap_data;
^
hardware/sprd/libmemion/MemoryHeapIon.cpp:614:16: note: forward declaration of 'ion_kmap_data'
struct ion_kmap_data kmap_data;
^
hardware/sprd/libmemion/MemoryHeapIon.cpp:618:27: error: use of undeclared identifier 'ION_SPRD_CUSTOM_MAP_KERNEL'; did you mean 'ION_SPRD_CUSTOM_MAP'?
custom_data.cmd = ION_SPRD_CUSTOM_MAP_KERNEL;
^~~~~~~~~~~~~~~~~~~~~~~~~~
ION_SPRD_CUSTOM_MAP
/home/aletheia/smt280/out/target/product/gtexswifi/obj/KERNEL_OBJ/usr/include/video/ion_sprd.h:54:2: note: 'ION_SPRD_CUSTOM_MAP' declared here
ION_SPRD_CUSTOM_MAP,
^
hardware/sprd/libmemion/MemoryHeapIon.cpp:638:32: error: variable has incomplete type 'struct ion_kunmap_data'
struct ion_kunmap_data kunmap_data;
^
hardware/sprd/libmemion/MemoryHeapIon.cpp:638:16: note: forward declaration of 'ion_kunmap_data'
struct ion_kunmap_data kunmap_data;
^
hardware/sprd/libmemion/MemoryHeapIon.cpp:642:27: error: use of undeclared identifier 'ION_SPRD_CUSTOM_UNMAP_KERNEL'; did you mean 'ION_SPRD_CUSTOM_UNMAP'?
custom_data.cmd = ION_SPRD_CUSTOM_UNMAP_KERNEL;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
ION_SPRD_CUSTOM_UNMAP
/home/aletheia/smt280/out/target/product/gtexswifi/obj/KERNEL_OBJ/usr/include/video/ion_sprd.h:55:2: note: 'ION_SPRD_CUSTOM_UNMAP' declared here
ION_SPRD_CUSTOM_UNMAP,
^
hardware/sprd/libmemion/MemoryHeapIon.cpp:663:30: error: variable has incomplete type 'struct ion_kmap_data'
struct ion_kmap_data kmap_data;
^
hardware/sprd/libmemion/MemoryHeapIon.cpp:663:16: note: forward declaration of 'ion_kmap_data'
struct ion_kmap_data kmap_data;
^
hardware/sprd/libmemion/MemoryHeapIon.cpp:667:27: error: use of undeclared identifier 'ION_SPRD_CUSTOM_MAP_KERNEL'; did you mean 'ION_SPRD_CUSTOM_MAP'?
custom_data.cmd = ION_SPRD_CUSTOM_MAP_KERNEL;
^~~~~~~~~~~~~~~~~~~~~~~~~~
ION_SPRD_CUSTOM_MAP
/home/aletheia/smt280/out/target/product/gtexswifi/obj/KERNEL_OBJ/usr/include/video/ion_sprd.h:54:2: note: 'ION_SPRD_CUSTOM_MAP' declared here
ION_SPRD_CUSTOM_MAP,
^
Import includes file: /home/aletheia/smt280/out/target/product/gtexswifi/obj/SHARED_LIBRARIES/libRSCpuRef_intermediates/import_includes
hardware/sprd/libmemion/MemoryHeapIon.cpp:690:32: error: variable has incomplete type 'struct ion_kunmap_data'
struct ion_kunmap_data kunmap_data;
^
hardware/sprd/libmemion/MemoryHeapIon.cpp:690:16: note: forward declaration of 'ion_kunmap_data'
struct ion_kunmap_data kunmap_data;
^
hardware/sprd/libmemion/MemoryHeapIon.cpp:694:27: error: use of undeclared identifier 'ION_SPRD_CUSTOM_UNMAP_KERNEL'; did you mean 'ION_SPRD_CUSTOM_UNMAP'?
custom_data.cmd = ION_SPRD_CUSTOM_UNMAP_KERNEL;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
ION_SPRD_CUSTOM_UNMAP
/home/aletheia/smt280/out/target/product/gtexswifi/obj/KERNEL_OBJ/usr/include/video/ion_sprd.h:55:2: note: 'ION_SPRD_CUSTOM_UNMAP' declared here
ION_SPRD_CUSTOM_UNMAP,
^
8 errors generated.
Click to expand...
Click to collapse
You need so sync up the kernel ion drivers and include files with the one used by the gtexslte

Pardon my stupidity, but from your post here with the custom t280 header, how would I go about modifying the degas-mkbootimg command with the permissive kernel that I have?

chiefwigms said:
Pardon my stupidity, but from your post here with the custom t280 header, how would I go about modifying the degas-mkbootimg command with the permissive kernel that I have?
Click to expand...
Click to collapse
best approach I believe would be to leave mkbootimg as is and just create another commandline utility that takes an exisitng boot.img and prepend the T280 header to it. I'll try to create a C program that does it if I have time.

jedld said:
best approach I believe would be to leave mkbootimg as is and just create another commandline utility that takes an exisitng boot.img and prepend the T280 header to it. I'll try to create a C program that does it if I have time.
Click to expand...
Click to collapse
I'll clone your repo & add something to repack the t280 boot.img. Sorry - had to read through that post a few times - didn't realize the seandroid header was at the end of the file..
Kernel question : the zImage I compile is ~ 5 megs (Image is ~12) - when i unpack the stock boot.img (or the ones that @_mone made), they're around ~10 megs. Any ideas?

chiefwigms said:
I'll clone your repo & add something to repack the t280 boot.img. Sorry - had to read through that post a few times - didn't realize the seandroid header was at the end of the file..
Kernel question : the zImage I compile is ~ 5 megs (Image is ~12) - when i unpack the stock boot.img (or the ones that @_mone made), they're around ~10 megs. Any ideas?
Click to expand...
Click to collapse
boot.img also contains the ramdisk aside from the compressed kernel image.

jedld said:
best approach I believe would be to leave mkbootimg as is and just create another commandline utility that takes an exisitng boot.img and prepend the T280 header to it. I'll try to create a C program that does it if I have time.
Click to expand...
Click to collapse
jedld said:
boot.img also contains the ramdisk aside from the compressed kernel image.
Click to expand...
Click to collapse
Right, but I'm talking about zImage.. doesn't that remain untouched?

chiefwigms said:
Right, but I'm talking about zImage.. doesn't that remain untouched?
Click to expand...
Click to collapse
If you are comparing to stock size, samsung might have less flags enabled when they built their kernel as compared to the sources available to us so it could be smaller

jedld said:
If you are comparing to stock size, samsung might have less flags enabled when they built their kernel as compared to the sources available to us so it could be smaller
Click to expand...
Click to collapse
I don't know - I merged most of your def config to mine, and rebuilt stock, _mone, the modified one ive been working on, and your performance_2 branch for the t285 - all the zImages are around 5 MB :
[email protected]:/gtaba# ls -la kernel_samsung_gtexslte/arch/arm/boot/*Image*
-rwxr-xr-x 1 root root 12788984 Aug 26 23:06 kernel_samsung_gtexslte/arch/arm/boot/Image
-rwxr-xr-x 1 root root 5622664 Aug 26 23:06 kernel_samsung_gtexslte/arch/arm/boot/zImage
[email protected]:/gtaba# ls -la android_kernel_samsung_gtexswifi/arch/arm/boot/*Image*
-rwxr-xr-x 1 root root 12516984 Aug 25 21:05 android_kernel_samsung_gtexswifi/arch/arm/boot/Image
-rwxr-xr-x 1 root root 5488912 Aug 25 21:05 android_kernel_samsung_gtexswifi/arch/arm/boot/zImage

chiefwigms said:
I don't know - I merged most of your def config to mine, and rebuilt stock, _mone, the modified one ive been working on, and your performance_2 branch for the t285 - all the zImages are around 5 MB :
[email protected]:/gtaba# ls -la kernel_samsung_gtexslte/arch/arm/boot/*Image*
-rwxr-xr-x 1 root root 12788984 Aug 26 23:06 kernel_samsung_gtexslte/arch/arm/boot/Image
-rwxr-xr-x 1 root root 5622664 Aug 26 23:06 kernel_samsung_gtexslte/arch/arm/boot/zImage
[email protected]:/gtaba# ls -la android_kernel_samsung_gtexswifi/arch/arm/boot/*Image*
-rwxr-xr-x 1 root root 12516984 Aug 25 21:05 android_kernel_samsung_gtexswifi/arch/arm/boot/Image
-rwxr-xr-x 1 root root 5488912 Aug 25 21:05 android_kernel_samsung_gtexswifi/arch/arm/boot/zImage
Click to expand...
Click to collapse
For the gtexslte the size is about similar as well:
[email protected]:~/android-work/kernel/samsung/gtexslte/arch$ ls -la arm/boot/*Image*
-rwxrwxr-x 1 jedld jedld 12672968 Aug 28 07:00 arm/boot/Image
-rwxrwxr-x 1 jedld jedld 5566008 Aug 28 07:00 arm/boot/zImage

jedld said:
For the gtexslte the size is about similar as well:
[email protected]:~/android-work/kernel/samsung/gtexslte/arch$ ls -la arm/boot/*Image*
-rwxrwxr-x 1 jedld jedld 12672968 Aug 28 07:00 arm/boot/Image
-rwxrwxr-x 1 jedld jedld 5566008 Aug 28 07:00 arm/boot/zImage
Click to expand...
Click to collapse
Alright.. I'll try that.. and just to make sure, you repack zImage not image right? Just curious why when I unpack _mone it's 2x the size

Related

[4.2][Development]A road block when compiling 4.2

Hello I have been working on porting 4.2 to our Samsung Galaxy Exhibit, but I have an error compiling and I have no idea how to get past it.
Code:
target thumb C++: libandroid_runtime <= frameworks/base/core/jni/android_view_Display.cpp
target thumb C++: libandroid_runtime <= frameworks/base/core/jni/android_view_Surface.cpp
target thumb C++: libandroid_runtime <= frameworks/base/core/jni/android_view_HardwareRenderer.cpp
frameworks/base/core/jni/android_view_Display.cpp: In function 'void android::android_view_Display_init(JNIEnv*, jobject, jint)':
frameworks/base/core/jni/android_view_Display.cpp:64:75: error: 'DisplayID' was not declared in this scope
frameworks/base/core/jni/android_view_Display.cpp: In function 'jint android::android_view_Display_getRawWidthNative(JNIEnv*, jobject)':
frameworks/base/core/jni/android_view_Display.cpp:81:5: error: 'DisplayID' was not declared in this scope
frameworks/base/core/jni/android_view_Display.cpp:81:15: error: expected ';' before 'dpy'
frameworks/base/core/jni/android_view_Display.cpp:82:12: error: 'getDisplayWidth' is not a member of 'android::SurfaceComposerClient'
frameworks/base/core/jni/android_view_Display.cpp:82:51: error: 'dpy' was not declared in this scope
frameworks/base/core/jni/android_view_Display.cpp: In function 'jint android::android_view_Display_getRawHeightNative(JNIEnv*, jobject)':
frameworks/base/core/jni/android_view_Display.cpp:89:5: error: 'DisplayID' was not declared in this scope
frameworks/base/core/jni/android_view_Display.cpp:89:15: error: expected ';' before 'dpy'
frameworks/base/core/jni/android_view_Display.cpp:90:12: error: 'getDisplayHeight' is not a member of 'android::SurfaceComposerClient'
frameworks/base/core/jni/android_view_Display.cpp:90:52: error: 'dpy' was not declared in this scope
frameworks/base/core/jni/android_view_Display.cpp: In function 'jint android::android_view_Display_getOrientation(JNIEnv*, jobject)':
frameworks/base/core/jni/android_view_Display.cpp:97:5: error: 'DisplayID' was not declared in this scope
frameworks/base/core/jni/android_view_Display.cpp:97:15: error: expected ';' before 'dpy'
frameworks/base/core/jni/android_view_Display.cpp:98:12: error: 'getDisplayOrientation' is not a member of 'android::SurfaceComposerClient'
frameworks/base/core/jni/android_view_Display.cpp:98:57: error: 'dpy' was not declared in this scope
frameworks/base/core/jni/android_view_Display.cpp: In function 'jint android::android_view_Display_getDisplayCount(JNIEnv*, jclass)':
frameworks/base/core/jni/android_view_Display.cpp:105:12: error: 'getNumberOfDisplays' is not a member of 'android::SurfaceComposerClient'
make: *** [out/target/product/ancora_tmo/obj/SHARED_LIBRARIES/libandroid_runtime_intermediates/android_view_Display.o] Error 1
make: *** Waiting for unfinished jobs....
frameworks/base/core/jni/android_view_Surface.cpp: In function 'android::sp<android::Surface> android::getSurface(JNIEnv*, jobject)':
frameworks/base/core/jni/android_view_Surface.cpp:163:53: error: 'Surface_getSurface' was not declared in this scope
frameworks/base/core/jni/android_view_Surface.cpp: In function 'void android::Surface_init(JNIEnv*, jobject, jobject, jint, jstring, jint, jint, jint, jint, jint)':
frameworks/base/core/jni/android_view_Surface.cpp:236:65: error: no matching function for call to 'android::SurfaceComposerClient::createSurface(jint&, jint&, jint&, jint&, jint&)'
frameworks/base/core/jni/android_view_Surface.cpp:236:65: note: candidate is:
frameworks/native/include/gui/SurfaceComposerClient.h:85:24: note: android::sp<android::SurfaceControl> android::SurfaceComposerClient::createSurface(const android::String8&, uint32_t, uint32_t, android::PixelFormat, uint32_t)
frameworks/native/include/gui/SurfaceComposerClient.h:85:24: note: no known conversion for argument 1 from 'jint {aka int}' to 'const android::String8&'
frameworks/base/core/jni/android_view_Surface.cpp:241:71: error: no matching function for call to 'android::SurfaceComposerClient::createSurface(const android::String8&, jint&, jint&, jint&, jint&, jint&)'
frameworks/base/core/jni/android_view_Surface.cpp:241:71: note: candidate is:
frameworks/native/include/gui/SurfaceComposerClient.h:85:24: note: android::sp<android::SurfaceControl> android::SurfaceComposerClient::createSurface(const android::String8&, uint32_t, uint32_t, android::PixelFormat, uint32_t)
frameworks/native/include/gui/SurfaceComposerClient.h:85:24: note: candidate expects 5 arguments, 6 provided
frameworks/base/core/jni/android_view_Surface.cpp: In function 'void android::Surface_setOrientation(JNIEnv*, jobject, jint, jint, jint)':
frameworks/base/core/jni/android_view_Surface.cpp:478:15: error: 'setOrientation' is not a member of 'android::SurfaceComposerClient'
frameworks/base/core/jni/android_view_Surface.cpp: In function 'void android::Surface_freezeDisplay(JNIEnv*, jobject, jint)':
frameworks/base/core/jni/android_view_Surface.cpp:487:15: error: 'freezeDisplay' is not a member of 'android::SurfaceComposerClient'
frameworks/base/core/jni/android_view_Surface.cpp: In function 'void android::Surface_unfreezeDisplay(JNIEnv*, jobject, jint)':
frameworks/base/core/jni/android_view_Surface.cpp:496:15: error: 'unfreezeDisplay' is not a member of 'android::SurfaceComposerClient'
frameworks/base/core/jni/android_view_Surface.cpp: In function 'void android::Surface_freeze(JNIEnv*, jobject)':
frameworks/base/core/jni/android_view_Surface.cpp:663:29: error: 'class android::SurfaceControl' has no member named 'freeze'
frameworks/base/core/jni/android_view_Surface.cpp: In function 'void android::Surface_unfreeze(JNIEnv*, jobject)':
frameworks/base/core/jni/android_view_Surface.cpp:674:29: error: 'class android::SurfaceControl' has no member named 'unfreeze'
frameworks/base/core/jni/android_view_Surface.cpp: In function 'void android::Surface_setFreezeTint(JNIEnv*, jobject, jint)':
frameworks/base/core/jni/android_view_Surface.cpp:744:29: error: 'class android::SurfaceControl' has no member named 'setFreezeTint'
make: *** [out/target/product/ancora_tmo/obj/SHARED_LIBRARIES/libandroid_runtime_intermediates/android_view_Surface.o] Error 1
It looks like I would be missing a header file but there is no android_view_Surface.h and the file is the same as in 4.1. Any suggestions? Have any devs gotten past this point? Do people mind that I'm posting this? If you want any more information just ask.
i know camcory has successfully been able to compile it but it doesnt make it past the splash screen
Core2idiot said:
Do people mind that I'm posting this?
Click to expand...
Click to collapse
I'm sorry so say that I am unable to help - this is totally beyond me!
But to answer your other question, I think it is absolutely fine to post here. This is a development forum, afterall, and if you're doing development, then it is relevant information! Maybe camcory, smartguy, Tim, IRX, or all of them + you could work together to tackle the 4.2 hurdles. I seem to recall hearing of 4.2 issues from other our devs too, so maybe a collective team will be what it takes to get it running.
Wishing you the best of luck!!
I got libgralloc errors. I removed the libgralloc packages and got camera issues. Removed those and got libwebcore errors.
What sources are you using
Sent from my SGH-T679 using xda app-developers app
IRX120 said:
I got libgralloc errors. I removed the libgralloc packages and got camera issues. Removed those and got libwebcore errors.
What sources are you using?
Sent from my SGH-T679 using xda app-developers app
Click to expand...
Click to collapse
I am using Camcory's device and vendor directory and CodefireX 4.2 for the HTC Desire HD (Which uses the same MSM8255). I think I might try taking some of the graphics drivers from it and puting them into the include directory for Camcory's. I have also gotten a couple compiles using the HTC's repos and they just result in a black screen.
try using cm10.1 mr1 tree with arcos jb device and vendor tree....i tried doing a port from s3 for ****s and giggles and got it to go to boot animation but wouldnt boot
Well I think I got past it, but now I have a new error. I replaced a couple files with the ones from the Desire HD. (I'm also resyncing my CM10.1 repo)
Code:
target thumb C++: libgui <= frameworks/native/libs/gui/SurfaceComposerClient.cpp
frameworks/native/libs/gui/LayerState.cpp: In member function 'android::status_t android::DisplayState::write(android::Parcel&) const':
frameworks/native/libs/gui/LayerState.cpp:70:26: error: no matching function for call to 'android::Parcel::write(const android::Rect&)'
frameworks/native/libs/gui/LayerState.cpp:70:26: note: candidates are:
frameworks/native/include/binder/Parcel.h:91:25: note: android::status_t android::Parcel::write(void const*, size_t)
frameworks/native/include/binder/Parcel.h:91:25: note: candidate expects 2 arguments, 1 provided
frameworks/native/include/binder/Parcel.h:105:25: note: android::status_t android::Parcel::write(const android::Flattenable&)
frameworks/native/include/binder/Parcel.h:105:25: note: no known conversion for argument 1 from 'const android::Rect' to 'const android::Flattenable&'
frameworks/native/include/binder/Parcel.h:280:10: note: template<class T> android::status_t android::Parcel::write(const android::LightFlattenable<T>&)
frameworks/native/libs/gui/LayerState.cpp:71:23: error: no matching function for call to 'android::Parcel::write(const android::Rect&)'
frameworks/native/libs/gui/LayerState.cpp:71:23: note: candidates are:
frameworks/native/include/binder/Parcel.h:91:25: note: android::status_t android::Parcel::write(void const*, size_t)
frameworks/native/include/binder/Parcel.h:91:25: note: candidate expects 2 arguments, 1 provided
frameworks/native/include/binder/Parcel.h:105:25: note: android::status_t android::Parcel::write(const android::Flattenable&)
frameworks/native/include/binder/Parcel.h:105:25: note: no known conversion for argument 1 from 'const android::Rect' to 'const android::Flattenable&'
frameworks/native/include/binder/Parcel.h:280:10: note: template<class T> android::status_t android::Parcel::write(const android::LightFlattenable<T>&)
frameworks/native/libs/gui/LayerState.cpp: In member function 'android::status_t android::DisplayState::read(const android::Parcel&)':
frameworks/native/libs/gui/LayerState.cpp:81:24: error: no matching function for call to 'android::Parcel::read(android::Rect&) const'
frameworks/native/libs/gui/LayerState.cpp:81:24: note: candidates are:
frameworks/native/include/binder/Parcel.h:141:25: note: android::status_t android::Parcel::read(void*, size_t) const
frameworks/native/include/binder/Parcel.h:141:25: note: candidate expects 2 arguments, 1 provided
frameworks/native/include/binder/Parcel.h:160:25: note: android::status_t android::Parcel::read(android::Flattenable&) const
frameworks/native/include/binder/Parcel.h:160:25: note: no known conversion for argument 1 from 'android::Rect' to 'android::Flattenable&'
frameworks/native/include/binder/Parcel.h:297:10: note: template<class T> android::status_t android::Parcel::read(android::LightFlattenable<T>&) const
frameworks/native/libs/gui/LayerState.cpp:82:21: error: no matching function for call to 'android::Parcel::read(android::Rect&) const'
frameworks/native/libs/gui/LayerState.cpp:82:21: note: candidates are:
frameworks/native/include/binder/Parcel.h:141:25: note: android::status_t android::Parcel::read(void*, size_t) const
frameworks/native/include/binder/Parcel.h:141:25: note: candidate expects 2 arguments, 1 provided
frameworks/native/include/binder/Parcel.h:160:25: note: android::status_t android::Parcel::read(android::Flattenable&) const
frameworks/native/include/binder/Parcel.h:160:25: note: no known conversion for argument 1 from 'android::Rect' to 'android::Flattenable&'
frameworks/native/include/binder/Parcel.h:297:10: note: template<class T> android::status_t android::Parcel::read(android::LightFlattenable<T>&) const
make: *** [out/target/product/ancora_tmo/obj/SHARED_LIBRARIES/libgui_intermediates/LayerState.o] Error 1
make: *** Waiting for unfinished jobs....
frameworks/native/libs/gui/SurfaceComposerClient.cpp:601:10: error: prototype for 'android::status_t android::ScreenshotClient::update(const android::sp<android::IBinder>&)' does not match any in class 'android::ScreenshotClient'
frameworks/native/include/gui/SurfaceComposerClient.h:172:14: error: candidates are: android::status_t android::ScreenshotClient::update(uint32_t, uint32_t, uint32_t, uint32_t)
frameworks/native/include/gui/SurfaceComposerClient.h:171:14: error: android::status_t android::ScreenshotClient::update(uint32_t, uint32_t)
frameworks/native/include/gui/SurfaceComposerClient.h:170:14: error: android::status_t android::ScreenshotClient::update()
frameworks/native/libs/gui/SurfaceComposerClient.cpp:610:10: error: prototype for 'android::status_t android::ScreenshotClient::update(const android::sp<android::IBinder>&, uint32_t, uint32_t)' does not match any in class 'android::ScreenshotClient'
frameworks/native/include/gui/SurfaceComposerClient.h:172:14: error: candidates are: android::status_t android::ScreenshotClient::update(uint32_t, uint32_t, uint32_t, uint32_t)
frameworks/native/include/gui/SurfaceComposerClient.h:171:14: error: android::status_t android::ScreenshotClient::update(uint32_t, uint32_t)
frameworks/native/include/gui/SurfaceComposerClient.h:170:14: error: android::status_t android::ScreenshotClient::update()
frameworks/native/libs/gui/SurfaceComposerClient.cpp:620:10: error: prototype for 'android::status_t android::ScreenshotClient::update(const android::sp<android::IBinder>&, uint32_t, uint32_t, uint32_t, uint32_t)' does not match any in class 'android::ScreenshotClient'
frameworks/native/include/gui/SurfaceComposerClient.h:172:14: error: candidates are: android::status_t android::ScreenshotClient::update(uint32_t, uint32_t, uint32_t, uint32_t)
frameworks/native/include/gui/SurfaceComposerClient.h:171:14: error: android::status_t android::ScreenshotClient::update(uint32_t, uint32_t)
frameworks/native/include/gui/SurfaceComposerClient.h:170:14: error: android::status_t android::ScreenshotClient::update()
make: *** [out/target/product/ancora_tmo/obj/SHARED_LIBRARIES/libgui_intermediates/SurfaceComposerClient.o] Error 1
I guess I still have an issue with SurfaceComposerClient.h Now it has a problem with layerstate. I'm going to go take a look at them to see if they are the same as 4.1's libs or if I already replaced them with 4.1's files. We shall see.
I managed to remove all the errors other than the one with android_view_Display.cpp
Code:
target thumb C++: libandroid_runtime <= frameworks/base/core/jni/android_view_Display.cpp
frameworks/base/core/jni/android_view_Display.cpp: In function 'void android::android_view_Display_init(JNIEnv*, jobject, jint)':
frameworks/base/core/jni/android_view_Display.cpp:64:75: error: 'DisplayID' was not declared in this scope
frameworks/base/core/jni/android_view_Display.cpp: In function 'jint android::android_view_Display_getRawWidthNative(JNIEnv*, jobject)':
frameworks/base/core/jni/android_view_Display.cpp:81:5: error: 'DisplayID' was not declared in this scope
frameworks/base/core/jni/android_view_Display.cpp:81:15: error: expected ';' before 'dpy'
frameworks/base/core/jni/android_view_Display.cpp:82:12: error: 'getDisplayWidth' is not a member of 'android::SurfaceComposerClient'
frameworks/base/core/jni/android_view_Display.cpp:82:51: error: 'dpy' was not declared in this scope
frameworks/base/core/jni/android_view_Display.cpp: In function 'jint android::android_view_Display_getRawHeightNative(JNIEnv*, jobject)':
frameworks/base/core/jni/android_view_Display.cpp:89:5: error: 'DisplayID' was not declared in this scope
frameworks/base/core/jni/android_view_Display.cpp:89:15: error: expected ';' before 'dpy'
frameworks/base/core/jni/android_view_Display.cpp:90:12: error: 'getDisplayHeight' is not a member of 'android::SurfaceComposerClient'
frameworks/base/core/jni/android_view_Display.cpp:90:52: error: 'dpy' was not declared in this scope
frameworks/base/core/jni/android_view_Display.cpp: In function 'jint android::android_view_Display_getOrientation(JNIEnv*, jobject)':
frameworks/base/core/jni/android_view_Display.cpp:97:5: error: 'DisplayID' was not declared in this scope
frameworks/base/core/jni/android_view_Display.cpp:97:15: error: expected ';' before 'dpy'
frameworks/base/core/jni/android_view_Display.cpp:98:12: error: 'getDisplayOrientation' is not a member of 'android::SurfaceComposerClient'
frameworks/base/core/jni/android_view_Display.cpp:98:57: error: 'dpy' was not declared in this scope
frameworks/base/core/jni/android_view_Display.cpp: In function 'jint android::android_view_Display_getDisplayCount(JNIEnv*, jclass)':
frameworks/base/core/jni/android_view_Display.cpp:105:12: error: 'getNumberOfDisplays' is not a member of 'android::SurfaceComposerClient'
make: *** [out/target/product/ancora_tmo/obj/SHARED_LIBRARIES/libandroid_runtime_intermediates/android_view_Display.o] Error 1
make: *** Waiting for unfinished jobs....
Core2idiot said:
I managed to remove all the errors other than the one with android_view_Display.cpp
Code:
target thumb C++: libandroid_runtime <= frameworks/base/core/jni/android_view_Display.cpp
frameworks/base/core/jni/android_view_Display.cpp: In function 'void android::android_view_Display_init(JNIEnv*, jobject, jint)':
frameworks/base/core/jni/android_view_Display.cpp:64:75: error: 'DisplayID' was not declared in this scope
frameworks/base/core/jni/android_view_Display.cpp: In function 'jint android::android_view_Display_getRawWidthNative(JNIEnv*, jobject)':
frameworks/base/core/jni/android_view_Display.cpp:81:5: error: 'DisplayID' was not declared in this scope
frameworks/base/core/jni/android_view_Display.cpp:81:15: error: expected ';' before 'dpy'
frameworks/base/core/jni/android_view_Display.cpp:82:12: error: 'getDisplayWidth' is not a member of 'android::SurfaceComposerClient'
frameworks/base/core/jni/android_view_Display.cpp:82:51: error: 'dpy' was not declared in this scope
frameworks/base/core/jni/android_view_Display.cpp: In function 'jint android::android_view_Display_getRawHeightNative(JNIEnv*, jobject)':
frameworks/base/core/jni/android_view_Display.cpp:89:5: error: 'DisplayID' was not declared in this scope
frameworks/base/core/jni/android_view_Display.cpp:89:15: error: expected ';' before 'dpy'
frameworks/base/core/jni/android_view_Display.cpp:90:12: error: 'getDisplayHeight' is not a member of 'android::SurfaceComposerClient'
frameworks/base/core/jni/android_view_Display.cpp:90:52: error: 'dpy' was not declared in this scope
frameworks/base/core/jni/android_view_Display.cpp: In function 'jint android::android_view_Display_getOrientation(JNIEnv*, jobject)':
frameworks/base/core/jni/android_view_Display.cpp:97:5: error: 'DisplayID' was not declared in this scope
frameworks/base/core/jni/android_view_Display.cpp:97:15: error: expected ';' before 'dpy'
frameworks/base/core/jni/android_view_Display.cpp:98:12: error: 'getDisplayOrientation' is not a member of 'android::SurfaceComposerClient'
frameworks/base/core/jni/android_view_Display.cpp:98:57: error: 'dpy' was not declared in this scope
frameworks/base/core/jni/android_view_Display.cpp: In function 'jint android::android_view_Display_getDisplayCount(JNIEnv*, jclass)':
frameworks/base/core/jni/android_view_Display.cpp:105:12: error: 'getNumberOfDisplays' is not a member of 'android::SurfaceComposerClient'
make: *** [out/target/product/ancora_tmo/obj/SHARED_LIBRARIES/libandroid_runtime_intermediates/android_view_Display.o] Error 1
make: *** Waiting for unfinished jobs....
Click to expand...
Click to collapse
Take it to the finish line!
smartguy044 said:
try using cm10.1 mr1 tree with arcos jb device and vendor tree....i tried doing a port from s3 for ****s and giggles and got it to go to boot animation but wouldnt boot
Click to expand...
Click to collapse
Yah I'll pull it if I get time it takes like 10 hours for me. @camcory what does your log cat say on the failed boots? I presume a libsurfaceflinger error of some kind?
Sent from my SGH-T679 using xda app-developers app
IRX120 said:
Yah I'll pull it if I get time it takes like 10 hours for me. @camcory what does your log cat say on the failed boots? I presume a libsurfaceflinger error of some kind?
Sent from my SGH-T679 using xda app-developers app
Click to expand...
Click to collapse
I know on the builds I actually got too compile, which were heavily based on the DHD works, I just got a black screen with no interaction with adb. I also know that smartguy's build didn't have adb access. I don't know how to get a logcat without adb except on device, which can't happen without the device booting...
Core2idiot said:
I know on the builds I actually got too compile, which were heavily based on the DHD works, I just got a black screen with no interaction with adb. I also know that smartguy's build didn't have adb access. I don't know how to get a logcat without adb except on device, which can't happen without the device booting...
Click to expand...
Click to collapse
Its kernel then. Have you tried using the 3.0 kernel?
Sent from my Nexus 7 using xda app-developers app
yea i told him i think its in the ramdisk. once i can get a build ill start looking into making kernel edits to see if we can get something booting
smartguy044 said:
yea i told him i think its in the ramdisk. once i can get a build ill start looking into making kernel edits to see if we can get something booting
Click to expand...
Click to collapse
Yay. I can't wait
smartguy044 said:
yea i told him i think its in the ramdisk. once i can get a build ill start looking into making kernel edits to see if we can get something booting
Click to expand...
Click to collapse
Yeah, there was an issue with that on using 4.1 kernels on 4.2 for the nexus 7 , gonna need some ramdisk tweaks
Sent from my Nexus 7 using xda app-developers app
yea i actually just finished doing some just waiting on a build to test it on
smartguy044 said:
yea i actually just finished doing some just waiting on a build to test it on
Click to expand...
Click to collapse
I'll be your test monkey if you want whenever you come out with a working/bootable build.
smartguy044 said:
yea i actually just finished doing some just waiting on a build to test it on
Click to expand...
Click to collapse
Still can't get a build with aokp 4.2
Sent from my Nexus 7 using xda app-developers app
Well I'm building using smartguy's ramdisk and arco's kernel 3.0, I built using kangbang (the kernel for the DHD) didn't work, so I'm working with arco's source now...
Core2idiot said:
Well I'm building using smartguy's ramdisk and arco's kernel 3.0, I built using kangbang (the kernel for the DHD) didn't work, so I'm working with arco's source now...
Click to expand...
Click to collapse
I built one using Arco's source and Smartguy's RAM Disk. I got it to compile and say Galaxy Exhibit 4G, Further than I have gotten before, but still not booting (because it then goes to a black screen and sits, and after like 15 min it reboots) and still not accessible over adb. Tomorrow I'm going to be mostly busy with other things. But I will try to at least get one build tomorrow if not more. Here is that build that does that. Don't flash directly... As it does not boot.

[Q] [Assistance needed] Acodec.cpp

I know most of you don't expect me starting a thread in the Q&A but I am out of ideas. I googled, searched, duh, but found nothing that could be useful to me.
The problem is that the file attached is giving me an error.
Code:
target thumb C++: libstagefright <= frameworks/base/media/libstagefright/ACodec.cpp
In file included from frameworks/base/media/libstagefright/ACodec.cpp:42:
./vendor/qcom/opensource/omx/mm-core/omxcore/inc/OMX_QCOMExtns.h:846: warning: 'typedef' was ignored in this declaration
frameworks/base/media/libstagefright/ACodec.cpp:176: error: expected primary-expression before 'struct'
frameworks/base/media/libstagefright/ACodec.cpp:176: error: expected ',' or ';' before 'struct'
frameworks/base/media/libstagefright/ACodec.cpp:3041: error: expected '}' at end of input
make: *** [out/target/product/golfu/obj/SHARED_LIBRARIES/libstagefright_intermediates/ACodec.o] Error 1
I tried editing it in several ways for about 2 hours but it doesn't work.
I would really appreciate if someone would either link me to a working one/tell me where the error is/fix it and point out the error.
Im curious as to what causes the error.
Thanks :3
which rom are you building?
best if you do a repo sync
cybojenix said:
which rom are you building?
best if you do a repo sync
Click to expand...
Click to collapse
I am building Cyanogenmod 9.
I tried deleting the frameworks folder, where the error is and then re-repo sync, but to no avail. :T
And yeah, to my surprise I did try repo syncing. o.o
You are missing an } sine the compiler passes by the typedef thing. Also you are misssing an ; but most of the errors are from }. I'll look over the code and I'll chech for the misssing/wrong }.
Sent from my HTC Desire C using xda premium
That's what it says but I reviewed the file and did not find any errors. So any help would be appreciated :3
Bump
I hate reviving a dead thread, but I'm going through the same problem right now, building CM9, and I got the same Acodec.cpp errors. I also checked the file and it was written correctly. I'm not sure how to fix this, and could use some help from the community.
SignOfTheShadow said:
I hate reviving a dead thread, but I'm going through the same problem right now, building CM9, and I got the same Acodec.cpp errors. I also checked the file and it was written correctly. I'm not sure how to fix this, and could use some help from the community.
Click to expand...
Click to collapse
Looks like there was something missing in the struct typedef thing.
Try removing //QCOM_HARDWARE from line #172
bugkillr said:
Can you share the local code snippet on pastebin? Looks like there was something missing in the struct typedef thing.
Click to expand...
Click to collapse
I can't access PasteBin from work (they consider the text there to be "Personal Storage & Backup"), so the file in it's entirety is attached after pasting into a .txt file.
This is Line 176, mentioned in the error code, with 5 lines before and after:
Code:
#endif
#endif //QCOM_HARDWARE
////////////////////////////////////////////////////////////////////////////////
struct ACodec::BaseState : public AState {
BaseState(ACodec *codec, const sp<AState> &parentState = NULL);
protected:
enum PortMode {
KEEP_BUFFERS,
and this is line 3041, with 5 before (3041 is the last line):
Code:
LOGV("FlushingOutputState Change state to port settings changed");
mCodec->changeState(mCodec->mOutputPortSettingsChangedState);
}
}
#endif
} // namespace android
I'm totally lost as far as this file goes. I'm no good with C++... Thank you for taking an interest, I really do appreciate it. I messaged Nick Bacon (OP) and he gave me some suggestions, but nothing really panned out.
I removed "//QCOM_HARDWARE" from line 172 and am brunching as we speak. I'll edit with the results in a few.
EDIT: No good. Same error.
2nd EDIT: I added a ";" and two carriage returns before "struct" on line 176, and that seemed to just give me more errors:
Code:
target thumb C++: libstagefright <= frameworks/base/media/libstagefright/ACodec.cpp
In file included from frameworks/base/media/libstagefright/ACodec.cpp:42:
./vendor/qcom/opensource/omx/mm-core/omxcore/inc/OMX_QCOMExtns.h:846: warning: 'typedef' was ignored in this declaration
frameworks/base/media/libstagefright/ACodec.cpp:176: error: expected primary-expression before ';' token
frameworks/base/media/libstagefright/ACodec.cpp: In member function 'android::status_t android::ACodec::allocateOutputBuffersFromNativeWindow()':
frameworks/base/media/libstagefright/ACodec.cpp:537: warning: enumeral mismatch in conditional expression: '<anonymous enum>' vs 'OMX_COLOR_FORMATTYPE'
frameworks/base/media/libstagefright/ACodec.cpp: In member function 'void android::ACodec::sendFormatChange()':
frameworks/base/media/libstagefright/ACodec.cpp:1386: warning: enumeral mismatch in conditional expression: '<anonymous enum>' vs 'OMX_COLOR_FORMATTYPE'
make: *** [out/target/product/l35g/obj/SHARED_LIBRARIES/libstagefright_intermediates/ACodec.o] Error 1
SignOfTheShadow said:
I removed "//QCOM_HARDWARE" from line 172 and am brunching as we speak. I'll edit with the results in a few.
EDIT: No good. Same error.
2nd EDIT: I added a ";" and two carriage returns before "struct" on line 176, and that seemed to just give me more errors:
Code:
target thumb C++: libstagefright <= frameworks/base/media/libstagefright/ACodec.cpp
In file included from frameworks/base/media/libstagefright/ACodec.cpp:42:
./vendor/qcom/opensource/omx/mm-core/omxcore/inc/OMX_QCOMExtns.h:846: warning: 'typedef' was ignored in this declaration
frameworks/base/media/libstagefright/ACodec.cpp:176: error: expected primary-expression before ';' token
frameworks/base/media/libstagefright/ACodec.cpp: In member function 'android::status_t android::ACodec::allocateOutputBuffersFromNativeWindow()':
frameworks/base/media/libstagefright/ACodec.cpp:537: warning: enumeral mismatch in conditional expression: '<anonymous enum>' vs 'OMX_COLOR_FORMATTYPE'
frameworks/base/media/libstagefright/ACodec.cpp: In member function 'void android::ACodec::sendFormatChange()':
frameworks/base/media/libstagefright/ACodec.cpp:1386: warning: enumeral mismatch in conditional expression: '<anonymous enum>' vs 'OMX_COLOR_FORMATTYPE'
make: *** [out/target/product/l35g/obj/SHARED_LIBRARIES/libstagefright_intermediates/ACodec.o] Error 1
Click to expand...
Click to collapse
Well, I don't even have the libraries used in this code and its a large piece of code. So what I can suggest you is setting breakpoints and debugging in Eclipse or a good IDE. OR alternatively you can use gdb or valgrind to see extended flaws in the code. Because just rectifying the bugs in the code would definitely solve the issue.
bugkillr said:
Well, I don't even have the libraries used in this code and its a large piece of code. So what I can suggest you is setting breakpoints and debugging in Eclipse or a good IDE. OR alternatively you can use gdb or valgrind to see extended flaws in the code. Because just rectifying the bugs in the code would definitely solve the issue.
Click to expand...
Click to collapse
I ended up adding:
Code:
{};
to line 175 of the original file. It worked. Thanks for helping.
Are u saying u successfully built cm9??
Sent from my HTC Desire C using xda app-developers app
SignOfTheShadow said:
I ended up adding:
Code:
{};
to line 175 of the original file. It worked. Thanks for helping.
Click to expand...
Click to collapse
Never knew that would fix it! Congratulations btw.
This is very useful. Thanks for the solve. Gonna spam some thanks and request this thread to be closed.

[Q] build failing with custom kernel

So recently i have been trying my hands on building rom from source.
i tried with cm12, which builds well with the stock cm kernel source..
then i took a step further to try to add a custom kernel to my rom source
i am using ElementalX kernel's source..
but i am getting build failure with the following error:
Code:
../../../../../../kernel/lge/ElementalX/kernel/auditsc.c: In function 'audit_filter_inodes':
../../../../../../kernel/lge/ElementalX/kernel/auditsc.c:927:23: warning: 'state' may be used uninitialized in this function [-Wmaybe-uninitialized]
error, forbidden warning: auditsc.c:927
make[3]: *** [kernel/auditsc.o] Error 1
make[3]: *** Waiting for unfinished jobs....
make[2]: *** [kernel] Error 2
make[1]: *** [sub-make] Error 2
make[1]: Leaving directory `/home/pratyush/android/kernel/lge/ElementalX'
make: *** [TARGET_KERNEL_BINARIES] Error 2
i have added this in manifest as the repo link:
Code:
<project name="flar2/ElementalX-N5" path="kernel/lge/ElementalX" remote="github" revision="ElementalX-2.00" />
and modified the boardconfig.mk as this:
Code:
# Define kernel config for inline building
TARGET_KERNEL_CONFIG := hammerhead_defconfig
TARGET_KERNEL_SOURCE := kernel/lge/ElementalX
any help is appreciated.. thanks. :fingers-crossed:
wrick17 said:
and modified the boardconfig.mk as this:
Code:
# Define kernel config for inline building
TARGET_KERNEL_CONFIG := hammerhead_defconfig
TARGET_KERNEL_SOURCE := kernel/lge/ElementalX
Click to expand...
Click to collapse
Use elementalx_defconfig instead.
Lethargy said:
Use elementalx_defconfig instead.
Click to expand...
Click to collapse
that worked pretty well though.. but now it got stuck at this...
Code:
target thumb C++: gralloc.msm8974 <= hardware/qcom/display/msm8974/libgralloc/mapper.cpp
target thumb C++: libmemalloc <= hardware/qcom/display/msm8974/libgralloc/ionalloc.cpp
target thumb C++: libmemalloc <= hardware/qcom/display/msm8974/libgralloc/alloc_controller.cpp
target thumb C++: libqdutils <= hardware/qcom/display/msm8974/libqdutils/profiler.cpp
target thumb C++: libqdutils <= hardware/qcom/display/msm8974/libqdutils/mdp_version.cpp
target thumb C++: libqdutils <= hardware/qcom/display/msm8974/libqdutils/idle_invalidator.cpp
target thumb C++: libqdutils <= hardware/qcom/display/msm8974/libqdutils/comptype.cpp
target thumb C++: hwcomposer.msm8974 <= hardware/qcom/display/msm8974/libhwcomposer/hwc.cpp
target thumb C++: hwcomposer.msm8974 <= hardware/qcom/display/msm8974/libhwcomposer/hwc_utils.cpp
hardware/qcom/display/msm8974/libgralloc/ionalloc.cpp: In member function 'virtual int gralloc::IonAlloc::alloc_buffer(gralloc::alloc_data&)':
hardware/qcom/display/msm8974/libgralloc/ionalloc.cpp:76:18: error: 'struct ion_allocation_data' has no member named 'heap_id_mask'
ionAllocData.heap_id_mask = data.flags & ~ION_SECURE;
^
make: *** [/home/pratyush/android/out/target/product/hammerhead/obj/SHARED_LIBRARIES/libmemalloc_intermediates/ionalloc.o] Error 1
make: *** Waiting for unfinished jobs....
tried to search for but got no clue nowhere..
wrick17 said:
that worked pretty well though.. but now it got stuck at this...
Code:
target thumb C++: gralloc.msm8974 <= hardware/qcom/display/msm8974/libgralloc/mapper.cpp
target thumb C++: libmemalloc <= hardware/qcom/display/msm8974/libgralloc/ionalloc.cpp
target thumb C++: libmemalloc <= hardware/qcom/display/msm8974/libgralloc/alloc_controller.cpp
target thumb C++: libqdutils <= hardware/qcom/display/msm8974/libqdutils/profiler.cpp
target thumb C++: libqdutils <= hardware/qcom/display/msm8974/libqdutils/mdp_version.cpp
target thumb C++: libqdutils <= hardware/qcom/display/msm8974/libqdutils/idle_invalidator.cpp
target thumb C++: libqdutils <= hardware/qcom/display/msm8974/libqdutils/comptype.cpp
target thumb C++: hwcomposer.msm8974 <= hardware/qcom/display/msm8974/libhwcomposer/hwc.cpp
target thumb C++: hwcomposer.msm8974 <= hardware/qcom/display/msm8974/libhwcomposer/hwc_utils.cpp
hardware/qcom/display/msm8974/libgralloc/ionalloc.cpp: In member function 'virtual int gralloc::IonAlloc::alloc_buffer(gralloc::alloc_data&)':
hardware/qcom/display/msm8974/libgralloc/ionalloc.cpp:76:18: error: 'struct ion_allocation_data' has no member named 'heap_id_mask'
ionAllocData.heap_id_mask = data.flags & ~ION_SECURE;
^
make: *** [/home/pratyush/android/out/target/product/hammerhead/obj/SHARED_LIBRARIES/libmemalloc_intermediates/ionalloc.o] Error 1
make: *** Waiting for unfinished jobs....
tried to search for but got no clue nowhere..
Click to expand...
Click to collapse
Have you tried cleaning build directory and/or running a repo sync?
Lethargy said:
Have you tried cleaning build directory and/or running a repo sync?
Click to expand...
Click to collapse
Yep, both.. But i get this whenever i use elementalx source..
wrick17 said:
Yep, both.. But i get this whenever i use elementalx source..
Click to expand...
Click to collapse
Some sort of conflict then, not sure.
U need to make sure u are using the correct kernel branch, elementalX has multiple branches, some caf, some not, if ur building cm, u need a caf kernel or build will fail, make sure ur on the right branch, or give me a copy of the error and I can help
soupysoup said:
U need to make sure u are using the correct kernel branch, elementalX has multiple branches, some caf, some not, if ur building cm, u need a caf kernel or build will fail, make sure ur on the right branch, or give me a copy of the error and I can help
Click to expand...
Click to collapse
Yeah sure, I'll try to build again. When it fails again, I'll post u the logs. Still can u give a quick headsup on which which branch should i use?
same issue here...
Code:
hardware/qcom/display/msm8974/libgralloc/ionalloc.cpp: In member function 'virtual int gralloc::IonAlloc::alloc_buffer(gralloc::alloc_data&)':
hardware/qcom/display/msm8974/libgralloc/ionalloc.cpp:76:18: error: 'struct ion_allocation_data' has no member named 'heap_id_mask'
ionAllocData.heap_id_mask = data.flags & ~ION_SECURE;
^
any hint? trying to build lp5.1 from https://github.com/SlimRoms repo
thank you
What cross compiler are you using? I seem to recall an error like this using the AOSP cross compiler (used to build the rest of AOSP). I pulled a toolchain from google and it worked fine:
Code:
git clone https://android.googlesource.com/platform/prebuilts/gcc/linux-x86/arm/arm-eabi-4.6
Gene Poole said:
What cross compiler are you using? I seem to recall an error like this using the AOSP cross compiler (used to build the rest of AOSP). I pulled a toolchain from google and it worked fine:
Code:
git clone https://android.googlesource.com/platform/prebuilts/gcc/linux-x86/arm/arm-eabi-4.6
Click to expand...
Click to collapse
where do i place it? The repo?
You can place it anywhere. I put it in /usr/src/ where all my other source code resides. Most guides I've seen place them somewhere off the users' home directory but this never made sense to me unless you were on a machine you didn't administer.
Where ever you put it, just export it as a path variable for your kernel compile (I'm assuming the toolchain is in /usr/src/arm-eabi-4.6/ and the kernel is /usr/src/aosp5.1/msm/ and you are root in this case):
Code:
cd /usr/src/aosp5.1/msm/
export ARCH="arm"
export SUBARCH="arm"
export CROSS_COMPILE=arm-eabi-
export PATH=$PATH:/usr/src/arm-eabi-4.6/bin
make -j10
Elementalx uses an optimized toolchain. Google's toolchains don't work to compile this kernel. Use this toolchain instead. Never had any problems with it:
http://forum.xda-developers.com/showthread.php?t=2098133
wrick17 said:
where do i place it? The repo?
Click to expand...
Click to collapse
Are u trying to build CAF or AOSP version?
JoaoPaulo said:
Are u trying to build CAF or AOSP version?
Click to expand...
Click to collapse
CAF. CM12.
wrick17 said:
CAF. CM12.
Click to expand...
Click to collapse
Try to get some different kernel source elementalx is not CAF.
But you can try rename that line of code from:
Code:
ionAllocData.heap_id_mask = data.flags & ~ION_SECURE;
to
Code:
ionAllocData.heap_mask = data.flags & ~ION_SECURE;
Say something then
JoaoPaulo said:
Try to get some different kernel source elementalx is not CAF.
But you can try rename that line of code from:
Code:
ionAllocData.heap_id_mask = data.flags & ~ION_SECURE;
to
Code:
ionAllocData.heap_mask = data.flags & ~ION_SECURE;
Say something then
Click to expand...
Click to collapse
Oki. Cool. Will try and let u know. Currently i m a bit busy with other things. Will do it and let u guys know.
JoaoPaulo said:
Try to get some different kernel source elementalx is not CAF.
But you can try rename that line of code from:
Code:
ionAllocData.heap_id_mask = data.flags & ~ION_SECURE;
to
Code:
ionAllocData.heap_mask = data.flags & ~ION_SECURE;
Say something then
Click to expand...
Click to collapse
ElementalX does have a CM compatible source, just switch branches and make sure u change roomservice.py to allow building with a custom kernel, if u wanna pm me I can help
@wrick17 I am having the same issue. Did you find a solution?
This is for CM non-CAF version.
zymphad said:
@wrick17 I am having the same issue. Did you find a solution?
This is for CM non-CAF version.
Click to expand...
Click to collapse
Sorry mate, I haven't actually got it working after that. And now I am actually short of space on my disk that i can't even try to build it. Maybe somewhere down in future i'll try again. Till then i'm yet to try. Please update us if you find any solution..

[Q] Building Kernel Issue -- toolchain

Hi,
I'm attempting to build the Nexus 6 kernel from the msm source code ([android.googlesource.com/kernel/msm.git). I switch into the correct branch (msm-shamu-3.10-lollipop-release), create the shamu_defconfig, and then execute make with the make ARCH=arm SUBARCH=arm CROSS_COMPILE=arm-eabi- command. I keep getting a variety of errors, some of which I've been able to fix. I believe these errors could be due to the fact I'm using the wrong toolchain. I've tried to build with the following toolchains: arm-eabi-4.6, arm-eabi-4.8, arm-linux-androideabi-4.8, and arm-linux-androideabi-4.9. Those last two were from the android source tree. What toolchain do you all use to build the kernel source?
Details:
Phone: Nexus 6, Android 5.0.1, Kernel 3.10.40-g72dfced, Build LRX22C
Development Env.: Ubuntu 14.04 x64 (on a VmWare VM)
Below is the error I'm currently stuck at. I feel like the real problem is just that I'm using the wrong toolchain rather than me keep modifying the source code that I imagine should be up to date and working):
drivers/net/wireless/bcmdhd/wl_cfg80211.h:818:20: error: 'struct cfg80211_scan_request' has no member named 'dev'
(cfg->scan_request->dev == cfg->p2p_net)) ? true : false)
^
drivers/net/wireless/bcmdhd/wl_cfg80211.c:10184:9: note: in expansion of macro 'scan_req_match'
if (!scan_req_match(cfg)) {
^
drivers/net/wireless/bcmdhd/wl_cfg80211.c: In function 'wl_cfg80211_scan_stop':
drivers/net/wireless/bcmdhd/wl_cfg80211.c:12651:44: error: 'struct cfg80211_scan_request' has no member named 'dev'
if (cfg->scan_request && cfg->scan_request->dev == cfgdev) {
^
make[4]: *** [drivers/net/wireless/bcmdhd/wl_cfg80211.o] Error 1
make[3]: *** [drivers/net/wireless/bcmdhd] Error 2
make[2]: *** [drivers/net/wireless] Error 2
make[1]: *** [drivers/net] Error 2
make: *** [drivers] Error 2

[REFERENCE] OnePlus 6 kernel source with linux-stable (4.9.135)

Introduction
Hello everyone, this is a thread to introduce both users and kernel developers to the concept of linux-stable as well as give developers some tips and a tree to either merge into their own, use as a base, or just as a reference. Feel free to ask questions and enjoy!
What is it?
linux-stable is, as the name implies, the stable branch of the Linux kernel, the base of Android. The phone could not run without the Linux kernel (at least not without reworking a lot of stuff). The Android kernels are based on the longterm stable trees:
Longterm
There are usually several "longterm maintenance" kernel releases provided for the purposes of backporting bugfixes for older kernel trees. Only important bugfixes are applied to such kernels and they don't usually see very frequent releases, especially for older trees.
Click to expand...
Click to collapse
Source: https://www.kernel.org/category/releases.html
All Linux development happens on the master branch, which is governed by Linus Torvalds. When issues are discovered there, the fixes are applied then backported to these various stable trees for consumption. It is not uncommon for a fix to need to go back a few years.
There is a LOT more information available in the notes repo in the android-linux-stable organization if you care to learn more in-depth: https://github.com/android-linux-stable/notes
What does this mean for me?
If you are a developer, this means you should be merging these changes into your own tree. These are vetted, stable fixes to real world problems and they are being handed out for free. It does not take long to get up to date (as you can just merge this tree directly into your own or do it yourself using the tree as a reference) and once you are up to date, there is usually a release once every two weeks, give or take. I provide a rebuttal to a lot of various complaints here. If you still feel like there is a good reason not to do this, please let me know, I'll be happy to try and debate on it!
If you are a user, it means that you should be looking for and using kernels that have these fixes, as it shows the developers care for your security and stability. The current version for this device is 4.9.65 on OxygenOS 5.x and 4.9.106 on OxygenOS 9.0/Open Beta while the current version upstream is 4.9.135 so all you need to do is go into Settings > About phone and look at the kernel version to know if you are up to date.
How do I use?
If you are a developer, the reference tree is located in the android-linux-stable organization: https://github.com/android-linux-stable/op6
This can either be merged into your existing kernel tree if you have one or be used as a fresh base. You do not need my permission to use it nor do you need to give me credit (although it would be appreciated).
If you are a user, use a kernel that has the changes added in!
Getting notified about updates
There are a few ways to get notified of linux-stable updates:
The linux-kernel-announce mailing list: http://vger.kernel.org/vger-lists.html#linux-kernel-announce
The android-linux-stable Telegram channel: https://t.me/alsupdates
Subscribe to this thread
Follow me on Google+ or Twitter
Getting help
If you have any issues with getting these changes into your tree or want to ask a question, there are a few different ways to do it:
Post in this thread
Join the linux-stable support chat on Telegram: https://t.me/joinchat/C1UAJ1EMSX31PCFdwLnOSg
File an issue either in the android-linux-stable notes repo or the android-linux-stable repo for this device
When requesting help, please give some solid details as to what you are struggling with, as I am happy to provide assistant and clarity but not to do something for you (unless I screwed up).
God damn ! You here ! I'm feeling lucky ! Nexus 6P, Oneplus 5 and now Oneplus 6 damn :')
Thanks for your hard work !
Yea boiii
Imma flashing it rn <3
Thanks
Thank you @nathanchance for your efforts. Much needed for the new 4.9 kernel.
Nice one man!!
Sent from my OnePlus6 using XDA Labs
Who got 1 star ? really ?
btw, @nathanchance you have 5 star from me, good work ,and it is nice to see you here.
As always, good job with informing users , waiting for your kernel
Thanks a lot! :good:
marko94 said:
Who got 1 star ? really ?
btw, @nathanchance you have 5 star from me, good work ,and it is nice to see you here.
As always, good job with informing users , waiting for your kernel
Click to expand...
Click to collapse
Ratings mean absolutely nothing and I feel sorry for anyone who puts any stock in them but thanks
My kernel should be out tonight.
Hey, can you explain me we can install upper kernel version on the last firmware? And how to do it if we can?
Thank and good thread!
Devices : OnePlus 6
4.9.108 has been merged in.
black_file said:
Hey, can you explain me we can install upper kernel version on the last firmware? And how to do it if we can?
Thank and good thread!
Devices : OnePlus 6
Click to expand...
Click to collapse
Flash a kernel that has these changes. At this moment, I am the only one who has done so: https://forum.xda-developers.com/oneplus-6/development/op6-flash-kernel-1-00-t3801652
4.9.109 has been merged in.
Could you please provide instructions on how to flash a kernel?
Earlier, I could just extract the boot.img file from one of the ROM images and then extract+repackage with my built Image.gz-dtb using mkbootimg.
The newer Android ROMs seem to only contain a package.bin file instead.
phenoxis said:
Could you please provide instructions on how to flash a kernel?
Earlier, I could just extract the boot.img file from one of the ROM images and then extract+repackage with my built Image.gz-dtb using mkbootimg.
The newer Android ROMs seem to only contain a package.bin file instead.
Click to expand...
Click to collapse
Easiest way is to temporarily boot TWRP on stock then run
Code:
adb shell dd if=/dev/block/bootdevice/by-name/boot$(getprop ro.boot.slot_suffix) of=/tmp/boot.img
adb pull /tmp/boot.img .
then just unpack like you have before.
Sent from my Pixel 2 XL using XDA Labs
nathanchance said:
Easiest way is to temporarily boot TWRP on stock then run
Code:
adb shell dd if=/dev/block/bootdevice/by-name/boot$(getprop ro.boot.slot_suffix) of=/tmp/boot.img
adb pull /tmp/boot.img .
then just unpack like you have before.
Click to expand...
Click to collapse
I followed your advice with both the original OnePlus 6 kernel source and your android-linux-stable repo. I was able to build the kernel, repack it and flash it, but with both repos, the device is sitting with the bootanimation for about half hour or so. Do both repositories need additional work before it can boot?
I packaged boot.img with the following command:
Code:
mkbootimg --base 0 --pagesize 4096 --kernel_offset 0x00008000 --ramdisk_offset 0x01000000
--second_offset 0x00f00000 --tags_offset 0x00000100
--cmdline 'androidboot.hardware=qcom androidboot.console=ttyMSM0 video=vfb:640x400,bpp=32,memsize=3072000
msm_rtb.filter=0x237 ehci-hcd.park=3 lpm_levels.sleep_disabled=1 service_locator.enable=1 swiotlb=2048
androidboot.configfs=true androidboot.usbcontroller=a600000.dwc3 buildvariant=user' --kernel kernel --ramdisk ramdisk -o boot_1.img
phenoxis said:
I followed your advice with both the original OnePlus 6 kernel source and your android-linux-stable repo. I was able to build the kernel, repack it and flash it, but with both repos, the device is sitting with the bootanimation for about half hour or so. Do both repositories need additional work before it can boot?
I packaged boot.img with the following command:
Code:
mkbootimg --base 0 --pagesize 4096 --kernel_offset 0x00008000 --ramdisk_offset 0x01000000
--second_offset 0x00f00000 --tags_offset 0x00000100
--cmdline 'androidboot.hardware=qcom androidboot.console=ttyMSM0 video=vfb:640x400,bpp=32,memsize=3072000
msm_rtb.filter=0x237 ehci-hcd.park=3 lpm_levels.sleep_disabled=1 service_locator.enable=1 swiotlb=2048
androidboot.configfs=true androidboot.usbcontroller=a600000.dwc3 buildvariant=user' --kernel kernel --ramdisk ramdisk -o boot_1.img
Click to expand...
Click to collapse
They shouldn't... Did you use Image.gz-dtb as the kernel?
nathanchance said:
They shouldn't... Did you use Image.gz-dtb as the kernel?
Click to expand...
Click to collapse
Yes, I'm certain I did.
My full script is:
Code:
unmkbootimg --kernel kernel --ramdisk ramdisk -i boot.img.bk #This is what I obtained from your dd if=... of=/tmp/boot.img command
cp /android/kernel/opo6-stable/arch/arm64/boot/Image.gz-dtb kernel
mkbootimg --base 0 --pagesize 4096 --kernel_offset 0x00008000 --ramdisk_offset 0x01000000
--second_offset 0x00f00000 --tags_offset 0x00000100
--cmdline 'androidboot.hardware=qcom androidboot.console=ttyMSM0 video=vfb:640x400,bpp=32,memsize=3072000
msm_rtb.filter=0x237 ehci-hcd.park=3 lpm_levels.sleep_disabled=1 service_locator.enable=1 swiotlb=2048
androidboot.configfs=true androidboot.usbcontroller=a600000.dwc3 buildvariant=user'
--kernel kernel --ramdisk ramdisk -o boot_1.img
fastboot flash boot boot_1.img
phenoxis said:
Yes, I'm certain I did.
My full script is:
Code:
unmkbootimg --kernel kernel --ramdisk ramdisk -i boot.img.bk #This is what I obtained from your dd if=... of=/tmp/boot.img command
cp /android/kernel/opo6-stable/arch/arm64/boot/Image.gz-dtb kernel
mkbootimg --base 0 --pagesize 4096 --kernel_offset 0x00008000 --ramdisk_offset 0x01000000
--second_offset 0x00f00000 --tags_offset 0x00000100
--cmdline 'androidboot.hardware=qcom androidboot.console=ttyMSM0 video=vfb:640x400,bpp=32,memsize=3072000
msm_rtb.filter=0x237 ehci-hcd.park=3 lpm_levels.sleep_disabled=1 service_locator.enable=1 swiotlb=2048
androidboot.configfs=true androidboot.usbcontroller=a600000.dwc3 buildvariant=user'
--kernel kernel --ramdisk ramdisk -o boot_1.img
fastboot flash boot boot_1.img
Click to expand...
Click to collapse
Try using this boot image: https://nathanchance.me/downloads/kernels/op6/stock/oos-5.1.8-boot.img
You may also check out Android Image Kitchen too, that's what I used before TWRP.
First, thanks a ton for taking the time to help me out.
I tried unpacking/repacking with your boot.img file, and that didn't work either. However, your boot.img itself works just fine.
I just realized that my build produces a ton of warnings.
Code:
arch/arm64/boot/dts/qcom/enchilada-evb-overlay.dtbo: Warning (reg_format): "reg" property in /[email protected]/__overlay__/qcom,[email protected] has invalid length (8 bytes) (#address-cells == 2, #size-cells == 1)
arch/arm64/boot/dts/qcom/enchilada-evb-overlay.dtbo: Warning (reg_format): "reg" property in /[email protected]/__overlay__/qcom,[email protected] has invalid length (8 bytes) (#address-cells == 2, #size-cells == 1)
arch/arm64/boot/dts/qcom/enchilada-evb-overlay.dtbo: Warning (reg_format): "reg" property in /[email protected]/__overlay__/qcom,[email protected] has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
arch/arm64/boot/dts/qcom/enchilada-evb-overlay.dtbo: Warning (reg_format): "reg" property in /[email protected]/__overlay__/qcom,[email protected] has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
arch/arm64/boot/dts/qcom/enchilada-evb-overlay.dtbo: Warning (reg_format): "reg" property in /[email protected]/__overlay__/[email protected] has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
arch/arm64/boot/dts/qcom/enchilada-evb-overlay.dtbo: Warning (reg_format): "reg" property in /[email protected]/__overlay__/[email protected] has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
...
This is probably why my kernels are failing to boot. I'm essentially following the instructions you laid out on the github issue for this kernel.
Code:
export ARCH=arm64
export CROSS_COMPILE=/android/projects/cross-compile/aarch64-linux-android-4.9/bin/aarch64-linux-android-
make O=out sdm845-perf_defconfig
./scripts/config --file ./out/.config -e BUILD_ARM64_DT_OVERLAY
make O=out olddefconfig
make O=out DTC_EXT=dtc -j16
Following the comments in that issue, I'm running archlinux with the following software versions:
gcc
Code:
[email protected]:/android/kernel/opo6-stable$ gcc --version
gcc (GCC) 8.1.1 20180531
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
dtc
Code:
[email protected]:/android/kernel/opo6-stable$ dtc --version
Version: DTC 1.4.6
phenoxis said:
First, thanks a ton for taking the time to help me out.
I tried unpacking/repacking with your boot.img file, and that didn't work either. However, your boot.img itself works just fine.
I just realized that my build produces a ton of warnings.
Code:
arch/arm64/boot/dts/qcom/enchilada-evb-overlay.dtbo: Warning (reg_format): "reg" property in /[email protected]/__overlay__/qcom,[email protected] has invalid length (8 bytes) (#address-cells == 2, #size-cells == 1)
arch/arm64/boot/dts/qcom/enchilada-evb-overlay.dtbo: Warning (reg_format): "reg" property in /[email protected]/__overlay__/qcom,[email protected] has invalid length (8 bytes) (#address-cells == 2, #size-cells == 1)
arch/arm64/boot/dts/qcom/enchilada-evb-overlay.dtbo: Warning (reg_format): "reg" property in /[email protected]/__overlay__/qcom,[email protected] has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
arch/arm64/boot/dts/qcom/enchilada-evb-overlay.dtbo: Warning (reg_format): "reg" property in /[email protected]/__overlay__/qcom,[email protected] has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
arch/arm64/boot/dts/qcom/enchilada-evb-overlay.dtbo: Warning (reg_format): "reg" property in /[email protected]/__overlay__/[email protected] has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
arch/arm64/boot/dts/qcom/enchilada-evb-overlay.dtbo: Warning (reg_format): "reg" property in /[email protected]/__overlay__/[email protected] has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
...
This is probably why my kernels are failing to boot. I'm essentially following the instructions you laid out on the github issue for this kernel.
Code:
export ARCH=arm64
export CROSS_COMPILE=/android/projects/cross-compile/aarch64-linux-android-4.9/bin/aarch64-linux-android-
make O=out sdm845-perf_defconfig
./scripts/config --file ./out/.config -e BUILD_ARM64_DT_OVERLAY
make O=out olddefconfig
make O=out DTC_EXT=dtc -j16
Following the comments in that issue, I'm running archlinux with the following software versions:
gcc
Code:
[email protected]:/android/kernel/opo6-stable$ gcc --version
gcc (GCC) 8.1.1 20180531
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
dtc
Code:
[email protected]:/android/kernel/opo6-stable$ dtc --version
Version: DTC 1.4.6
Click to expand...
Click to collapse
That's normal, I've hidden all of the warnings.
https://github.com/nathanchance/op6/commits/1d0f0ea36c0814efa36ef8b5c0c1ad9cb74cfe81
Those were the commits I used for my first boot. There is nothing in there that should be necessary to boot, just to make certain things work.
4.9.110 has been merged in.

Categories

Resources