Having an issue building cyanogenmod 13.0 - Nexus 6 Q&A, Help & Troubleshooting

Hey guys,
I'm having an issue when building cyanogenmod 13.0. It gets to about 20 min into the build, then fails with this error:
Code:
ERROR: /home/edwin/phonelab/cm-shamu/frameworks/opt/hardware/src/org/cyanogenmod/hardware/PictureAdjustment.java:22: The import cyanogenmod.hardware.HSIC cannot be resolved
ERROR: /home/edwin/phonelab/cm-shamu/frameworks/opt/hardware/src/org/cyanogenmod/hardware/PictureAdjustment.java:46: HSIC cannot be resolved to a type
ERROR: /home/edwin/phonelab/cm-shamu/frameworks/opt/hardware/src/org/cyanogenmod/hardware/PictureAdjustment.java:57: HSIC cannot be resolved to a type
make: *** [/home/edwin/phonelab/cm-shamu/out/target/common/obj/JAVA_LIBRARIES/org.cyanogenmod.hardware_intermediates/with-local/classes.dex] Error 41
if anyone can point me in the right direction to get this straightened out I'd be appreciative.

saintsantos said:
/PictureAdjustment.java:22: The import cyanogenmod.hardware.HSIC cannot be resolved
ERROR: /home/edwin/phonelab/cm-shamu/frameworks/opt/hardware/src/org/cyanogenmod/hardware/PictureAdjustment.java:46: HSIC cannot be resolved to a type.
Click to expand...
Click to collapse
I am building CM-13.0 for LG G4 H811 and found the same problem. It's due to
Change 153678 - cmhw: Add PictureAdjustment stubs
which was just merged this morning. This is the sort of glaring bug that will be found and corrected quickly. Sometimes I wonder whether some folks actually build their code before merging it.
Edit to add:
14:00 EDT - I checked the change comments and the senior devs are aware of the problem and are working on it.

It was reverted about 20 minutes ago. You can either repo sync again, or cd to frameworks_opt_hardware and git revert a8ef044be1eb70c0f8a17f0c40d4c5c08bf71593
http://review.cyanogenmod.org/#/c/153678/

saintsantos said:
Hey guys,
I'm having an issue when building cyanogenmod 13.0. It gets to about 20 min into the build, then fails with this error:
Code:
ERROR: /home/edwin/phonelab/cm-shamu/frameworks/opt/hardware/src/org/cyanogenmod/hardware/PictureAdjustment.java:22: The import cyanogenmod.hardware.HSIC cannot be resolved
ERROR: /home/edwin/phonelab/cm-shamu/frameworks/opt/hardware/src/org/cyanogenmod/hardware/PictureAdjustment.java:46: HSIC cannot be resolved to a type
ERROR: /home/edwin/phonelab/cm-shamu/frameworks/opt/hardware/src/org/cyanogenmod/hardware/PictureAdjustment.java:57: HSIC cannot be resolved to a type
make: *** [/home/edwin/phonelab/cm-shamu/out/target/common/obj/JAVA_LIBRARIES/org.cyanogenmod.hardware_intermediates/with-local/classes.dex] Error 41
if anyone can point me in the right direction to get this straightened out I'd be appreciative.
Click to expand...
Click to collapse
Same issue here when building for jem (the Amazon Kindle Fire HD 8.9"). I'm going to run repo sync and rebuild as suggested in post #3.

Neo said:
It was reverted about 20 minutes ago. You can either repo sync again, or cd to frameworks_opt_hardware and git revert a8ef044be1eb70c0f8a17f0c40d4c5c08bf71593
http://review.cyanogenmod.org/#/c/153678/
Click to expand...
Click to collapse
Thanks. I reverted the commit in my repo anyway, but I'm just glad it was caught and handled.

Related

Make errors...Error 41

Hey there, I'm compiling the android source with a couple of mods merged in from cyanogenmod and leonnib4. I was getting a few random errors, but they went away with simple fixes...Now, I'm getting a new error, and I can't seem to wrap my head around it. It happens almost right out of the gate...every time I type make...
EDIT: New error 41. I seemed to have fixed the old error 1 by removing the previous build from out/target/product/passion, as the error pointed to the obj folder. Everything went smooth until the camera, and now I have a new error. I'm trying to merge in CyanogenMod camera source (for 720p), and I think that's the problem. Could it be something in the framework? I'm lost.
I have set up my build env on a MacBook Pro running OS X 10.5.8 with all the proper tools installed as per the AOSP site's instructions. I have run the envsetup script, and chosen the passion lunch option (yum )...
Anyway, here's the error:
Code:
81 errors
make: *** [out/target/common/obj/APPS/Camera_intermediates/classes-full-debug.jar] Error 41
The full scenario on pastebin: http://pastebin.com/8359mktC
Does anyone have any idea what's going on?
ik this is really old but what did u do to fix this? having the same error compiling cm9

dell kernel source ?

i am trying to compile kernel src from dell with android ndk. i got this error
SYMLINK include/asm -> include/asm-arm
CC kernel/bounds.s
cc1: error: unrecognized command line option "-mlittle-endian"
cc1: error: unrecognized command line option "-mapcs"
cc1: error: unrecognized command line option "-mno-sched-prolog"
cc1: error: unrecognized command line option "-mabi=apcs-gnu"
kernel/bounds.c:1: error: bad value (armv5t) for -march= switch
kernel/bounds.c:1: error: bad value (armv5t) for -mtune= switch
make[1]: *** [kernel/bounds.s] Error 1
make: *** [prepare0] Error 2
where can i find nvidia src from how_to_build.txt ?
thanks
mashi said:
i am trying to compile kernel src from dell with android ndk. i got this error
SYMLINK include/asm -> include/asm-arm
CC kernel/bounds.s
cc1: error: unrecognized command line option "-mlittle-endian"
cc1: error: unrecognized command line option "-mapcs"
cc1: error: unrecognized command line option "-mno-sched-prolog"
cc1: error: unrecognized command line option "-mabi=apcs-gnu"
kernel/bounds.c:1: error: bad value (armv5t) for -march= switch
kernel/bounds.c:1: error: bad value (armv5t) for -mtune= switch
make[1]: *** [kernel/bounds.s] Error 1
make: *** [prepare0] Error 2
where can i find nvidia src from how_to_build.txt ?
thanks
Click to expand...
Click to collapse
I told you the other day how to fix that stuff... You're not specifying the cross compiler to use.
export PATH=$PATH:/media3/android/ds7/dev/arm-2010q1/bin
export CROSS_COMPILE=arm-none-linux-gnueabi-
export ARCH=arm
Using CodeSorcery. If you're using something else, substitute, and of course update the path.
As for the nvidia source.. I never did find 2.6.32.9 from nvidia, but I did find this..
http://developer.nvidia.com/tegra/forum/build-android-source-tegra-250
From which I was able to grab it. Then I ran into this:
http://developer.nvidia.com/tegra/forum/linux-kernel-compilation-error-when-building-confignfsfsm
In the end, either source of the kernel I used, one gave me that the symbol map didn't match (using Dell source 3.36) and the other I kept getting the outer_cache symbol missing (from the nvidia source).
I suspect that it's just a matter of setting up the kernel correctly. I'm using /proc/config.gz but I googled around a bit and some folks here on XDA building a kernel on a phone were saying they had to add some extra parameters given to them by Samsung before being able to successfully build a module that would work for their phone.
Hopefully one of us figures it out... You want CIFS, I want TUN.
echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin:/home/alan/android-ndk-r5c/toolchains/arm-eabi-4.4.0/prebuilt/linux-x86/bin
echo $CROSS_COMPILER
/home/alan/android-ndk-r5c/toolchains/arm-eabi-4.4.0/prebuilt/linux-x86/bin/arm-eabi-
echo $ARCH
arm
I have set all those path before compile the kernel
khaytsus said:
I told you the other day how to fix that stuff... You're not specifying the cross compiler to use.
export PATH=$PATH:/media3/android/ds7/dev/arm-2010q1/bin
export CROSS_COMPILE=arm-none-linux-gnueabi-
export ARCH=arm
Using CodeSorcery. If you're using something else, substitute, and of course update the path.
As for the nvidia source.. I never did find 2.6.32.9 from nvidia, but I did find this..
http://developer.nvidia.com/tegra/forum/build-android-source-tegra-250
From which I was able to grab it. Then I ran into this:
http://developer.nvidia.com/tegra/forum/linux-kernel-compilation-error-when-building-confignfsfsm
In the end, either source of the kernel I used, one gave me that the symbol map didn't match (using Dell source 3.36) and the other I kept getting the outer_cache symbol missing (from the nvidia source).
I suspect that it's just a matter of setting up the kernel correctly. I'm using /proc/config.gz but I googled around a bit and some folks here on XDA building a kernel on a phone were saying they had to add some extra parameters given to them by Samsung before being able to successfully build a module that would work for their phone.
Hopefully one of us figures it out... You want CIFS, I want TUN.
Click to expand...
Click to collapse
I'll be following this thread as I'm trying to figure this out, too (I'm very much a Linux n00b, though, so the progress is incredibly slow). I think the kernel compilation is the main thing holding us back from getting some custom ROMs on here; once the parameters of the build environment are found, we'll probably have an easier time of it (and, good as DJ_Steve is, it would be nice to have a few more devs working this device).
Does this link help at all?
http://opensource.dell.com/releases/streak7/3.36/HOW-TO-BUILD.txt
Z4nd4r said:
I'll be following this thread as I'm trying to figure this out, too (I'm very much a Linux n00b, though, so the progress is incredibly slow). I think the kernel compilation is the main thing holding us back from getting some custom ROMs on here; once the parameters of the build environment are found, we'll probably have an easier time of it (and, good as DJ_Steve is, it would be nice to have a few more devs working this device).
Does this link help at all?
http://opensource.dell.com/releases/streak7/3.36/HOW-TO-BUILD.txt
Click to expand...
Click to collapse
Not really, at least not me.. First off finding nvidia Froyo source was a PITA and I only got it from a clone of the old repo so no tellling there.. Plus the other steps seem to mostly be nonsense, as files don't match up, etc..
Otherwise, I can readily compile the Dell code but the output won't load.. Symbol map does not match; ie: config is different. Maybe even compiler differences.. Dunno.
Im sorry for my noobness, but what would this code actually do for us? Would we then have the ability to compile our own kernels and overclock and whatnot?
ssmr2t said:
Im sorry for my noobness, but what would this code actually do for us? Would we then have the ability to compile our own kernels and overclock and whatnot?
Click to expand...
Click to collapse
Maybe, but I just want tun.ko for now. Still no luck today, switched to Android NDK but still symbol issues.
Sent from my Dell Streak 7 using Tapatalk
If u can catch it compiler version is output through dmesg during bootup I don't have me streak handy or I would check. Compiler version may very well play a roll in modules loading though I have experienced it on x86 anyway
Brandas said:
If u can catch it compiler version is output through dmesg during bootup I don't have me streak handy or I would check. Compiler version may very well play a roll in modules loading though I have experienced it on x86 anyway
Click to expand...
Click to collapse
Good idea, but it doesn't seem to have much info..
<5>[ 0.000000] Linux version 2.6.32.9 ([email protected]) (gcc version 4.4.0 (GCC) ) #8 SMP PREEMPT Mon Mar 28 14:04:54 CST 2011
Thread Resurrection in progress.
I'm going to be adding FTDI VCP support. Figured I'd post here to see what progress others have made... was a little surprised to only find 2 dev pages for this tablet.
Yeah, I've been working on a 2.6.35 kernel myself slowly, but I totally screwed it up and need to start over.
Maybe who try developing kernel should search help in other tegra2 device forums
Sent from my LG-P500 using Tapatalk
nikoltu said:
Maybe who try developing kernel should search help in other tegra2 device forums
Click to expand...
Click to collapse
Any particular forum you have in mind? I did take a look at the somewhat updated Dell Opensource page:
http://opensource.dell.com/releases/streak7/5.06/
But it is definitely aimed at HC, and I don't think it would do much for an ICS build. On the other hand, at least it gives what "appears" to be the source and binaries for the devices (though I'm a little more inclined to use what I was able to pull off the device with ADB).
FWIW...
---------- Post added at 11:52 AM ---------- Previous post was at 11:33 AM ----------
One other link that appears to be of interest:
http://developer.nvidia.com/tegra-resources
Note the releases as of 12/19 of updated Tegra kits
The info from opensource.dell.com is missing a lot of information.

[Q] Kernel compile error

Hey there all
I'm trying to compile a kernel for the GT-I9070P from the default Sammy source (opensource.samsung.com) and I've encountered an error and I hope you guys can help me with this:
Code:
drivers/staging/nmf-cm/cm/engine/dsp/src/dsp.c: In function 'cm_DSP_AcknowledgeDspIrq':
drivers/staging/nmf-cm/cm/engine/dsp/src/dsp.c:315:5: error: variable 'dummy' set but not used [-Werror=unused-but-set-variable]
cc1: all warnings being treated as errors
make[3]: *** [drivers/staging/nmf-cm/cm/engine/dsp/src/dsp.o] Error 1
make[2]: *** [drivers/staging/nmf-cm] Error 2
make[1]: *** [drivers/staging] Error 2
make[1]: *** Waiting for unfinished jobs....
I wonder if any of you guys have encountered these errors.....
Hi.
Dont use GCC 4.5+ to build kernel.
If you still wanna use GCC 4.5+, here is a method:
In your /drivers/staging/nmf-cm/makefile, just delete "Werror".
And build it again.
Recommend using Linaro GCC 4.4.5 or GCC 4.4.3 .
EDIT:
Although you can have a booting kernel, but the phone will reboot immediately when you dial out.
I replacd dsp.c from other source code, and it built with no errors.
The phone still will reboot when dial out.
Hmm....so that means the phone will reboot upon attempting to call someone ?
I give up writing anymore signatures.
CallMeVentus said:
Hmm....so that means the phone will reboot upon attempting to call someone ?
I give up writing anymore signatures.
Click to expand...
Click to collapse
Yep, when some calls come it will reboot, too.
It has no reboot issue with gcc 4.4
BTW,sorry, just now i replied a wrong thread.
cocafe said:
Yep, when some calls come it will reboot, too.
It has no reboot issue with gcc 4.4
BTW,sorry, just now i replied a wrong thread.
Click to expand...
Click to collapse
Nah it's fine , I believe you just saved my ass
I give up writing anymore signatures.
Thread moved to General section.

Error compiling CM13 - ThemesContract.ThemeMixColum ns cannot be resolved

Hi guys, i am tryning to compile CM13 for oneplus3 and after almost 170 minutes the build process fails with:
Code:
/data/home/build/android/system/packages/providers/ThemesProvider/src/org/cyanogenmod/themes/provider/ThemesOpenHelper.java:35: The import cyanogenmod.providers.ThemesContract.ThemeMixColum ns cannot be resolved
ERROR: /data/home/build/android/system/packages/providers/ThemesProvider/src/org/cyanogenmod/themes/provider/ThemesOpenHelper.java:36: The import cyanogenmod.providers.ThemesContract.ThemeMixEntry Columns cannot be resolved
ERROR: /data/home/build/android/system/packages/providers/ThemesProvider/src/org/cyanogenmod/themes/provider/ThemesOpenHelper.java:672: ThemeMixColumns cannot be resolved to a variable
Any ideas ? I have already repo sync several times to see if it would fix but it has not.
https://github.com/CyanogenMod/cm_platform_sdk/commit/c4f27d5b812df3d66c21b4d7ba1d1d216cc0c593 this solved error for me (crDroid 6.0.0)

Lenovo failing to provide working kernel sources that can be compiled for TB-8704F

On the Lenovo website, I have finally found source code for the kernel of the Lenovo Tab 4 8 Plus. I downloaded the source, made defconfig, and enabled KVM in the kernel and then compiled. I got several errors which couldn't be fixed. I wondered if this was the cause of KVM, so I disabled KVM and tried again. Same errors. Strange that the archive containing the sources for the Lenovo Tab 4 10 Plus is much larger than that of the Lenovo Tab 4 8 Plus, which suggests that the Tab 4 8 Plus sources are not complete yet they both have the same SoC. Shame on Lenovo! This is the last time I get a product from them unless things improve. When I went to complain on the forums, I couldn't even start a thread, even though I had logged in and had verified my email, which is why I'm complaining here. They're also violating the GPL. The Tab 4 series were released in 2017 yet only in 2019 has Lenovo started releasing the kernel source code, clearly a GPL violation. I wanted to start learning ROM development and possibly port Android Pie to the Tab 4 8 Plus but because of this I can't. I love my Tab 4 8 Plus and my Ideapad 310 laptop but I think I'm done with Lenovo after this unless things improve.
code_exec said:
Shame on Lenovo! This is the last time I get a product from them unless things improve. When I went to complain on the forums, I couldn't even start a thread, even though I had logged in and had verified my email, which is why I'm complaining here. They're also violating the GPL. The Tab 4 series were released in 2017 yet only in 2019 has Lenovo started releasing the kernel source code, clearly a GPL violation.
Click to expand...
Click to collapse
I completely agree with your opinion on Lenovo. However, cannot confirm the problem with their forum. Also, they would have published the kernel sources much sooner if someone had asked earlier - which doesn't excuse the fact that they should publish the kernels immediately on their own.
I asked for the kernel source for the 10 Plus and the 8 Plus and got both after a longer wait.
code_exec said:
On the Lenovo website, I have finally found source code for the kernel of the Lenovo Tab 4 8 Plus. I downloaded the source, made defconfig, and enabled KVM in the kernel and then compiled. I got several errors which couldn't be fixed. I wondered if this was the cause of KVM, so I disabled KVM and tried again. Same errors. Strange that the archive containing the sources for the Lenovo Tab 4 10 Plus is much larger than that of the Lenovo Tab 4 8 Plus, which suggests that the Tab 4 8 Plus sources are not complete yet they both have the same SoC.
Click to expand...
Click to collapse
This isn't right. Text can be compressed very well. You have to compare the sources after unpacking, the code of the 8 Plus is compressed twice and therefore much smaller. At first view the kernel looks ok. But I didn't compile it, so you can still be right with your error messages, but the size of an archive is not an argument.
To compare two directories I use the tool Meld.
code_exec said:
I wanted to start learning ROM development and possibly port Android Pie to the Tab 4 8 Plus but because of this I can't. I love my Tab 4 8 Plus and my Ideapad 310 laptop but I think I'm done with Lenovo after this unless things improve.
Click to expand...
Click to collapse
I started with rom development for the same reasons as you, only that I have the Tab4 10 Plus. I want to motivate you not to give up at this point. You have actually very good conditions to develop a working rom, because the Tab3 8 Plus has one or more device tree and kernel and you can use my work on the 10 Plus as well.
LumenReaper said:
I started with rom development for the same reasons as you, only that I have the Tab4 10 Plus. I want to motivate you not to give up at this point. You have actually very good conditions to develop a working rom, because the Tab3 8 Plus has one or more device tree and kernel and you can use my work on the 10 Plus as well.
Click to expand...
Click to collapse
Does the 10 Plus kernel work on the 8 Plus though?
code_exec said:
Does the 10 Plus kernel work on the 8 Plus though?
Click to expand...
Click to collapse
Not without adjustments.
The archive of the X704F contains build instructions from Lenovo and a working defconfig.
Compare the defconfig of the 10 Plus with your own. And as already said, compare the sources with Meld. I'm pretty sure you could get a working kernel out of it.
LumenReaper said:
Not without adjustments.
The archive of the X704F contains build instructions from Lenovo and a working defconfig.
Compare the defconfig of the 10 Plus with your own. And as already said, compare the sources with Meld. I'm pretty sure you could get a working kernel out of it.
Click to expand...
Click to collapse
Here's the actual error I get when compiling: https://pastebin.com/mJyei1Y9
code_exec said:
Here's the actual error I get when compiling: https://pastebin.com/mJyei1Y9
Click to expand...
Click to collapse
Can you send me your defconfig please? I will look into it but probably not today.
LumenReaper said:
Can you send me your defconfig please? I will look into it but probably not today.
Click to expand...
Click to collapse
It's just called defconfig and is located in arch/arm64/configs. The MSM ones appear to be for the Snapdragon 430 and not the Snapdragon 625 the Tab 4 8 Plus uses.
code_exec said:
Here's the actual error I get when compiling: https://pastebin.com/mJyei1Y9
Click to expand...
Click to collapse
interestingly, I get a different error:
HTML:
CHK include/config/kernel.release
CHK include/generated/uapi/linux/version.h
CHK include/generated/utsrelease.h
CALL scripts/checksyscalls.sh
CHK include/generated/compile.h
CC arch/arm64/mm/dma-mapping.o
In file included from ./arch/arm64/include/asm/dma-iommu.h:12:0,
from arch/arm64/mm/dma-mapping.c:33:
include/linux/dma-mapping-fast.h:46:15: warning: 'struct dma_iommu_mapping' declared inside parameter list
error, forbidden warning: dma-mapping-fast.h:46
scripts/Makefile.build:257: recipe for target 'arch/arm64/mm/dma-mapping.o' failed
make[1]: *** [arch/arm64/mm/dma-mapping.o] Error 1
Makefile:946: recipe for target 'arch/arm64/mm' failed
make: *** [arch/arm64/mm] Error 2
and using the kernel config extracted from the kernel in build 180906 for the TB-8704X (I don't have the tablet yet):
HTML:
CHK include/config/kernel.release
CHK include/generated/uapi/linux/version.h
CHK include/generated/utsrelease.h
CALL scripts/checksyscalls.sh
CHK include/generated/compile.h
CHK kernel/config_data.h
CC drivers/net/ethernet/msm/rndis_ipa.o
In file included from drivers/net/ethernet/msm/rndis_ipa_trace.h:81:0,
from drivers/net/ethernet/msm/rndis_ipa.c:32:
include/trace/define_trace.h:83:43: fatal error: ./rndis_ipa_trace.h: No such file or directory
#include TRACE_INCLUDE(TRACE_INCLUDE_FILE)
^
compilation terminated.
scripts/Makefile.build:257: recipe for target 'drivers/net/ethernet/msm/rndis_ipa.o' failed
make[4]: *** [drivers/net/ethernet/msm/rndis_ipa.o] Error 1
scripts/Makefile.build:402: recipe for target 'drivers/net/ethernet/msm' failed
make[3]: *** [drivers/net/ethernet/msm] Error 2
scripts/Makefile.build:402: recipe for target 'drivers/net/ethernet' failed
make[2]: *** [drivers/net/ethernet] Error 2
scripts/Makefile.build:402: recipe for target 'drivers/net' failed
make[1]: *** [drivers/net] Error 2
Makefile:946: recipe for target 'drivers' failed
make: *** [drivers] Error 2
I'll play with it some more when I get mine sometime next week and update it and extract the kernel config
I haven't had any luck playing with merging the TB-X704L and TB-8704X sources, still getting the same error.
Edit: I get the same error for the TB-X704L and TB-X704F.
Another edit: did a diff with the Pixel kernel:
HTML:
diff -ur tab48plus/drivers/net/ethernet/msm/rndis_ipa_trace.h msm/drivers/net/ethernet/msm/rndis_ipa_trace.h
--- tab48plus/drivers/net/ethernet/msm/rndis_ipa_trace.h 2017-05-02 05:06:34.000000000 +0100
+++ msm/drivers/net/ethernet/msm/rndis_ipa_trace.h 2019-04-08 13:21:43.806756700 +0100
@@ -77,5 +77,5 @@
/* This part must be outside protection */
#undef TRACE_INCLUDE_PATH
-#define TRACE_INCLUDE_PATH .
+#define TRACE_INCLUDE_PATH ../../drivers/net/ethernet/msm
#include <trace/define_trace.h>
now I've gotten further, there's a lot of these errors
After fixing all the incorrect includes and adding the missing files, I have a kernel image
Edit: https://github.com/Phoenix09/android_kernel_lenovo_tb8704
 @code_exec: you should probably extract the config from your device and try building with this repo, I have no idea if any of the configs in the source are for this tablet.
Phoenix09 said:
interestingly, I get a different error:
HTML:
CHK include/config/kernel.release
CHK include/generated/uapi/linux/version.h
CHK include/generated/utsrelease.h
CALL scripts/checksyscalls.sh
CHK include/generated/compile.h
CC arch/arm64/mm/dma-mapping.o
In file included from ./arch/arm64/include/asm/dma-iommu.h:12:0,
from arch/arm64/mm/dma-mapping.c:33:
include/linux/dma-mapping-fast.h:46:15: warning: 'struct dma_iommu_mapping' declared inside parameter list
error, forbidden warning: dma-mapping-fast.h:46
scripts/Makefile.build:257: recipe for target 'arch/arm64/mm/dma-mapping.o' failed
make[1]: *** [arch/arm64/mm/dma-mapping.o] Error 1
Makefile:946: recipe for target 'arch/arm64/mm' failed
make: *** [arch/arm64/mm] Error 2
and using the kernel config extracted from the kernel in build 180906 for the TB-8704X (I don't have the tablet yet):
HTML:
CHK include/config/kernel.release
CHK include/generated/uapi/linux/version.h
CHK include/generated/utsrelease.h
CALL scripts/checksyscalls.sh
CHK include/generated/compile.h
CHK kernel/config_data.h
CC drivers/net/ethernet/msm/rndis_ipa.o
In file included from drivers/net/ethernet/msm/rndis_ipa_trace.h:81:0,
from drivers/net/ethernet/msm/rndis_ipa.c:32:
include/trace/define_trace.h:83:43: fatal error: ./rndis_ipa_trace.h: No such file or directory
#include TRACE_INCLUDE(TRACE_INCLUDE_FILE)
^
compilation terminated.
scripts/Makefile.build:257: recipe for target 'drivers/net/ethernet/msm/rndis_ipa.o' failed
make[4]: *** [drivers/net/ethernet/msm/rndis_ipa.o] Error 1
scripts/Makefile.build:402: recipe for target 'drivers/net/ethernet/msm' failed
make[3]: *** [drivers/net/ethernet/msm] Error 2
scripts/Makefile.build:402: recipe for target 'drivers/net/ethernet' failed
make[2]: *** [drivers/net/ethernet] Error 2
scripts/Makefile.build:402: recipe for target 'drivers/net' failed
make[1]: *** [drivers/net] Error 2
Makefile:946: recipe for target 'drivers' failed
make: *** [drivers] Error 2
I'll play with it some more when I get mine sometime next week and update it and extract the kernel config
I haven't had any luck playing with merging the TB-X704L and TB-8704X sources, still getting the same error.
Edit: I get the same error for the TB-X704L and TB-X704F.
Another edit: did a diff with the Pixel kernel:
HTML:
diff -ur tab48plus/drivers/net/ethernet/msm/rndis_ipa_trace.h msm/drivers/net/ethernet/msm/rndis_ipa_trace.h
--- tab48plus/drivers/net/ethernet/msm/rndis_ipa_trace.h 2017-05-02 05:06:34.000000000 +0100
+++ msm/drivers/net/ethernet/msm/rndis_ipa_trace.h 2019-04-08 13:21:43.806756700 +0100
@@ -77,5 +77,5 @@
/* This part must be outside protection */
#undef TRACE_INCLUDE_PATH
-#define TRACE_INCLUDE_PATH .
+#define TRACE_INCLUDE_PATH ../../drivers/net/ethernet/msm
#include <trace/define_trace.h>
now I've gotten further, there's a lot of these errors
After fixing all the incorrect includes and adding the missing files, I have a kernel image
Edit: https://github.com/Phoenix09/android_kernel_lenovo_tb8704
@code_exec: you should probably extract the config from your device and try building with this repo, I have no idea if any of the configs in the source are for this tablet.
Click to expand...
Click to collapse
That GitHub repository lacks a defconfig for the TB-8704F (WiFi-only variant), which I have. Will the TB-8704X (LTE variant) kernel work on the TB-8704F out of the box without adjustments or will adjustments be needed for the kernel to boot? Also, how do I extract the defconfig from my device?
code_exec said:
That GitHub repository lacks a defconfig for the TB-8704F (WiFi-only variant), which I have. Will the TB-8704X (LTE variant) kernel work on the TB-8704F out of the box without adjustments or will adjustments be needed for the kernel to boot? Also, how do I extract the defconfig from my device?
Click to expand...
Click to collapse
it might work, I don't know.
to extract the config:
you'll need mkboot
backup boot with TWRP, transfer boot.img to PC
extract boot.img:
Code:
./mkbootimg_tools/mkboot boot.img boot
decompress kernel:
Code:
cd boot
zcat kernel > kernel.out
extract the config:
Code:
/path/to/kernel/source/scripts/extract-ikconfig kernel.out > defconfig.txt
Phoenix09 said:
it might work, I don't know.
to extract the config:
you'll need mkboot
backup boot with TWRP, transfer boot.img to PC
extract boot.img:
Code:
./mkbootimg_tools/mkboot boot.img boot
decompress kernel:
Code:
cd boot
zcat kernel > kernel.out
extract the config:
Code:
/path/to/kernel/source/scripts/extract-ikconfig kernel.out > defconfig.txt
Click to expand...
Click to collapse
I backed up boot to a microSD card in TWRP recovery. However, there are three files in the backup folder of the microSD: one called 'boot.emmc.win', one called 'boot.emmc.win.sha2', and one called 'recovery.log'
The first file could possibly contain boot.img, but how do I extract it? The second one contains a SHA2 checksum for the first file. The third one is a more detailed log of what was happening in TWRP.
EDIT: Simply renaming boot.emmc.win to boot.img seems to have done the trick. Just extracted it, will look into it now.
EDIT 2: Managed to extract the defconfig and copied it over to the arch/arm64/configs folder and renamed it to tb8704f_defconfig. I then made defconfig and started compiling. Unfortunately same error. Something about topology.c is either broken on this kernel or my version of gcc is unable to parse something in topology.c. Even on the version off of GitHub. You said it was working for you, just curious, what Linux distro are you using? I'm happy to install it into a VM and compile the kernel from that. I'm running Ubuntu 18.04 and have tried compiling both on my host and in a systemd container, but same error.
EDIT 3: Yeah, it's an issue with my gcc compiler, because it doesn't error out at topology.c on an Ubuntu 16.04 systemd container with gcc 5 vs the Ubuntu 18.04 host and container I tried building it on with gcc 7 which did error out at topology.c. It's compiling right now in the Ubuntu 16.04 container and I do hope that it doesn't error out at another stage. It seems to be building well so far.
EDIT 4: I'm currently building it with the tb8704f_defconfig file I extracted from the tablet's boot image. Working well so far. I'm gonna build it without any modifications to the .config file and then flash it to the tablet to see if it works before making modifications with menuconfig. If this compilation goes well, I'll start making modifications with menuconfig.
EDIT 5: Kernel built, now I've got a file called 'Image' as well as Image.gz and Image-dtbs.gz Gzip archives. How do I flash these to the tablet?
code_exec said:
EDIT 2: Managed to extract the defconfig and copied it over to the arch/arm64/configs folder and renamed it to tb8704f_defconfig. I then made defconfig and started compiling. Unfortunately same error. Something about topology.c is either broken on this kernel or my version of gcc is unable to parse something in topology.c. Even on the version off of GitHub. You said it was working for you, just curious, what Linux distro are you using? I'm happy to install it into a VM and compile the kernel from that. I'm running Ubuntu 18.04 and have tried compiling both on my host and in a systemd container, but same error.
Click to expand...
Click to collapse
I'm pretty sure 3.18 won't built with GCC newer than 4.9 (at least without a lot of patches), I'm using Ubuntu 18.04 and Google's toolchain
code_exec said:
EDIT 5: Kernel built, now I've got a file called 'Image' as well as Image.gz and Image-dtbs.gz Gzip archives. How do I flash these to the tablet?
Click to expand...
Click to collapse
replace kernel in the unpacked boot image with Image-dtbs.gz, repack using:
Code:
mkboot boot/ new-boot.img
then you can flash that using the "flash image" option in TWRP
Phoenix09 said:
then you can flash that using the "flash image" option in TWRP
Click to expand...
Click to collapse
Got bootlooped when doing this, but thankfully I made a backup of my previous boot partition so I could restore in TWRP.
Unfortunately, I don't think we're getting very close to making custom ROMs for this tablet. Maybe the reason I got bootlooped was because you used files from the Pixel kernel for the missing files on your GitHub repository. I wonder if files from the Lenovo Tab 4 10 Plus kernel (which has been compiled in the past because there are custom ROMs available for this tablet) could be used instead.
code_exec said:
Got bootlooped when doing this, but thankfully I made a backup of my previous boot partition so I could restore in TWRP.
Unfortunately, I don't think we're getting very close to making custom ROMs for this tablet. Maybe the reason I got bootlooped was because you used files from the Pixel kernel for the missing files on your GitHub repository. I wonder if files from the Lenovo Tab 4 10 Plus kernel (which has been compiled in the past because there are custom ROMs available for this tablet) could be used instead.
Click to expand...
Click to collapse
the files I used from the Pixel kernel were probably generic Qualcomm stuff, I had the exact same issues with the 10 Plus kernel, I can play with it more when I get mine on Thursday.
Edit: I checked properly, they're generic Linux ones, those wouldn't affect booting (all netfilter stuff).
Edit 2: Have opened a ticket about the broken source, let's see if we get anywhere.
Edit 3: There is definitely issues with their source, repacked the stock boot image without modifying it and that boots, repacking it with my compiled kernel does not.
Hi Guys. Great to see people working on this. Will be great to eventually see a ROM for the tab 8 4. Best of luck.

Categories

Resources