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

Root Is anyone actually working on a ICS/JB Rom?

Well i guess iam stuck in ics... So far i was able to root manualy. Today ill try and get cwm installed.

Let me know when you got it in there. I got the next 2 days off work so i'm going to try to build the sources.

Got distracted last night with the girl and Mortal Kombat 9 LOL :D. I'm ranked like 249 in the world in tag team mode.

By the way, if any of you play i made an app called MK9 dashboard (she's using it on the tablet), it's on the market. Unfortunately i've sold only 7 cause no one has left any reviews :( I guess in my case that would be much more valuable than any donation if anyone wants to contribute to my work.
 

Attachments

  • CAM00219.jpg
    CAM00219.jpg
    11.7 KB · Views: 172
Upvote 0
For anyone interested, I couldn't get the sun-java6-jdk package installed in ubuntu. Turns out for some b.s licencing reason now we gotta do it the hard way:

ADDITIONAL INFO
download the Java 6 SDK from HERE. To install, open a terminal and run the following commands:

Code:
chmod +x jdk-6u35-linux-x64.bin
sudo ./jdk-6u35-linux-x64.bin
sudo mv jdk1.6.0_35 /usr/lib/jvm/
sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.6.0_35/bin/java 1
sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk1.6.0_35/bin/javac 1
sudo update-alternatives --install /usr/bin/javaws javaws /usr/lib/jvm/jdk1.6.0_35/bin/javaws 1

sudo update-alternatives --config java
sudo update-alternatives --config javac
sudo update-alternatives --config javaws

NOTE: after each 'update-alternative'-command, choose the correct (new) java version!

Then this, because the jar command is missing.. ugh.
cd /usr/bin
sudo ln -s /usr/lib/jvm/jdk1.6.0_35/bin/jar

The good news is, i'm compiling... finally. lol as we speak.
 
Upvote 0
I'm getting there. Just finding little bits that I have to add to scripts here and there so it all compiles ok. Mostly due to outdated documentation and stuff, but i think it's building fine now :) It just takes a while. Forgot to add multiple processors to my virtual machine.

After it's done building i'll pack it together into a zip with android kitchen, just gotta remember what options I chose before when I made my last kernel. Something like unpack, replace a file or two and re-pack. The good news is that I looked at the cayman_mpcs config file and it just so happens to have the same modified date as the verizon one so that means someone's been updating it and it will probably work when it's built :)
 
Upvote 0
I'm not doing anything even close to what the other guy did.


hmm...
ran into an error building the kernel.
CC lge/com_device/display/backlight_lm3537.o
/home/user/Desktop/WORKING_DIRECTORY/kernel/lge/com_device/display/backlight_lm3537.c: In function 'lm3537_backlight_off':
/home/user/Desktop/WORKING_DIRECTORY/kernel/lge/com_device/display/backlight_lm3537.c:246: error: 'gpio' undeclared (first use in this function)
/home/user/Desktop/WORKING_DIRECTORY/kernel/lge/com_device/display/backlight_lm3537.c:246: error: (Each undeclared identifier is reported only once
/home/user/Desktop/WORKING_DIRECTORY/kernel/lge/com_device/display/backlight_lm3537.c:246: error: for each function it appears in.)
make[4]: *** [lge/com_device/display/backlight_lm3537.o] Error 1
make[3]: *** [lge/com_device/display] Error 2
make[2]: *** [lge/com_device] Error 2
make[1]: *** [lge] Error 2
make: *** [sub-make] Error 2
 
Upvote 0
I got this error compiling the data/rom part

target thumb C: powertop <= external/powertop/powertop.c
target thumb C: powertop <= external/powertop/config.c
In file included from bionic/libc/include/sys/types.h:39,
from bionic/libc/include/unistd.h:33,
from external/powertop/powertop.c:26:
external/powertop/../../../kernel/include/linux/types.h:13:2: warning: #warning "Attempt to use kernel headers from user space, see http://kernelnewbies.org/KernelHeaders"
In file included from bionic/libc/kernel/arch-arm/asm/signal.h:82,
from bionic/libc/include/signal.h:35,
from bionic/libc/include/sys/select.h:34,
from bionic/libc/include/unistd.h:34,
from external/powertop/powertop.c:26:
external/powertop/../../../kernel/include/asm-generic/signal.h:94: error: '__BITS_PER_LONG' undeclared here (not in a function)
external/powertop/../../../kernel/include/asm-generic/signal.h:95: error: conflicting types for 'sigset_t'
bionic/libc/kernel/arch-arm/asm/signal.h:20: note: previous declaration of 'sigset_t' was here
In file included from bionic/libc/include/signal.h:35,
from bionic/libc/include/sys/select.h:34,
from bionic/libc/include/unistd.h:34,
from external/powertop/powertop.c:26:
bionic/libc/kernel/arch-arm/asm/signal.h:84: error: redefinition of 'struct sigaction'
bionic/libc/kernel/arch-arm/asm/signal.h:97: error: redefinition of 'struct sigaltstack'
bionic/libc/kernel/arch-arm/asm/signal.h:101: error: conflicting types for 'stack_t'
external/powertop/../../../kernel/include/asm-generic/signal.h:119: note: previous declaration of 'stack_t' was here
In file included from bionic/libc/include/sys/types.h:39,
from bionic/libc/include/unistd.h:33,
from external/powertop/config.c:25:
external/powertop/../../../kernel/include/linux/types.h:13:2: warning: #warning "Attempt to use kernel headers from user space, see http://kernelnewbies.org/KernelHeaders"
In file included from bionic/libc/kernel/arch-arm/asm/signal.h:82,
from bionic/libc/include/signal.h:35,
from bionic/libc/include/sys/select.h:34,
from bionic/libc/include/unistd.h:34,
from external/powertop/config.c:25:
external/powertop/../../../kernel/include/asm-generic/signal.h:94: error: '__BITS_PER_LONG' undeclared here (not in a function)
external/powertop/../../../kernel/include/asm-generic/signal.h:95: error: conflicting types for 'sigset_t'
bionic/libc/kernel/arch-arm/asm/signal.h:20: note: previous declaration of 'sigset_t' was here
In file included from bionic/libc/include/signal.h:35,
from bionic/libc/include/sys/select.h:34,
from bionic/libc/include/unistd.h:34,
from external/powertop/config.c:25:
bionic/libc/kernel/arch-arm/asm/signal.h:84: error: redefinition of 'struct sigaction'
bionic/libc/kernel/arch-arm/asm/signal.h:97: error: redefinition of 'struct sigaltstack'
bionic/libc/kernel/arch-arm/asm/signal.h:101: error: conflicting types for 'stack_t'
external/powertop/../../../kernel/include/asm-generic/signal.h:119: note: previous declaration of 'stack_t' was here
make: *** [out/target/product/generic/obj/EXECUTABLES/powertop_intermediates/config.o] Error 1
make: *** Waiting for unfinished jobs....
external/powertop/powertop.c: In function 'main':
external/powertop/powertop.c:1010: warning: assignment discards qualifiers from pointer target type
external/powertop/powertop.c:1012: warning: assignment discards qualifiers from pointer target type
external/powertop/powertop.c:1014: warning: assignment discards qualifiers from pointer target type
external/powertop/powertop.c:1048: warning: passing argument 1 of 'push_line' discards qualifiers from pointer target type
external/powertop/powertop.c:88: note: expected 'char *' but argument is of type 'const char *'
make: *** [out/target/product/generic/obj/EXECUTABLES/powertop_intermediates/powertop.o] Error 1

If anyone knows how to get past either error, let me know. I'm considering just removing powertop lol
 
Upvote 0
Which defconfig are u using?


for building android, i'm just doing a :
. build/envsetup.sh

Added these guys to my path (to get past some errors):
[HIGH]PATH=/usr/lib/jvm/jdk1.6.0_35/bin:$PATH
PATH=/home/user/Desktop/WORKING_DIRECTORY/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin:$PATH
[/HIGH]

choosecombo 1 generic user
make -j4



for building the kernel
[HIGH]. build/envsetup.sh
added the paths like before
make cayman_mpcs_us_defconfig ARCH=arm CROSS_COMPILE=arm-eabi- O=out
make ARCH=arm CROSS_COMPILE=arm-eabi- O=out[/HIGH]
 
Upvote 0
I had to edit:

lge/com_device/display/backlight_lm3537.c
It had a commented variable that it used down the line.
[HIGH]void lm3537_backlight_off(void)
{
//Kanaida - 11/29/2012: Uncommented the line below to allow build to continue
int gpio = main_lm3537_dev->gpio;[/HIGH]

lge/com_device/input/lge_touch_core.c
[HIGH]//KANAIDA - 11/29/2012 : Lets assume this is always off for now to let compiler work.
//commented line below out
// if(key_touch_logging_status == 1)
// {
// printk(KERN_INFO "%s(), up x:%d, y:%d\n",__func__,
// ts->ts_data.prev_data[ts->ts_data.total_num].x_position,
// ts->ts_data.prev_data[ts->ts_data.total_num].y_position );
// slate_send_touch_log_packet(ts->ts_data.prev_data[ts->ts_data.total_num].x_position,
// ts->ts_data.prev_data[ts->ts_data.total_num].y_position, 0);
// }[/HIGH]

key_touch_logging_status wasn't there or something like that. I could care less. comment.

Made changes to the mpcs defconfig. Looks like LG's code is incomplete. And hopefully also isn't required :) :
[HIGH]CONFIG_LGE_FACTORY=y -> n
CONFIG_LGE_SUPPORT_RAPI=y -> n
CONFIG_LGE_DIAGTEST=y -> n[/HIGH]

Commented out stupid unrelated code that wouldn't compile.
[HIGH]/kernel/drivers/char/diag/diagchar_core.c

//KANAIDA - 11/29/2012 - We don't have a sprint slate lol.. comment.
//#if 1 //SPRINT_SLATE_KEYPRESS_TEST
// else if (iocmd == DIAG_IOCTL_BULK_DATA){
// struct slate_data_buffer *mb;
// mb = (struct slate_data_buffer *)ioarg;
// mutex_lock(&driver->diagchar_mutex);
// if (!buf_hdlc)
// buf_hdlc = diagmem_alloc(driver, HDLC_OUT_BUF_SIZE, POOL_TYPE_HDLC);
//
// /* LGE_CHANGE [dojip.kim@lge.com] 2010-05-29, null check */
// if (NULL == buf_hdlc) {
// printk(KERN_ERR "%s(), buf_hdlc is NULL\n",__func__);
// mutex_unlock(&driver->diagchar_mutex);
// return -1;
// }
//
// printk(KERN_INFO "LG DIAG: alloc memory for driver_mtc->write_ptr_svc \n");
// driver->write_ptr_svc = (struct diag_request *)(diagmem_alloc(driver, sizeof(struct diag_request), POOL_TYPE_WRITE_STRUCT));
//
// /* LGE_CHANGE_S [sm.shim@lge.com] 2010-07-14, diagmem_alloc bug fix */
// if(NULL == driver->write_ptr_svc) {
// mutex_unlock(&driver->diagchar_mutex);
// return -1;
// }
// /* LGE_CHANGE_E [sm.shim@lge.com] 2010-07-14, diagmem_alloc bug fix */
//
// /* TODO: check the length, overflow? */
// memcpy(buf_hdlc, mb->data, mb->data_length);
//
// driver->write_ptr_svc->buf = buf_hdlc;
// driver->write_ptr_svc->length = mb->data_length;
//
// success = usb_diag_write(driver->legacy_ch, driver->write_ptr_svc);
// if (success) {
// /* LGE_CHANGE [dojip.kim@lge.com] 2010-06-06,
// * should free the write_ptr_svc also
// */
// if(driver->write_ptr_svc != NULL && driver->diagpool != NULL)
// {
// diagmem_free(driver, driver->write_ptr_svc, POOL_TYPE_WRITE_STRUCT);
// printk(KERN_INFO "%s(), diagmem_free, driver->write_ptr_svc\n",__func__);
// }
// else
// {
// printk(KERN_INFO "%s(), already driver->write_ptr_svc is free\n",__func__);
// }
//
// /* Free the buffer right away if write failed */
// if(driver->write_ptr_svc != NULL && driver->diagpool != NULL)
// {
// diagmem_free(driver, buf_hdlc, POOL_TYPE_HDLC);
// printk(KERN_INFO "%s(), diagmem_free, buf_hdlc\n",__func__);
// }
// else
// {
// printk(KERN_INFO "%s(), already buf_hdlc is free\n",__func__);
// }
// }
// buf_hdlc = NULL;
//
// mutex_unlock(&driver->diagchar_mutex);
// }
//#endif //SPRINT_SLATE_KEYPRESS_TEST[/HIGH]
 
Upvote 0
Disabling more LG diagnostics BS in:
/kernel/include/linux/input.h

[HIGH]static inline void input_report_abs(struct input_dev *dev, unsigned int code, int value)
{
//Kanaida - 11/29/2012, commenting some stuff here...
// if(LGF_TestModeGetDisableInputDevices())
// ;
// else
input_event(dev, EV_ABS, code, value);
}

static inline void input_report_ff_status(struct input_dev *dev, unsigned int code, int value)
{
input_event(dev, EV_FF_STATUS, code, value);
}

static inline void input_report_switch(struct input_dev *dev, unsigned int code, int value)
{
input_event(dev, EV_SW, code, !!value);
}

static inline void input_sync(struct input_dev *dev)
{
//Kanaida - 11/29/2012, commenting some stuff here...
// if(LGF_TestModeGetDisableInputDevices())
// ;
// else
input_event(dev, EV_SYN, SYN_REPORT, 0);
}

static inline void input_mt_sync(struct input_dev *dev)
{
//Kanaida - 11/29/2012, commenting some stuff here...
// if(LGF_TestModeGetDisableInputDevices())
// ;
// else
input_event(dev, EV_SYN, SYN_MT_REPORT, 0);
}[/HIGH]
 
  • Like
Reactions: jprosek
Upvote 0
I like how active you are on this thread kanaida :D!

lol... It's just an easy way to take notes and keep track when you don't know how to use GIT that well... that and I rarely ever see people write what they do step by step trying to get stuff to work. That's been my own pain in learning. I don't even write C, I do vb.net... kinda winging it here with the edits but It doesn't look so hard. :pcguru:
 
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