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

Root Compiling ICS for Breakout

I've tried porting it to both Gingerbread (2.3.3) and ICS that I both compiled myself by just downloading the source from Google and compiling it.
 
Do you have a guide that you've been following? I'd like to try messing around with some ROMs but i'm not sure how to compile the AOSP or CyanagonMod.
 
Here's the compiling process:

http://www.freeyourandroid.com/guide/compile-ics

Google's guide:

http://source.android.com/source/downloading.html

Another video that might be helpful:

http://www.youtube.com/watch?v=4VT4Ygqklck

Hopefully you have a quad core because you'll need it. 4 gigs of RAM will work (that's what I have) but you'll need a ton of swap. 4 gigs of swap should suffice. Ubuntu 10.04 is recommended, but after I made this thread I installed 12.04 and successfully got it to compile.

Java is a pain to install on Ubuntu, OpenJDK WON'T work.

Try this guide for Java:

How to install Java 7 on Ubuntu 12.04 LTS

Thanks for the help because I need all that I can get! I'm a newbie myself so I may not even be doing anything right.
 
I just used the kitchen. See the link at post #2 above.

There was another guide that I found myself that I tried too but I can't seem to find the link.
 
I think it's harder than it seems. There's a lot of proprietary files and stuff that Pantech hasn't published the source code for.
 
I got a system dump from the marauder-well, the /system folder anyway. Hopefully, we can help them out with rooting and maybe we can get ics :P
 
I didn't get a notification for the new posts, but glad to hear you got a system dump of the Marauder! Do you actually have a Marauder? If so, how did you manage to get the dump?
 
I've been talking to the people over at the Marauder forums. My plan is to first work on creating a Cyanogenmod ROM for the Breakout and then working to ICS from there. My hope is that porting CM will teach me some stuff about porting ICS.

Here's the link, if anyone's interested. FYI it doesn't contain the kernel or anything, just /system for now. http://goo.gl/s6edp
 
GOOD NEWS (maybe)!

I found the KERNEL SOURCE for the BREAKOUT on Pantech's open source site. Go to opensource.pantech.com, register, login, click My Page (at the top), scroll the list on the left till you see ADR8995, click that, and click the link in the middle of the page.

Maybe we can get somewhere now?
 
Cool, thanks! BTW, did you get compilation errors like I'm getting? I removed the 'treat warnings as errors' option (-Werror) from the makefile but now I'm getting "include/linux/coda.h:223: error: expected specifier-qualifier-list before 'u_quad_t'" If you got anything like that how did you fix it?
 
I'm not really knowledgeable about this, but I did get a number of warnings and the kernel ran fine. (At least, it booted lol) It only seems to work if you run the ./build.sh script because I think Pantech sets up some special variables. I modified mine a bit, here it is if you're interested:
Code:
#!/bin/bash
echo "Setting build flags..."
export OEM_PRODUCT_MANUFACTURER=PANTECH

SKY_ANDROID_FLAGS="-DFEATURE_AARM_RELEASE_MODE"
SKY_ANDROID_FLAGS+=" ""-DMODEL_ID=0x1000"
SKY_ANDROID_FLAGS+=" ""-DBOARD_VER=0x100041"
SKY_ANDROID_FLAGS+=" ""-include include/CUST_PANTECH.h"
SKY_ANDROID_FLAGS+=" ""-DFIRM_VER=\\\"CU899501.BB\\\""
SKY_ANDROID_FLAGS+=" ""-DSYS_MODEL_NAME=\\\"APACHE\\\""
SKY_ANDROID_FLAGS+=" ""-DSKY_MODEL_NAME=\\\"ADR8995\\\""

export SKY_ANDROID_FLAGS

#SKY_ANDROID_FLAGS := -DFEATURE_AARM_RELEASE_MODE \
#					-DMODEL_ID=0x1000 \
#					-DBOARD_VER=0x100041 \
#					-include include/CUST_PANTECH.h \
#					-DFIRM_VER=\"S8995VWB813F.BB\" \
#					-DSYS_MODEL_NAME=\"APACHE\" \
#					-DSKY_MODEL_NAME=\"ADR8995\"

export ARCH=arm;
export CROSS_COMPILE=~/CodeSourcery/Sourcery_G++_Lite/bin/arm-none-eabi-;
threads=1;
echo -n "Input number of threads [1]: ";
read threads;

for configs in ./arch/arm/configs/msm7630*
do
echo $configs
done
echo -n "Input config name: "
read config;
echo "Setting up .config...";
make $config;
echo "Starting make process...";
make -j$threads;
echo "Creating boot image...";
./mkbootimg  --kernel ./arch/arm/boot/zImage --ramdisk ./ramdisk.img --cmdline "console=ttyMSM2 androidboot.hardware=qcom" --base 0x00200000 --pagesize 4096 --output ./boot.img
echo "Done!!! Created boot image from $config";

(your CROSS_COMPILE is probably different)
 
It compiled and I got the kernel to boot fine. In order to patch the kernel, am I not going to have to patch sequentially from 2.6.35.7 all the way to 3.0.1? And isn't the standard linux kernel a little different from the android one? Just some questions I have.
 
Yes I think you would need to patch sequentially. Luckily, there's not that many versions of the kernel in between. And I *think* the standard linux patches will work.
 
Thanks for that. After reading, it looks like I'm going to patch from 2.6.37 to 2.6.38 to 2.6.39 then to 3.0.1. But it looks like the kernel patches don't go up all the way to 2.6.38 and 2.6.39, the highest seems to be 2.6.13.
 
Well, I can't help you with specifics, sorry :P

But I will continue writing on trying to port Cyanogen Mod. Then we can work towards an ics ROM. I might open a Google code repo to assist, what do you think would be a good dev name for the breakout?

Send from my Android
 
Sounds great to me. Go for it.

There's something that's peculiar to me. I've seen some devices lately that are able to use ICS with kernel 2.6.37 (the same version as on the Breakout). Do you think this actually means that we might not need to port the kernel? I know we're talking about different devices here, but it looks to me that if ICS on one phone can support that kernel, looks like ICS can support the same kernel on other phones.
 
Back
Top Bottom