• After 15+ years, we've made a big change: Android Forums is now Early Bird Club. Learn more here.

Root [ALPHA] ICS for Optimus M (NOW COMPILED AND BOOTING)

thanx for the tip ont he config.gz reppard.
i have the srouce, and i have the config, and i have a replacement synaptics_i2c_rmi.c file that looks to have the right calls, i edited it a bit to update TOUCH_MAJOR to PRESSURE, not sure if that is going to work or not.. but, im trying to build the kernel, is there anything i need to do this? i did some reasearch, and installed a bunch of stuff to cross compile, however i am still getting this error:

make: arm-eabi-gcc: Command not found
CHK include/linux/version.h
make[1]: `include/asm-arm/mach-types.h' is up to date.
CHK include/linux/utsrelease.h
SYMLINK include/asm -> include/asm-arm
CC kernel/bounds.s
/bin/sh: arm-eabi-gcc: not found
make[1]: *** [kernel/bounds.s] Error 127
make: *** [prepare0] Error 2


new to this kernel thing... thanx in advance again
What cmd did you use to build it?

I use the following:

Command to build kernel and modules at once. Edit paths accordingly.

make ARCH=arm CROSS_COMPILE=~/Android/cyanogen/prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin/arm-eabi- INSTALL_MOD_PATH=~/Android/Kernels/modules zImage modules -j4

And then install to the desired directory.

make ARCH=arm CROSS_COMPILE=~/Android/cyanogen/prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin/arm-eabi- INSTALL_MOD_PATH=~/Android/Kernels/modules zImage modules modules_install -j4
of course you will have to edit your path and defconfig name, and edit any changes they may be in the ics src, tho from what I have its still in the same place.

Also my defconfig is in arch/arm/configs/plague_defconfig
 
Upvote 0
thanx for the tip ont he config.gz reppard.
i have the srouce, and i have the config, and i have a replacement synaptics_i2c_rmi.c file that looks to have the right calls, i edited it a bit to update TOUCH_MAJOR to PRESSURE, not sure if that is going to work or not.. but, im trying to build the kernel, is there anything i need to do this? i did some reasearch, and installed a bunch of stuff to cross compile, however i am still getting this error:

make: arm-eabi-gcc: Command not found
CHK include/linux/version.h
make[1]: `include/asm-arm/mach-types.h' is up to date.
CHK include/linux/utsrelease.h
SYMLINK include/asm -> include/asm-arm
CC kernel/bounds.s
/bin/sh: arm-eabi-gcc: not found
make[1]: *** [kernel/bounds.s] Error 127
make: *** [prepare0] Error 2


new to this kernel thing... thanx in advance again

I am going to try and explain this a little more then the others have. The make file is looking for your toolchain so depending on where your android ndk is located you will have to include that path. You can either do as PG suggested with the CROSS_COMPILE=/path/to/tool/chain/arm-eabi- (make sure you leave the gcc off). or just add the whole directory of toolchain binaries to your path. This is what mine would look like:

Code:
PATH=/home/reppard/android-ndk-r6b/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/arm-linux-androideabi/bin:$PATH

then just do your make with whatever flags you see fit. if you want to get a look at the config file in a more user friendly light just issue the
Code:
make menuconfig
and you can load existing config files or save alternate ones. Good luck!
 
Upvote 0
silly me.. cant remember model numbers of the phones that are of the same type as the ms690.. trying to look them up on the lg open source page.. got the ls670.. it has some gb source.. trying to compare files.. see what differant.. but if im supposed to download the linux kernel and compile from there, that would make it 3.*.*.* something.. have it but havent extracted it yet..
 
Upvote 0
silly question, i was reading the README in the lg kernel source, do i need to download the latest linux kernel to compile from?

silly me.. cant remember model numbers of the phones that are of the same type as the ms690.. trying to look them up on the lg open source page.. got the ls670.. it has some gb source.. trying to compare files.. see what differant.. but if im supposed to download the linux kernel and compile from there, that would make it 3.*.*.* something.. have it but havent extracted it yet..
its the LW690 that is exactly like the ms690 which is the C. Aside from the kernel and bluetooth firmware some things from the S and V's GB update can be used. I know Bob was working gettting the V port working with the new GB files, but dunno if he did the same with the M etc.

Cherry picking driver src may can be done too.
 
Upvote 0
its the LW690 that is exactly like the ms690 which is the C. Aside from the kernel and bluetooth firmware some things from the S and V's GB update can be used. I know Bob was working gettting the V port working with the new GB files, but dunno if he did the same with the M etc.

Cherry picking driver src may can be done too.

yeah that what i did with the touchscreen, i downloaded the synaptics file from gogglesource, it looked close.. but then again i cant be completely sure, but im compiling the kernel with the new touchscreen driver now so i guess we';; see in a bit lol the driver fromg ogglesource is written completely differant fromt he one included in the lg kernel source, maybe it will, maybe it wont work lol
 
Upvote 0
yeah that what i did with the touchscreen, i downloaded the synaptics file from gogglesource, it looked close.. but then again i cant be completely sure, but im compiling the kernel with the new touchscreen driver now so i guess we';; see in a bit lol the driver fromg ogglesource is written completely differant fromt he one included in the lg kernel source, maybe it will, maybe it wont work lol
Wont know til ya try lol
 
Upvote 0
drivers/input/touchscreen/synaptics_i2c_rmi.c:28:27: error: plat/gpio-cfg.h: No such file or directory
drivers/input/touchscreen/synaptics_i2c_rmi.c: In function 'synaptics_ts_work_func':
drivers/input/touchscreen/synaptics_i2c_rmi.c:149: error: 'ABS_MT_PRESSURE' undeclared (first use in this function)
drivers/input/touchscreen/synaptics_i2c_rmi.c:149: error: (Each undeclared identifier is reported only once
drivers/input/touchscreen/synaptics_i2c_rmi.c:149: error: for each function it appears in.)
drivers/input/touchscreen/synaptics_i2c_rmi.c:158: error: expected ';' before 'input_sync'
drivers/input/touchscreen/synaptics_i2c_rmi.c:79: warning: unused variable 'buf_len'
drivers/input/touchscreen/synaptics_i2c_rmi.c:76: warning: unused variable 'start_reg'
drivers/input/touchscreen/synaptics_i2c_rmi.c:75: warning: unused variable 'msg'
drivers/input/touchscreen/synaptics_i2c_rmi.c:74: warning: unused variable 'bad_data'
drivers/input/touchscreen/synaptics_i2c_rmi.c:73: warning: unused variable 'ret'
drivers/input/touchscreen/synaptics_i2c_rmi.c:72: warning: unused variable 'i'
drivers/input/touchscreen/synaptics_i2c_rmi.c: In function 'synaptics_ts_probe':
drivers/input/touchscreen/synaptics_i2c_rmi.c:308: error: 'ABS_MT_PRESSURE' undeclared (first use in this function)
drivers/input/touchscreen/synaptics_i2c_rmi.c:319: error: implicit declaration of function 's3c_gpio_cfgpin'
drivers/input/touchscreen/synaptics_i2c_rmi.c:319: error: implicit declaration of function 'S3C64XX_GPN'
drivers/input/touchscreen/synaptics_i2c_rmi.c:319: error: implicit declaration of function 'S3C_GPIO_SFN'
drivers/input/touchscreen/synaptics_i2c_rmi.c:359: warning: label 'err_power_failed' defined but not used
drivers/input/touchscreen/synaptics_i2c_rmi.c:358: warning: label 'err_detect_failed' defined but not used
drivers/input/touchscreen/synaptics_i2c_rmi.c:246: warning: unused variable 'max_temp'
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[1]: *** Waiting for unfinished jobs....


well that didnt work lol.. worth a shot.. time ot look at the gb source see whats differant.. see if its compatible

looking at those errors thoguh.. that may not be to ahrd to fix...
 
Upvote 0
so this is funky... i have reppards kernel source, the lg kernel source for the ms690, and the drivers are differant in each,, im going to try to use the one included in the lg source real fast and see what happens
yea I think reppard forked my repo, not sure of any of the changes he may have made locally tho other than those posted.
 
  • Like
Reactions: AndroidHogs
Upvote 0
the one for the synaptics in the ls670 srouce is completely differant than the other 3 versions of the driver i ahve.. using it since that is a gb kernel.. but have 4 differant versions of the driver now.. none look totally correct.. but maybe one will work enough lol

trying something differant.. taking the ms690 config file, comapring it to the ls670 config file, so far pretty much the same,, dont tihnk im going to have to make any chages to it.. but going to try to compile the GB kernel with the ms690 config.. the hardware is slightly differant on each phone, but all the neccessary files are present to build for the ms690.. lets see how that works..
 
Upvote 0
the one for the synaptics in the ls670 srouce is completely differant than the other 3 versions of the driver i ahve.. using it since that is a gb kernel.. but have 4 differant versions of the driver now.. none look totally correct.. but maybe one will work enough lol

trying something differant.. taking the ms690 config file, comapring it to the ls670 config file, so far pretty much the same,, dont tihnk im going to have to make any chages to it.. but going to try to compile the GB kernel with the ms690 config.. the hardware is slightly differant on each phone, but all the neccessary files are present to build for the ms690.. lets see how that works..

did you include the header file for that driver? look at the beginning of the source and see what other files it uses. should be a .h file as well!
 
Upvote 0
hhmmm.. ok trying to compile the gb kernel.. there is a very interactive setup going on here.. ive got everything configured correctly up till right now.. its asking me if i want ot make cdma verizon or sprint, trying to find where the info in the source is so i can add Metro to the list
 
Upvote 0
hhmmm.. ok trying to compile the gb kernel.. there is a very interactive setup going on here.. ive got everything configured correctly up till right now.. its asking me if i want ot make cdma verizon or sprint, trying to find where the info in the source is so i can add Metro to the list

as long as you set it up for cdma it shouldnt matter as the ril stuff takes care of the coverage.
 
Upvote 0
ok.. im only getting an error in 1 module when trying to build this kernel.. trying to go through the .config but i ahvent found anything yet.. everything is the way it came from lg, just using the .config from reppards source.

Code:
  CHK     include/linux/version.h
  CHK     include/generated/utsrelease.h
make[1]: `include/generated/mach-types.h' is up to date.
  CALL    scripts/checksyscalls.sh
  CHK     include/generated/compile.h
  CC      arch/arm/mach-msm/lge/lge_gpio_switch.o
In file included from /home/tripdoc/android/kernel/arch/arm/include/asm/gpio.h:5,
                 from include/linux/gpio.h:7,
                 from arch/arm/mach-msm/lge/lge_gpio_switch.c:22:
arch/arm/mach-msm/include/mach/gpio.h: In function 'gpio_get_value':
arch/arm/mach-msm/include/mach/gpio.h:31: error: implicit declaration of function '__gpio_get_value'
arch/arm/mach-msm/include/mach/gpio.h: In function 'gpio_set_value':
arch/arm/mach-msm/include/mach/gpio.h:36: error: implicit declaration of function '__gpio_set_value'
arch/arm/mach-msm/include/mach/gpio.h: In function 'gpio_cansleep':
arch/arm/mach-msm/include/mach/gpio.h:41: error: implicit declaration of function '__gpio_cansleep'
arch/arm/mach-msm/include/mach/gpio.h: In function 'gpio_to_irq':
arch/arm/mach-msm/include/mach/gpio.h:46: error: implicit declaration of function '__gpio_to_irq'
arch/arm/mach-msm/lge/lge_gpio_switch.c: In function 'lge_gpio_switch_probe':
arch/arm/mach-msm/lge/lge_gpio_switch.c:165: error: implicit declaration of function 'gpio_request'
arch/arm/mach-msm/lge/lge_gpio_switch.c:169: error: implicit declaration of function 'gpio_direction_input'
make[2]: *** [arch/arm/mach-msm/lge/lge_gpio_switch.o] Error 1
make[1]: *** [arch/arm/mach-msm/lge] Error 2
make: *** [arch/arm/mach-msm] Error 2
make: INTERNAL: Exiting with 3 jobserver tokens available; should be 2!

i tried to comment out the errors to see what happened.. just gave me more and more errors lol.. im not exactly sure what its looking for int he places..
 
Upvote 0

BEST TECH IN 2023

We've been tracking upcoming products and ranking the best tech since 2007. Thanks for trusting our opinion: we get rewarded through affiliate links that earn us a commission and we invite you to learn more about us.

Smartphones