I've combined different features from Cyanogen's and JesusFreke's kernel .config files (from /proc/config.gz) into a git clone of android-msm-2.6.29 from android.git.kernel.org. The reason is that for some reason suid does not work properly when running debian as a non-root user on my G1 with Cyanogen's kernels. However it does with JesusFreke's. While I was able to fix that problem, and keep Cyanogens optimizations, I also unfortunately lost Cyanogen's kernel support for multitouch. I assumed this is because he is using a patched version of the synaptics touchpad driver, whereas I was not. So, I tried to download this Kernel Patch (http://web.mit.edu/~luke_h/www/MultiTouchV4/src/KernelPatch.zip), which is what I believe Cyanogen used. However, after replacing the target file with the included one, the make fails with the following:
...
CC drivers/input/touchscreen/synaptics_i2c_rmi.o
drivers/input/touchscreen/synaptics_i2c_rmi.c:31:1: warning: "swap" redefined
In file included from include/linux/cache.h:4,
from include/linux/time.h:7,
from include/linux/stat.h:60,
from include/linux/module.h:10,
from drivers/input/touchscreen/synaptics_i2c_rmi.c:18:
include/linux/kernel.h:483:1: warning: this is the location of the previous definition
drivers/input/touchscreen/synaptics_i2c_rmi.c: In function 'synaptics_ts_probe':
drivers/input/touchscreen/synaptics_i2c_rmi.c:513: error: 'struct i2c_client' has no member named 'driver_name'
drivers/input/touchscreen/synaptics_i2c_rmi.c: At top level:
drivers/input/touchscreen/synaptics_i2c_rmi.c:639: warning: initialization from incompatible pointer type
make[3]: *** [drivers/input/touchscreen/synaptics_i2c_rmi.o] Error 1
make[2]: *** [drivers/input/touchscreen] Error 2
make[1]: *** [drivers/input] Error 2
make: *** [drivers] Error 2
...
Any thoughts on where to proceed from here?
Related
Doing a make clean in any sourcebase (official samsung or voodoo) produces the following error:
scripts/Makefile.clean:17: /home/kernel/I9000-kernel/Samsung_JPM/Kernel/drivers/fsr/Makefile: No such file or directory
make[2]: *** No rule to make target `/home/kernel/I9000-kernel/Samsung_JPM/Kernel/drivers/fsr/Makefile'. Stop.
make[1]: *** [drivers/fsr] Error 2
make: *** [_clean_drivers] Error 2
I can see that there is no fsr directory in the tree. What's wrong with this?
huxflux2003 said:
Doing a make clean in any sourcebase (official samsung or voodoo) produces the following error:
scripts/Makefile.clean:17: /home/kernel/I9000-kernel/Samsung_JPM/Kernel/drivers/fsr/Makefile: No such file or directory
make[2]: *** No rule to make target `/home/kernel/I9000-kernel/Samsung_JPM/Kernel/drivers/fsr/Makefile'. Stop.
make[1]: *** [drivers/fsr] Error 2
make: *** [_clean_drivers] Error 2
I can see that there is no fsr directory in the tree. What's wrong with this?
Click to expand...
Click to collapse
those are closed source modules. Create the fsr and rfs directories and put an empty Makefile there.
OK, that worked, thanks. When you make and flash a zImage, you only flash the kernel and not the modules, right?
How can you flash a module?
Hi, I posted this at the Cyanogen forums - but I figured I would ask here too:
I am trying to build CM6 from source. I have followed the Wiki but I am getting this error:
Code:
Finding NOTICE files: out/target/product/sholes/obj/NOTICE_FILES/hash-timestamp
Combining NOTICE files: out/target/product/sholes/obj/NOTICE.html
Target system fs image: out/target/product/sholes/obj/PACKAGING/systemimage_unopt_intermediates/system.img
Install system fs image: out/target/product/sholes/system.img
out/target/product/sholes/system.img+ total size is 152454720
error: out/target/product/sholes/system.img+ too large (152454720 > [151793664 - ])
make: *** [out/target/product/sholes/system.img] Error 1
make: *** Deleting file `out/target/product/sholes/system.img'
Any help would be great.. I have copied all of the proprietary files and have the latest source from the git repository.
Hi Team,
I am trying to build the ROM from AOSP Source based on 5.1.1.
Till now the build was going fine but now I am facing issue with compilation errors.
The QCOM stuff creating these error because each files in the folder hardware/qcom/display/msm8974 missing the reference to compiler header file/location.
So I don't want to amend each reference to point specifically. I know where the files are located but compiler not picking it up.
E.G: #include <media/msm_media_info.h>
All the stuff available on >> hardware/qcom/msm8x74
Can someone please guide me like which ENV variable I need to check?? or which .mk file I need to amend ??
*********************************
target thumb C++: libmemalloc <= hardware/qcom/display/msm8974/libgralloc/ionalloc.cpp
target thumb C++: libmemalloc <= hardware/qcom/display/msm8974/libgralloc/alloc_controller.cpp
hardware/qcom/display/msm8974/libgralloc/alloc_controller.cpp:41:34: fatal error: media/msm_media_info.h: No such file or directory
#include <media/msm_media_info.h>
^
compilation terminated.
build/core/binary.mk:620: recipe for target 'out/target/product/cancro/obj/SHARED_LIBRARIES/libmemalloc_intermediates/alloc_controller.o' failed
make: *** [out/target/product/cancro/obj/SHARED_LIBRARIES/libmemalloc_intermediates/alloc_controller.o] Error 1
make: *** Waiting for unfinished jobs....
*********************************
Hi,
I'm trying to compile my first kernel, more specifically for nethunter on cm13. I've grabbed (what I think is) the source files from github: https://github.com/CyanogenMod/android_kernel_htc_m7/tree/cm-13.0
I've then applied the mac802 patch from the nethuner wiki and have just managed to place the HID patch. When i tried to compile I get the below error, I had a quick Google and it seems to be related to video drivers which seem pretty important to me. Anyone have any ideas how to fix please or point me in the right direction? I've tried searching for the specific warning: info may blah blah blah but that didn't retrieve anything useful.
Code:
drivers/video/msm/msm_fb.c: In function 'msm_fb_commit_thread':
drivers/video/msm/msm_fb.c:2637: warning: 'info' may be used uninitialized in this function
error, forbidden warning: msm_fb.c:2637
scripts/Makefile.build:307: recipe for target 'drivers/video/msm/msm_fb.o' failed
make[3]: *** [drivers/video/msm/msm_fb.o] Error 1
scripts/Makefile.build:443: recipe for target 'drivers/video/msm' failed
make[2]: *** [drivers/video/msm] Error 2
scripts/Makefile.build:443: recipe for target 'drivers/video' failed
make[1]: *** [drivers/video] Error 2
Makefile:951: recipe for target 'drivers' failed
make: *** [drivers] Error 2
EDIT: Worked it out, 'info' was a variable that wasn't being assigned in the source.
I have built kernels before, but this one just spits out error after error after error.. very annoying and nothing I found seems to help.
Currently stuck with these errors and don't know how to solve them, any help is appreciated:
Code:
kperfmon_DUMMY="perflog.h file is missing."
cp: cannot stat '../../../system/core/liblog/include/log/perflog.h': No such file or directory
kperfmon_DUMMY=""
kperfmon_DUMMY=""
CC drivers/kperfmon/ologk.o
AR drivers/kperfmon/built-in.o
AR drivers/built-in.o
make[2]: *** No rule to make target '/home/dpi/qb5_8814/workspace/P4_1716/buildscript/tools/pil_splitter.py', needed by 'firmware/five/five.signed'. Stop.
/home/seth/AndroidKernel/G977p/Makefile:1165: recipe for target 'firmware' failed
make[1]: *** [firmware] Error 2
make[1]: Leaving directory '/home/seth/AndroidKernel/G977p/output'
Makefile:146: recipe for target 'sub-make' failed
make: *** [sub-make] Error 2
The missing perflog.h file is a crucial component for the build process.
To resolve, locate the perflog.h:
find /path/to/starting/directory -type f -name "perflog.h"
Replace /path/to/starting/directory with the appropriate root directory to begin the search. Once located, transfer the file to the expected destination.
If the file is absent, examine the kernel source code repository. If the file is accessible, download it and place it in the required location.
The second issue pertains to a missing rule needed to create the target '/home/dpi/qb5_8814/workspace/P4_1716/buildscript/tools/pil_splitter.py'. This indicates that the build process anticipates a rule to generate the target file, but the rule is not specified in the Makefile.
To resolve this issue, take the following steps:
- Determine whether the target file (pil_splitter.py) exists within your system. If not, obtain it from the kernel source code repository.
- If the file is present, verify that the Makefile includes the appropriate rule for constructing the target file. It may be necessary to add or modify the rule in the Makefile, ensuring it references the correct dependencies and commands.