yashsingh1/xdaforums huggingface dataset:
[AT&T Samsung Galaxy S II Skyrocket SGH-I727] topprospect:
Holy crap it (kinda) worked.

This is 2.3.6, not ICS and most things don't work (cel, wifi, gps, sound) so no one get too excited.

I compiled Code Aurora's gingerbread_house branch with M8260AAABQNLZA307007.xml, fixed the recovery_mmc.fstab, built, hacked out the first assert() statement in updater-script, flashed, then flashed Da_G's 0.41 kernel. It boots into Android though.

Problems as I see it:

there is an assert statement in updater-script that doesn't match our CWM version. "assert(getprop("ro.product.device") == "msm8660_surf" || getprop("ro.build.product") == "msm8660_surf");" I believe we need this check to be "hercules," correct? Does anyone know how to make the build create a proper check?

the kernel, or possibly flashing of boot.img, doesn't work. I had to use Da_G's kernel. I believe I read somewhere that this statement in updater-script doesn't work: "package_extract_file("boot.img", "/dev/block/mmcblk0p8");" In other roms I see: "assert(package_extract_file("boot.img", "/tmp/boot.img"), write_raw_image("/tmp/boot.img", "/dev/block/mmcblk0p8"), delete("/tmp/boot.img"));" I tried that but it failed with "write_raw_image: no mtd partition named "/dev/block/mmcblk0p8" Any ideas?

cel, wifi, gps, and sound don't work. Need blobs from AT&T stock image probably

the DPI is defaulting to something really high. Fonts and graphics appear small. Anyone know how to fix? Maybe something in system.props?

animations are jerky. I assume it isn't using HW accel.

I'm sure a ton more...

I'm going to go work on some of the above issues. If someone has insight or a clue into any of these, please post.

Also, I'll create a new GitHub project with my work so others can clone and contribute.
[AT&T Samsung Galaxy S II Skyrocket SGH-I727] jomeister15:
Ahh, man this is great news! Now we know that what we're working on with ICS actually does have a semi-good chance at working! Yeah, the github thing is also a great idea; since the skyrocket doesn't really have anything resembling a full device tree right now. As for the errors with gps, wifi, sound, etc..., I think you're on the right track with the blobs from at&t stock image. When you get the github up and running I'll take a look at some of the other stuff to see if I can't help with any of it. Seriously though, good job and thanks.

Edit: Could you link to the final flashable zip you created? I'm sure some people here would like to see AOSP 2.3.6 on a skyrocket even if multiple things aren't working.
[AT&T Samsung Galaxy S II Skyrocket SGH-I727] topprospect:
Sure. Here is the link: http://d-h.st/X8O

Instructions:

wipe in recovery

flash this zip

flash Da_G's 0.41 kernel

reboot

wait a couple minutes for boot (will be at black screen for awhile)

Everyone please remember that this is absolutely unusable. Touch screen and buttons are pretty much all that work. GPS, wifi, cel, data, bluetooth, all broken.
[AT&T Samsung Galaxy S II Skyrocket SGH-I727] skeepon:
do you know exactly what doesnt work?

*100th post!* :D
[AT&T Samsung Galaxy S II Skyrocket SGH-I727] jim93:
I generally would agree with you before I joined XDA. There isnt much teamwork. Android is open source but its not like Mozilla or another opensourced project. Its a very competitive community and even though like you I would have hoped we had some idealized situation where all the devs had a communal github they dont and I dont ever see it happening. As it is everyone is on the verge of making accusations of "kanging" the modifications they added on a huge code base (Android/Samsung) that was not even created by themselves. Look at the tags some teams have "everything else is just copy of our work" obviously very territorial but I guess they are entitled to that.
[AT&T Samsung Galaxy S II Skyrocket SGH-I727] jomeister15:
Congrats, read this.

Edit: This 2.3.6 AOSP not ICS

----------------------------------------------------------------------------------------------------------------------------------------

Speaking of ICS, I've been (attempting) compiling all day with the new and updated msm8660_celox_usa_att_defconfig provided to me by romracer, and all is going well except for this one file that is just really getting on my nerves. It's in the kernel/drivers/gpio folder, and it's name is" pmic8901-mpp.c".

Here's the error I've been staring at for the past 3 hours

/media/NewVolume/kernel/drivers/gpio/pmic8901-mpp.c: In function 'pm8901_mpp_write':
/media/NewVolume/kernel/drivers/gpio/pmic8901-mpp.c:49: error: implicit declaration of function 'pm8901_write'
/media/NewVolume/kernel/drivers/gpio/pmic8901-mpp.c: In function 'pm8901_mpp_to_irq':
/media/NewVolume/kernel/drivers/gpio/pmic8901-mpp.c:59: error: dereferencing pointer to incomplete type
/media/NewVolume/kernel/drivers/gpio/pmic8901-mpp.c: In function 'pm8901_mpp_get':
/media/NewVolume/kernel/drivers/gpio/pmic8901-mpp.c:71: error: implicit declaration of function 'pm8901_irq_get_rt_status'
/media/NewVolume/kernel/drivers/gpio/pmic8901-mpp.c: In function 'pm8901_mpp_probe':
/media/NewVolume/kernel/drivers/gpio/pmic8901-mpp.c:185: error: implicit declaration of function 'pm8901_read'
/media/NewVolume/kernel/drivers/gpio/pmic8901-mpp.c:193: error: dereferencing pointer to incomplete type

I'm pretty sure it has something to do with the includes (or the lack thereof) from the file, so here they are as well.

#include <linux/platform_device.h>
#include <linux/gpio.h>
#include <linux/mfd/pmic8901.h>
#include <mach/mpp.h>
#include <linux/seq_file.h>

Can anyone tell me what I'm missing here, or if I'm actually missing anything at all?
[AT&T Samsung Galaxy S II Skyrocket SGH-I727] topprospect:
Seems like you are on the right track. Try grepping the entire tree for one of the missing functions. "cd <top_of_your_tree>; grep -r pm8901_read ." If you find the header file that it is declared in, just add a #include for it in pmic8901-mpp.c.

Is this the ICS tree? I'll grep my Gingerbread tree, but I don't have ICS checked out.
[AT&T Samsung Galaxy S II Skyrocket SGH-I727] jomeister15:
Ok, thanks for the advice, and yeah it's the ICS tree. You should really grab the ICS source; it'd be great you have your help.

Edit: Oh, if you do end up getting the source, go back to page 3 or so of this thread and look at some of romracer's posts. They contain useful information.
[AT&T Samsung Galaxy S II Skyrocket SGH-I727] topprospect:
This is all from my Gingerbread tree, but I bet it applies to ICS.

./kernel/drivers/mfd/pmic8901.c defines these functions and they (the authors) use some sort of automatic header file generation. Note that EXPORT_SYMBOL() calls in the .c file.

In my tree, I can see that pmic8901.h is generated as a result of building. It is in ./out/debug/target/product/msm8660_surf/obj/KERNEL_OBJ/source/include/linux/mfd/pmic8901.h.

Seem like something might be messed up in the phase of your build that creates this autogenerated pmic8901.h.

I found this Stack Overflow article that might help:

http://stackoverflow.com/questions/6670589/use-of-export-symbol
[AT&T Samsung Galaxy S II Skyrocket SGH-I727] jomeister15:
Thank you so much for this prospect; I switched out the pmic8901.h with the one from Da_g's kernel, and yep, sure enough, it compiled past the point where I was getting the error. However, I do fear that other errors may start popping up in the compiling progress because of the auto-generated header files *sigh*.... Looks like another long night of debugging for me.
[AT&T Samsung Galaxy S II Skyrocket SGH-I727] whitesox311:
I have a question for you jomeister or anybody else working on these ROMs. I have a little coding experience via school, but I don't know where to start with these android ROMs

Do you guys have any suggestions on a good starting point? Either a general starting point or something very specific to THIS project? I feel I could be of some help to the community.

:confused::confused::confused:
[AT&T Samsung Galaxy S II Skyrocket SGH-I727] jomeister15:
Building roms usually isn't as difficult as what we're doing here. Here we're attempting to compile a modified version of AOSP (google it if you don't know what it means) to work with the skyrocket. As a starting point, I'd recommend something like dsxida's android kitchen; that's always good for beginners. But hey, if you do have any experience with linux/linux kernel, it'd be great to have your help.
[AT&T Samsung Galaxy S II Skyrocket SGH-I727] whitesox311:
I've baked roms together using kitchens, but that's mostly just automated stuff. I'd have to run *nix on a VM, but I've been running BSD variants for many many years and now have the proper programming background to tackle something like this.

Any suggestions on places to go to get more information about the android SDK and AOSP and such? IRC channels and the like?
[AT&T Samsung Galaxy S II Skyrocket SGH-I727] R4INS:
I flashed it, you know i had to lol. Like you said nothing works really. But man is it good to see pure AOSP on this thing. Keep it up guys you are really getting somewhere!
[AT&T Samsung Galaxy S II Skyrocket SGH-I727] topprospect:
Ha ha, glad it didn't brick your phone.

Guys, I created a GitHub repo for the modifications that I did. I'm going to create GitHub Issues for all the problems in the build. This is in the hopes that we can split up the work.

http://bit.ly/yUnWHm

jomeister15, can you update the 1st post with this new link? Btw, I like your inspirational mountain. I'm ready for the day now.

---------- Post added at 09:13 AM ---------- Previous post was at 08:20 AM ----------

DPI should be fixed. I added ro.sf.lcd_density=240 to the system.prop. Not verified though.

With respect to the proprietary blobs needed, this build defaults to not needing them and thus why it boots but nothing much works. If you set QC_PROP=true when you run make, it will try to use proprietary blobs. I don't see a mechanism (yet) to copy those blobs over to the right place in the build tree. I am going to try to replicate what the cyanogenmod build does with extract_files.sh. But if anyone has experience with how to properly plug-in proprietary blobs into the qcom build flow, your help would be most appreciated.
[AT&T Samsung Galaxy S II Skyrocket SGH-I727] jomeister15:
No problem, link added. Good job on fixing the lcd density.... I think you're on the right track with trying extract_files.sh.
[AT&T Samsung Galaxy S II Skyrocket SGH-I727] topprospect:
Status update for today: I have the extract-files.sh mechanism from Cyanogenmod working in this tree. I am (very) slowly going through the build trying to add blobs from a stock Skyrocket image. The build dies and then I go find another blob to get the build further, and repeat. Thus, I have not gotten it to compile cleanly yet with QC_PROP=true (which is needed to get the proprietary hardware working).

Audio is my current stumbling block. The tree doesn't even seem to compile properly with QC_PROP=true. I am going to just try to disable audio and move on.
[AT&T Samsung Galaxy S II Skyrocket SGH-I727] jomeister15:
Will reply to this with my own status update for ICS. Slowly chugging along through the modified kernel files, will find an error every 5th make or so, throw a #include onto the .c file, and then continue. I'm not even entirely sure if what I'm doing (building using celox_att_usa_defconfig) will even succeed in booting, but I have high hopes just because you got something working with a relatively similar device tree (albeit w/ a gingergread kernel made for the skyrocket, but you know). I'm probably going to be able to a dig a bit deeper just because it's the weekend now, and hopefully romracer will take another look for the same reason.

Edit: Top, if/when you do get a new(er) build than the one with all the problems, could you link me to it so I could post it here?
[AT&T Samsung Galaxy S II Skyrocket SGH-I727] topprospect:
Yes, of course. After I get a successful build with QC_PROP=true, I will definitely post a zip. Ill also update my github soon. But, I don't think you should try QC_PROP=true on your ICS tree until you get the false case booting (meaning, my github changes that I'm about to commit might not help you too much)
[AT&T Samsung Galaxy S II Skyrocket SGH-I727] Da_G:
Hi, just popped in and read this. Are you guys collaborating on this somewhere real time? (i.e. IRC)
[AT&T Samsung Galaxy S II Skyrocket SGH-I727] topprospect:
With a lot of hacking of the CAF tree, it builds fully with QC_PROP=true. It does not boot on the device, however. Thankfully I can connect with adb logcat and see that many blobs are still missing (dynamic linker errors). I am going through them one by one. I will post again when it boots far enough to see the Launcher.

---------- Post added at 01:16 PM ---------- Previous post was at 01:15 PM ----------

No, not yet. Just over XDA and GitHub. I would like somewhere to go for realtime debug discussion. What IRC should we use? irc.irondust.net #skyrocket?
[AT&T Samsung Galaxy S II Skyrocket SGH-I727] cmlohff:
While I have no knowledge of how to coding or compiling and the sorts, I have been following this thread and was wondering if someone could clarify something for me. So this is bonestock ICS with no drivers and what you guys are currently doing is trying to either write new drivers or use currently existing ones to make this work on our device? So essentially, if this is successful it will be the AOSP ICS build, not the Samsung version of ICS that will be released with touchwiz and the likes baked in? Thank you in advance.
[AT&T Samsung Galaxy S II Skyrocket SGH-I727] jomeister15:
Yeah, you're on the right track with this assumption. Basically, what we have to work with is qualcomm's AOSP ICS release for the msm8660 chipset, which is what the skyrocket uses. topprospect is currently working on a GB AOSP release, while I'm trying to get an ICS AOSP build to at least boot on our device. The key drivers that are actually needed for the build to run are already included in the msm8660 source, but as for any other skyrocket specific things it's going to be difficult since Samsung hasn't released any kernel source for ICS. The workaround to this is taking the ICS kernel from the msm8660 source and building it with the defconfig used in other skyrocket kernels, which is what I've been working on for the past two days or so.
[AT&T Samsung Galaxy S II Skyrocket SGH-I727] cmlohff:
Thank you for clarifying this for me. Seeing as how Samsung is taking some time to release their version of ICS, I am glad that this community is taking the initiative to compile ICS for the Skyrocket on its own.
[AT&T Samsung Galaxy S II Skyrocket SGH-I727] jomeister15:
Yeah, I hop on the skyrocket IRC from time to time, but I've never discussed anything related to this project on it. Oh, and Da_g, if you're not too busy, we could really use your help with the kernel aspect of this. The more the merrier, right?
[AT&T Samsung Galaxy S II Skyrocket SGH-I727] Da_G:
Yup, I'm hopping on board, setting up my build environment for it now :)
[AT&T Samsung Galaxy S II Skyrocket SGH-I727] kornklown69:
im loving this looks like im going to get back on the irc and watch progress again
[AT&T Samsung Galaxy S II Skyrocket SGH-I727] Fortune090:
Oooooo looks like this is starting to get real exciting! :)
[AT&T Samsung Galaxy S II Skyrocket SGH-I727] topprospect:
I have committed my latest. Status and latest build instructions are in the readme on github:

https://github.com/dferg/android_device_msm8660_skyrocket

Long story short, still not booting with the proprietary blobs, although adb works and so debugging is possible.

Again, I am working on Gingerbread here, not ICS.
[AT&T Samsung Galaxy S II Skyrocket SGH-I727] jomeister15:
Ok, just to catch you up to speed, the current plan of action is attempting to build the kernel with the celox_usa_att_defconfig. If you go back to page 3 of this thread, romracer has some useful posts you should look at. I mean, you probably don't need any help with this, but you know, we're here if you need us.
[AT&T Samsung Galaxy S II Skyrocket SGH-I727] appdroid:
Well Da_G is master guy in Kernel. we love his Kernels he is the best. So you guys might have ics ready in matter of time. lets go to IRC!

http://webchat.irondust.net/?channels=skyrocket
[AT&T Samsung Galaxy S II Skyrocket SGH-I727] jomeister15:
Ok, I just finished a new build with a kernel based of the celox_usa_att_defconfig... If anyone wants to turn that boot.img file inside the rom into a flashable zip, or wants to add a line to the updater-script that will install it, that would be nice. I haven't had time to test this one yet to see if it actually works, and I'm heading to bed right now, but if anyone else in a different timezone wants to give it a shot, be my guest. I'll do some more work on this tomorrow. Link here, and in the OP.
[AT&T Samsung Galaxy S II Skyrocket SGH-I727] sk8erwitskil:
Gotta say I'm getting excited with the progress here guys. Keep up the great work
[AT&T Samsung Galaxy S II Skyrocket SGH-I727] topprospect:
I hacked up the updater-script to remove the asserts() and replaced:

package_extract_file("boot.img", "/dev/block/mmcblk0p8");

with:

assert(package_extract_file("boot.img", "/tmp/boot.img"),
write_raw_image("/tmp/boot.img", "/dev/block/mmcblk0p8"),
delete("/tmp/boot.img"));

But I get the following error:

write_raw_image: no mtd partition named "/dev/block/mmcblk0p8"
script aborted: assert failed: write_raw_image("/tmp/boot.img", "/dev/block/mmcblk0p8")
assert failed: write_raw_image("/tmp/boot.img", "/dev/block/mmcblk0p8")

This is the same error that I get from my roms when I build from scratch. /dev/block/mmcblk0p8 definitely exists, confirmed though adb shell. Why does recovery need it to be a "mtd" partition? And where does it get this information?

All the commands in this rom's updater-script match ones from NexusMod and Da_G's kernel only scripts. We are missing something simple here...
[AT&T Samsung Galaxy S II Skyrocket SGH-I727] jomeister15:
I believe I have pinned down the issue with the updater-script not flashing the kernel. I took a look at the CM7 Alpha Build's code block for flashing the boot.img, and it looked something like this:

assert(package_extract_file("boot.img", "/tmp/emmc.img"),
write_raw_image("/tmp/emmc.img", "/dev/block/mmcblk0p8"),
delete("/tmp/emmc.img"));

As to why it would be /tmp/emmc.img is probably related to the nature of the rom (AOSP), but I'm going to try this and see if I have any luck.

Edit: No luck, gave me this error.

assert failed: write_raw_image("/tmp/emmc.img", "dev/block/mmcblk0p8")
E: Error in /emmc/msm8660_surf_signed.zip
(Status 7)
Installation Aborted

Edit 2: Looking at some other ICS builds for other devices, many people have specified that you need to flash the kernel manually after flashing the rom with a tool like fastboot. Will try this and get back to you.
[AT&T Samsung Galaxy S II Skyrocket SGH-I727] topprospect:
I think that is exactly what I was trying just with a different tmp filename.

Once this happens, run "adb shell tail /tmp/recovery.log" to see more debug information. I think you will see the exact error message that I posted: no mtd partition named "/dev/block/mmcblk0p8"

It's weird because if I run Da_G's kernel zip right after I get this error, it works fine. But I used Da_G's updater-script as my example. I don't see a difference.. Ah!!!!
[AT&T Samsung Galaxy S II Skyrocket SGH-I727] Beny The Kid:
And I got:

assert failed: getprop("ro.product.device") == "msm8660_surf" l l

getprop("ro.build.product") == "msm8660_surf"

E: Error in /emmc/download/compiled_ICS.zip

(status 7)

Installation aborted.

When installing the compiled ROM posted in the OP.

Sent from my Galaxy Nexus
[AT&T Samsung Galaxy S II Skyrocket SGH-I727] jomeister15:
Oh yeah, the Compiled ICS build is not meant to flashable... Don't worry though, that assert error you're getting is easily fixable; what we're trying to do is figure out why the kernel isn't flashing with the rest of the rom.
[AT&T Samsung Galaxy S II Skyrocket SGH-I727] arberthebarber:
can't you just make a flashable kernel update zip for now?
[AT&T Samsung Galaxy S II Skyrocket SGH-I727] jomeister15:
A stand-alone flashable kernel update.zip's updater-script has the same issues as the updater-script file in the rom itself because they both use the same code block

assert(package_extract_file("boot.img", "/tmp/boot.img"),
write_raw_image("/tmp/boot.img", "/dev/block/mmcblk0p8"),
delete("/tmp/boot.img"));

to flash the boot.img. I honestly think that if I can get this kernel to flash there is a good chance of it booting, but as of right now I'm not sure how that's possible.
[AT&T Samsung Galaxy S II Skyrocket SGH-I727] alphadog32:
Why don't you try the Vibrant updater-script. Get some files from it, because I know it doesn't flash either, but it may flash if you modify them.
[AT&T Samsung Galaxy S II Skyrocket SGH-I727] topprospect:
Jomeister, in addition to modifying updater-script, try copying over update-binary from a working zip.

I was thinking about this problem over lunch and realized that the partition type information may actually be compiled into this binary.

I'm away from my computer today so I can't try this idea. Let us know if that works.
[AT&T Samsung Galaxy S II Skyrocket SGH-I727] topprospect:
I think this is going to solve it. There is a -t MMC option that we need to have the build set on the ota_from_target_files script. I'm looking on how to get the build to do this.
[AT&T Samsung Galaxy S II Skyrocket SGH-I727] silver03wrx:
You guys are doing a swell job. Keep at it, and youll make headway eventually.
[AT&T Samsung Galaxy S II Skyrocket SGH-I727] jomeister15:
Ok, I'm away from my computer for the rest of the day, but keep me updated on your progress with this.
[AT&T Samsung Galaxy S II Skyrocket SGH-I727] whitesox311:
Same here, setting up ubuntu on vm in order to download the kernel

Having trouble figuring some stuff out, but I want to contribute.
[AT&T Samsung Galaxy S II Skyrocket SGH-I727] topprospect:
jomeister: edit recovery.fstab and change "emmc" for /boot and /recovery to "mtd". Rebuild. Does this work?
[AT&T Samsung Galaxy S II Skyrocket SGH-I727] lart2150:
So I might have no idea what I'm talking about but would it not be worth while to look at the evo 3d gsm CM9 rom as I it's also based on msm8660?

http://xdaforums.com/showthread.php?t=1493242
[AT&T Samsung Galaxy S II Skyrocket SGH-I727] vinvinvinster:
Can you just use dd with a boot.img instead of a recovery zip to see if the kernel works?
[AT&T Samsung Galaxy S II Skyrocket SGH-I727] topprospect:
Good grief..This doesn't work either. I still get the "no mtd partition" error message. I'll try using dd, that's a good idea.
[AT&T Samsung Galaxy S II Skyrocket SGH-I727] hayn_pryde46:
Would This Work http://android-dev.us/viewtopic.php?f=25&t=25

Or This:

show_progress(0.200000, 10);
assert(package_extract_file("boot.img", "/tmp/boot.img"),
write_raw_image("/tmp/boot.img", "/dev/block/mmcblk0p5"),
delete("/tmp/boot.img"));
[AT&T Samsung Galaxy S II Skyrocket SGH-I727] sk8erwitskil:
So I'm not sure if this is relevant at all but the touchpad has the same cpu as the skyrocket and they have a working ICS build and kernel, would it be possible to maybe port stuff over from there to make it easier? Just curious if that's even a possibility.
[AT&T Samsung Galaxy S II Skyrocket SGH-I727] topprospect:
Looks like that is HTC specific. xboarder56 is the op of that thread. Maybe he can comment.

Yeah, that is the exact code (diff partition number though) that we are trying to get to work. The update-binary is somehow preventing the above code from working.

---------- Post added at 02:40 PM ---------- Previous post was at 02:37 PM ----------

Actually, that's a great idea. Do you happen to have a link to their XDA thread or better yet a GitHub where they have been storing their code?
[AT&T Samsung Galaxy S II Skyrocket SGH-I727] Sirgatory:
Is this what you wanted?

git@github.com:CyanogenMod/hp-kernel-tenderloin.git