[Q] Build kernel modules fail for flo - Nexus 7 (2013) Q&A

I build stock kernel for flo (commit 9e52a21) successful. But when I tries add module support in kernel I get errors on modules build. I add only CONFIG_MODULES=y in flo_defconfig.
Error log:
...
Kernel: arch/arm/boot/zImage is ready
Building modules, stage 2.
MODPOST 17 modules
ERROR: "diagfwd_bridge_init" [drivers/char/diag/diagchar.ko] undefined!
ERROR: "diagfwd_connect_bridge" [drivers/char/diag/diagchar.ko] undefined!
ERROR: "diag_hsic" [drivers/char/diag/diagchar.ko] undefined!
ERROR: "msm_smux_write" [drivers/char/diag/diagchar.ko] undefined!
ERROR: "diagfwd_bridge_exit" [drivers/char/diag/diagchar.ko] undefined!
ERROR: "read_msm_cpu_type" [drivers/char/diag/diagchar.ko] undefined!
ERROR: "diagfwd_disconnect_bridge" [drivers/char/diag/diagchar.ko] undefined!
ERROR: "msm_hsic_ch_driver" [drivers/char/diag/diagchar.ko] undefined!
ERROR: "diag_bridge" [drivers/char/diag/diagchar.ko] undefined!
ERROR: "diagfwd_write_complete_hsic" [drivers/char/diag/diagchar.ko] undefined!
ERROR: "diagfwd_cancel_hsic" [drivers/char/diag/diagchar.ko] undefined!
make [1]: *** [__modpost] Error 1
make: *** [modules] Error 2
...
Please help me.

Related

[Q] Issues Compiling Droid Incredible Kernel

Evening All,
I am attempting to compile a kernel for my droid incredible and am running into a problem. I successfully compiled one a few weeks ago, but am trying to refresh so i can learn more. I am using instructions found at:
http://wiki.cyanogenmod.com/index.php?title=Building_from_source,
only changing commands when necessary. I have pulled a working .config from Skyraider 2.2, created the backup and was able to edit it to my liking. For this I decided to leave everything as stock, as my intention was to just compile the stock kernel to help myself learn. When I enter
Code:
make ARCH=arm CROSS_COMPILE=$CCOMPILER
,
I receive the following error:
Code:
[email protected]:~/androkern/incredible$ make ARCH=arm CROSS_COMPILE=$CCOMPILER
scripts/kconfig/conf -s arch/arm/Kconfig
CHK include/linux/version.h
UPD include/linux/version.h
Generating include/asm-arm/mach-types.h
CHK include/linux/utsrelease.h
UPD include/linux/utsrelease.h
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 "-mno-thumb-interwork"
kernel/bounds.c:1: error: unknown ABI (aapcs-linux) for -mabi= switch
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
Being new to compiling would anyone be able to help me understand what this error means. I have not found anything so far that could help me. I was not expecting any issues since I was essential just compiling the Stock Kernel for my own use.
Would someone be able to help me learn what is causing this? Thank you.
tcberg2010 said:
Evening All,
I am attempting to compile a kernel for my droid incredible and am running into a problem. I successfully compiled one a few weeks ago, but am trying to refresh so i can learn more. I am using instructions found at:
http://wiki.cyanogenmod.com/index.php?title=Building_from_source,
only changing commands when necessary. I have pulled a working .config from Skyraider 2.2, created the backup and was able to edit it to my liking. For this I decided to leave everything as stock, as my intention was to just compile the stock kernel to help myself learn. When I enter
Code:
make ARCH=arm CROSS_COMPILE=$CCOMPILER
,
I receive the following error:
Code:
[email protected]:~/androkern/incredible$ make ARCH=arm CROSS_COMPILE=$CCOMPILER
scripts/kconfig/conf -s arch/arm/Kconfig
CHK include/linux/version.h
UPD include/linux/version.h
Generating include/asm-arm/mach-types.h
CHK include/linux/utsrelease.h
UPD include/linux/utsrelease.h
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 "-mno-thumb-interwork"
kernel/bounds.c:1: error: unknown ABI (aapcs-linux) for -mabi= switch
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
Being new to compiling would anyone be able to help me understand what this error means. I have not found anything so far that could help me. I was not expecting any issues since I was essential just compiling the Stock Kernel for my own use.
Would someone be able to help me learn what is causing this? Thank you.
Click to expand...
Click to collapse
you need to do:
export CCOMPILER=${HOME}/mydroid/prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin/arm-eabi-
(assuming you pulled everything down in ~/mydroid , otherwise change it to where it is)
then you should be able to compile it
That command did work for me. I was able to compile it. What I would still like to know is what exactly I did when i ran that command? I don't really enjoy mashing in commands when i don't know what they mean.
Basically you created an environmental variable called CCOMPILER that is equal to the location of the cross compiler binaries.
This command would do the same thing:
make ARCH=arm CROSS_COMPILE=${HOME}/mydroid/prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin/arm-eabi-
You are just pointing the make file to the location of the cross compiler so that it doesn't use the host compiler by default
mattwood2000 said:
Basically you created an environmental variable called CCOMPILER that is equal to the location of the cross compiler binaries.
This command would do the same thing:
make ARCH=arm CROSS_COMPILE=${HOME}/mydroid/prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin/arm-eabi-
You are just pointing the make file to the location of the cross compiler so that it doesn't use the host compiler by default
Click to expand...
Click to collapse
+1 Whenever you "export" you're setting an environment variable to something. Then you can verify it by typing: "echo $CCOMPILER" (without quotes) and it should spit that path back at you.
fwiw, you can add that line to your .bashrc and it will always be set for you
Thank you guys, to be honest that answer is a little over my head, but its a nice basis to help me learn more. Really appreciate the quick responses.
Sent from my ADR6300 using XDA App

AOSP Build For Bullhead - Make Otapackage Failed - Why? [HELP]

Hi! I ran make otapackage -j6 for my AOSP build, and it tells me this:
Code:
return CreateImage(input_dir, info_dict, "system", block_list=block_list)
File "./build/tools/releasetools/add_img_to_target_files", line 211, in CreateImage
assert succ, "build " + what + ".img image failed"
AssertionError: build system.img image failed
ninja: build stopped: subcommand failed.
build/core/ninja.mk:148: recipe for target 'ninja_wrapper' failed
make: *** [ninja_wrapper] Error 1

AOSP Build For Bullhead - Make Otapackage Failed - Why? [HELP]

Hi! I ran make otapackage -j6 for my AOSP build, and it tells me this:
Code:
return CreateImage(input_dir, info_dict, "system", block_list=block_list)
File "./build/tools/releasetools/add_img_to_target_files", line 211, in CreateImage
assert succ, "build " + what + ".img image failed"
AssertionError: build system.img image failed
ninja: build stopped: subcommand failed.
build/core/ninja.mk:148: recipe for target 'ninja_wrapper' failed
make: *** [ninja_wrapper] Error 1
Why doees this happen?

Building LineageOS for cancro (Xiaomi mi3w)

Hello,
I'm trying to build the lineageOS cm-14.1 version for Cancro
the build process stops here:
Code:
make: *** No rule to make target 'vendor/xiaomi/cancro/proprietary/bin/wcnss_service', needed by '/android/lineage/out/target/product/cancro/system/bin/wcnss_service'. Stop.
I followed the steps from the LineageOS guide ( https://wiki.lineageos.org/devices/cancro/build#prepare-the-device-specific-code ) in order to get the proprietary blobs and as I can see the next ones are not extracted (because doesn't exists):
Code:
/cranco/android/lineage/device/xiaomi/cancro$ ./extract-files.sh
Cleaning output directory (./../../../vendor/xiaomi/cancro/proprietary)..
Extracting 494 files in ./proprietary-files.txt from adb:
/system/bin/adsprpcd: 1 file pulled. 0.3 MB/s (13944 bytes in 0.043s)
adb: error: remote object '/system/bin/btnvtool' does not exist
adb: error: remote object '/system/bin/btnvtool' does not exist
adb: error: remote object '/system/bin/charger_monitor' does not exist
adb: error: remote object '/system/bin/charger_monitor' does not exist
adb: error: remote object '/system/bin/hvdcp' does not exist
adb: error: remote object '/system/bin/hvdcp' does not exist
adb: error: remote object '/system/bin/loc_launcher' does not exist
adb: error: remote object '/system/bin/loc_launcher' does not exist
adb: error: remote object '/system/bin/wcnss_filter' does not exist
adb: error: remote object '/system/bin/wcnss_filter' does not exist
adb: error: remote object '/system/bin/wcnss_service' does not exist
adb: error: remote object '/system/bin/wcnss_service' does not exist
adb: error: remote object '/system/lib/libdrmdecrypt.so' does not exist
adb: error: remote object '/system/lib/libdrmdecrypt.so' does not exist
adb: error: remote object '/system/vendor/lib/hw/activity_recognition.msm8974.so' does not exist
adb: error: remote object '/system/vendor/lib/hw/activity_recognition.msm8974.so' does not exist
adb: error: remote object '/system/vendor/lib/libQSEEComAPI.so' does not exist
adb: error: remote object '/system/vendor/lib/libQSEEComAPI.so' does not exist
adb: error: remote object '/system/vendor/lib/libbccQTI.so' does not exist
adb: error: remote object '/system/vendor/lib/libbccQTI.so' does not exist
Code:
android/lineage/vendor/xiaomi/cancro/proprietary/bin$ ls
adsprpcd fm_qsoc_patches irsc_util lowi-server mm-qcamera-daemon mpdecision netmgrd qmuxd qosmgr qseecomd quipc_igsn quipc_main radish rfs_access rmt_storage sensors.qcom time_daemon xtwifi-client xtwifi-inet-agent
how can I get these files in order to finish my build?
My xiaomi is running LineageOS 14.1 20170626-nightly
as I can see on the guide, I did it correctly:
Extract proprietary blobs
Note: This step requires to have a device already running the latest LineageOS, based on the branch you wish to build for. If you don’t have access to such device, refer to Extracting proprietary blobs from installable zip.
Now ensure your Mi 3 / Mi 4 is connected to your computer via the USB cable, with ADB and root enabled, and that you are in the ~/android/lineage/device/xiaomi/cancro folder. Then run the extract-files.sh script:
./extract-files.sh
The blobs should be pulled into the ~/android/lineage/vendor/xiaomi folder. If you see “command not found” errors, adb may need to be placed in ~/bin.
Click to expand...
Click to collapse
EDIT: I just found the next ones: https://github.com/TheMuppets/proprietary_vendor_xiaomi/tree/cm-14.1/cancro/proprietary
Can I use them in order to finish my build?
EDIT: With the last proprietary blobs I still missing one:
Code:
make: *** No rule to make target 'vendor/xiaomi/cancro/proprietary/bin/loc_launcher', needed by 'android/lineage/out/target/product/cancro/system/bin/loc_launcher'. Stop.
any ideas ?
thanks, Ivan

error: 'INSTALLED_KERNEL_HEADERS'

[ 99% 1598/1599] glob vendor/qcom/open...erfaces/wifi/supplicant/1.0/Android.bp
ninja: error: 'INSTALLED_KERNEL_HEADERS', needed by '/home/ubuntu/los/out/target/product/ocm/obj/SHARED_LIBRARIES/libcryptfs_hw_intermediates/cryptfs_hw.o', missing and no known rule to make it
11:29:39 ninja failed with: exit status 1

Categories

Resources