Guest goddeex Posted December 3, 2012 Report Posted December 3, 2012 Hello, I just want my own kernel, to be able to have USB On The Go (if that's possible !). And to understand much. I build the .config after copying the one in the kernel directory on arch/arm/configs/msm7627a-perf_defconfig After that, make does its jobs and gcc compiles some c files, until I get this error: make[1]: *** Aucune règle pour fabriquer la cible « /kernel/include/oem/oem_rapi_events.h », nécessaire pour « arch/arm/mach-msm/proc_comm_version_checksum.h ». Arrêt. (no rule to make target), (needed for) The problem is that I don't have oem_rapi_events.h ! Do you know where can I find it ? Thx in advance Xav
Guest vache Posted December 3, 2012 Report Posted December 3, 2012 I never found it too, to bypass this error have a look @ https://github.com/Vachounet/AcerLiquidGlowKernel/blob/master/arch/arm/mach-msm/Makefile
Guest goddeex Posted December 4, 2012 Report Posted December 4, 2012 What a buggy kernel source ! Thks for your Makefile, this way it starts to compile Had to edit "gcc-wrapper.py" to be able to compile (disabling halt on unallowed warnings) Had to disable CONFIG_DEBUG_FS Had to disable CONFIG_MSM_SMD Had to comment some code for cpu check. Had to comment some include for MTD compiles however. Now seams that HW3D doesn't compile. See you next. Also, got the linux kernel from kernel.org, compiles for ARM without problem, but doesn't support our processor so I'm still working on the buggy kernel.
Guest vache Posted December 4, 2012 Report Posted December 4, 2012 All path to oem/*.h are wrong, you have to edit them. There's also some wrong hardcoded path that have to be edited. There's no need to comment line(s). (gcc-wrapper excluded)
Guest goddeex Posted December 4, 2012 Report Posted December 4, 2012 Indeed, all is starting to go wrong when I get: arch/arm/mach-msm/proc_comm.c:193: error: 'SMEM_PC_OEM_CHECK_VERSION' undeclared (first use in this function) After that, lots of fixes are needed. Also a problem with boot_mode.h Also I replace #include oem_smem_struct.h with a comment line. I don't know where to find this file.
Guest goddeex Posted December 4, 2012 Report Posted December 4, 2012 Hey, what a mess, it is in /include/oem/oem_smem_struct.h ! Alright will try tomorrow !
Guest vache Posted December 4, 2012 Report Posted December 4, 2012 That's what i said, you have to change path to <oem/*.h>. There is around 10 path to fix.
Guest lupohirp Posted December 4, 2012 Report Posted December 4, 2012 (edited) What a buggy kernel source ! Thks for your Makefile, this way it starts to compile Had to edit "gcc-wrapper.py" to be able to compile (disabling halt on unallowed warnings) Had to disable CONFIG_DEBUG_FS Had to disable CONFIG_MSM_SMD Had to comment some code for cpu check. Had to comment some include for MTD compiles however. Now seams that HW3D doesn't compile. See you next. Also, got the linux kernel from kernel.org, compiles for ARM without problem, but doesn't support our processor so I'm still working on the buggy kernel. DON'T disable msm_smd....we have a mtd device here....without that sdcard could be not work although a request for vache....which .ko modules are needed for glow to boot??? EDIT: GREAT NEWS!!! I HAVE FINALLY A BOOTING KERNEL!!!!...ok now i have problem with sleep and with wifi that doesn't power on :( in other words when i press lockscreen phone doesn't power up anymore. seems a .ko modules....i've seen that dimension of my modules are too big compared to vache's custom_kernel.zip....vache did you stripped the modules??if yes...how did you that?? Edited December 4, 2012 by lupohirp
Guest vache Posted December 4, 2012 Report Posted December 4, 2012 You don't need any module to boot, and i didn't stripped them. Did you had a look at system and kernel logs ?
Guest goddeex Posted December 5, 2012 Report Posted December 5, 2012 Hello, I finally managed to boot my own linux kernel, although I didn't have sim card support and wifi ! I have put the path to the .h files in the LINUXINCLUDE section of Makefile. Now trying to play with menuconfig to get it work. How do you access kernel logs, please ?
Guest lupohirp Posted December 5, 2012 Report Posted December 5, 2012 Hello, I finally managed to boot my own linux kernel, although I didn't have sim card support and wifi ! I have put the path to the .h files in the LINUXINCLUDE section of Makefile. Now trying to play with menuconfig to get it work. How do you access kernel logs, please ? you can use dmesg from adb You don't need any module to boot, and i didn't stripped them. Did you had a look at system and kernel logs ? kernel logs stopped when i press the on/off button....for wifi it says that system can't load module.....i had similar problems with p500 when i was workin' at cm9 and i remembered that i compiled kernel with android ndk toolchain instead of linaro (also i had big sizes of module with ndk)....later i will try to recompile with linaro and codesourcery
Guest goddeex Posted December 5, 2012 Report Posted December 5, 2012 I can't access to my phone using usb, so can't do "adb shell", so I thing something is missing in my .config file. I also activated USB OTG in the config file, but an error appears at compile time. Put some coments in the C file, that compiles, but i'm unsure about what I've done. Result: no USB OTG.
Guest vache Posted December 5, 2012 Report Posted December 5, 2012 (edited) kernel logs stopped when i press the on/off button....for wifi it says that system can't load module.....i had similar problems with p500 when i was workin' at cm9 and i remembered that i compiled kernel with android ndk toolchain instead of linaro (also i had big sizes of module with ndk)....later i will try to recompile with linaro and codesourcery Try to add "CFLAGS_MODULE = -fno-pic" in makefile then rebuild modules. Or you can try to disable CONFIG_MODVERSIONS. I can't access to my phone using usb, so can't do "adb shell", so I thing something is missing in my .config file. I also activated USB OTG in the config file, but an error appears at compile time. Put some coments in the C file, that compiles, but i'm unsure about what I've done. Result: no USB OTG. Using the provided msm7627a-perf_defconfig is enought to have a working kernel. Edited December 5, 2012 by vache
Guest goddeex Posted December 5, 2012 Report Posted December 5, 2012 Yes, with this default config I have a working kernel, but the wifi and the sim card are not enabled. So I can't even make a call. From what I have seen, it seams that if you try to modify .config your going to have problem because the arm code is somehow beta version.
Guest lupohirp Posted December 5, 2012 Report Posted December 5, 2012 (edited) ok i've resolved wifi problems....but when screen goes off phone is dead and doesn't worked anymore...must pull out battery for start another time...any suggestions?? EDIT: NO MATTER I HAVE RESOLVED THIS ERROR FINALLY!!!!WE HAVE A FULL BOOTING KERNEL NOW!!!!BUT WHAT A CRAP THESE SOURCES!!! even lg's sources was better than these....i will upload all my code on github....BUT A HUGE THANKS GOES TO VACHE :) Edited December 5, 2012 by lupohirp
Guest goddeex Posted December 6, 2012 Report Posted December 6, 2012 Hello, I have found that some files are "read only" in the kernel, this is why I had problems when modifying .config. I did "chmod a+w -R *" and it seams to solve the automatic "make oldconfig" problem asking for every parameter when launching make. However, hub.c doesn't compile when activating USB_OTG.
Guest vache Posted December 6, 2012 Report Posted December 6, 2012 Could you post the error you get ?
Guest goddeex Posted December 6, 2012 Report Posted December 6, 2012 Yes I get this error: drivers/usb/core/hub.c: In function 'usb_enumerate_device_otg': drivers/usb/core/hub.c:1814: error: 'struct usb_otg_descriptor' has no member named 'bcdOTG' And, it's true, I searched everywhere in the kernel source, I found that there is no member named 'bcdOTG' in the struct. So I think it doesn't come from a dependency error. There are comments "FIXME" everywhere in hub.c The new generic linux kernel 3.6.9 has new code for this function in hub.c The problem comes from this line in the function that enumerates usb OTG devices: /* a_hnp_support is not required for devices * compliant to revision 2.0 or subsequent * versions. */ if (le16_to_cpu(desc->bcdOTG) >= 0x0200) goto out; I put a comment on the if and goto out lines, that compiles but I get no usb OTG ! Wonder what is a_hnp_support ?
Guest vache Posted December 6, 2012 Report Posted December 6, 2012 I found out that commenting this is a good way for compiling, keeping USB OTG support. I think that the issue is not here.
Guest lupohirp Posted December 6, 2012 Report Posted December 6, 2012 my sources are up https://github.com/lupohirp/Acer_Liquid_Glow_Kernel
Guest goddeex Posted December 6, 2012 Report Posted December 6, 2012 Unfortunately, my sim card is still not recognized. Do you know if I have to enable something in the kernel (like a modem driver) to be able to use it as a phone ? I must C I work with acer sources and .config from the device's stock kernel (with mod for USB-OTG that does not work, don't recognize my usb key with usb host cable).
Guest goddeex Posted December 6, 2012 Report Posted December 6, 2012 Ok, I searched a little bit, it may because of msm_proc_version_check() that I don't have modem enabled. I will test it.
Guest lupohirp Posted December 7, 2012 Report Posted December 7, 2012 Ok, I searched a little bit, it may because of msm_proc_version_check() that I don't have modem enabled. I will test it. nope...it isn't that...that function check only if your processor is single or dual-core....but it works only if you have a dual core and add some special routines.....haveyou tried my kernel using msm7627a-perf-defconfig?? on my phone it works good...
Guest goddeex Posted December 10, 2012 Report Posted December 10, 2012 Thkx for the info, yes, but indeeed SMEM_PC_OEM_CHECK_VERSION didn't exist, so I commented the code and let only return 0; However my kernel didn't work. But: I found that my kernel hang only if I copy the modules to the system directory of the initramfs. Also I did a chmod on the *.ko files and copied them in a zip that I restored using vache's restore CWM, however using kernel from CustomKernel.zip. After that, I had wifi and rfcomm on the kernel from CustomKernel.
Guest lupohirp Posted December 10, 2012 Report Posted December 10, 2012 Thkx for the info, yes, but indeeed SMEM_PC_OEM_CHECK_VERSION didn't exist, so I commented the code and let only return 0; However my kernel didn't work. But: I found that my kernel hang only if I copy the modules to the system directory of the initramfs. Also I did a chmod on the *.ko files and copied them in a zip that I restored using vache's restore CWM, however using kernel from CustomKernel.zip. After that, I had wifi and rfcomm on the kernel from CustomKernel. try my kernel published yesterday if works....if works then my sources works also for you...and i can get UTG for you in next releases
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now