yashsingh1/xdaforums huggingface dataset:
[Ouya Android Development] professorpoptart:
Well since I've been spinning my wheels here on this status 6, let me try and port a tf700 rom real quick. I don't expect it to work 100%, just looking for a successful flash and maybe boot!

edit:

well I must be doing something wrong, getting the same status 6 with this one too.
[Ouya Android Development] mybook4:
I tried downloading the zip, but I get into some weird Authorize Download loop. Can you post just the updater-script to a pastebin? I ran into status 6 a couple times when I was making the CWM zip.
[Ouya Android Development] professorpoptart:
http://pastebin.com/CgmYJVQY

I think it has something to do with mounting system.

Im using dsixda's android kitchen to build and sign.

edit:

I get this when building, which I think is causing the issue but I dont see it in the script.

Please ensure these device mount statements are correct:

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

mount("MTD", "system", "/system"); "0 /system/

edit:

I see that theres an option in the kitchen for "Check update-script" it found some errors with the fonts. Pushing the zip now to try the new build.

nope same thing status 6.
[Ouya Android Development] mybook4:
When I mounted /system, I did it with

I unmounted it with:

These worked for me. I believe this works because the recovery.fstab defines /system. You could try replacing the mount lines with the lines above.

There's more going on in the script, so it could be something else.
[Ouya Android Development] professorpoptart:
from what I understand it runs line for line until it errors, and since my /system is never formatted I would say the error is probably that line.

edit:

While writing this I took a look in the actual zip rather then the working directory and the kitchen is changing the file!

this is whats in the updater-script after I build the rom.

format("MTD", "system");

mount("MTD", "system", "/system"); "0 /system/

package_extract_dir("system", "/system");

...

...

edit:

looks like one of the default setting in the kitchen says something about update script. When I choose this I only have an "update_script" and no "updater_script"... well its built, giving it a try...

CWM gives a message about the update_script not being supported and to switch to updater_script (which was what I was trying to use)... so there has got to be a setting/option I'm not seeing...

edit:

looks like I have to add the mount point to the edify_defs folder so the kitchen can build for the ouya...

http://xdaforums.com/showthread.php?t=633246

edit:

ok, now the kitchen says;

Please ensure these device mount statements are correct:

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

mount("ext4", "EMMC", "/dev/block/mmcblk0p3", "/system"); "0 /system/

looks good, pushing zip now...

And!... status 6...

at least the updater_script looks correct now;

show_progress(0.500000, 0);

format("ext4", "EMMC", "/dev/block/mmcblk0p3");

mount("ext4", "EMMC", "/dev/block/mmcblk0p3", "/system"); "0 /system/

package_extract_dir("system", "/system");

...

...

edit:

since this has yet to format system, I can always do that manually in CWM. I'm removing the format and seeing if just mount works.
[Ouya Android Development] professorpoptart:
So i'm sitting here right now looking at a liquidsmooth boot animation!

I let it sit for 10 minutes or so, looks like its stuck.

Once it get stuck in the boot loop you have to do the Alt+SysRq+i trick to get back into recovery.

so I went into recovery tried the zip, saw that it mounted and took off, so it did have something to do with format. after it finished I went to mounts menu option in CWM and formatted system cache and data manually and reran the install. reboot and I got the logo I was looking for. So still work to do to get it actull get into the system but a good step forward.

Here is a copy of the liquidsmooth 4.1.2 ouya port [link to original rom in first post] if anyone wants to take a look. The only changes I made to the rom are listed in the first post.

!!WARNING - this build will loop on boot animation, no real reason to flash right now!!

[removed link since it didn't work...]

let me know if this link doesn't work...

So, the to do list:

1. How to get past the boot animation loop (not sure if adb will work at that point... wifi for sure doesnt).

2. Need to work on the updater script to find the working format syntax.

3. Sleep!
[Ouya Android Development] professorpoptart:
You will be mine play store!... o yes, you will be mine....
[Ouya Android Development] lartomar2002:
I do not know if this will help or not but I have a Asus TF700 tablet that has the same tegra t33 processor amd mali gpu as Ouya. Here on xda there are some custom Asus TF700 4.1.2 roms that may be of some help. Check out sbdags CleanRoms based on stock Asus OS.
[Ouya Android Development] sonofskywalker3:
Well I'm on the same page as you, only not as far down... I followed mybook4's advice on mounting /system, removed the format line and replaced it with:

delete_recursive("/system");

to wipe the system partition, and got my build of CM10 to flash! YAY!!

Nothing... No splash, no bootanimation, no nothing. Adb devices returns:

???????????? No Permissions

So I had to do the same thing, alt+sys req+i, reflash stock firmware. I think it has to do with some missing proprietary files, I used the tf700t proprietary-files.txt but it's not quite good enough I think. I'm trying to find a good tutorial to tell me what exactly I need to extract from the Ouya, the CM porting guide is quite vague...

In other news, did anyone else get an OTA update today? If so I guess I'll be starting over on the OuyaPlus ROM. It's just as well. all the Ouya stuff stopped working after I deodexed it. Universal deodexer my shiny metal... well you know.
[Ouya Android Development] lartomar2002:
Have you tried to pm sbdags, maybe he could clear somethings up. He is very helpful. I do not think he ever sleeps.
[Ouya Android Development] professorpoptart:
One thing I wanted to try was to clear cache and dalvik after it gets stuck. Had that issue a few years back on some old roms. When I booted back up I did not get the boot animation, just a blank screen. So i wonder if something is getting stuck on a "start-up" script.

while at the blank screen or boot animation I cannot adb (usb or wifi via build.prop) to get a logcat going to see what shes stuck on. its in MTP mode while booting...

Also got rid of the init.d stuff just to see what happens.

... still formatting system, data, cache and dalvik on every try.

edit:

no change. Does anyone have any advise on debugging boot up? maybe a verbos boot mode? or logging that can point me at something other than "stuck on boot animation"?
[Ouya Android Development] professorpoptart:
just now
[Ouya Android Development] professorpoptart:
ok, new thought since I don't see any debugging methods for boot or start-up, I'm going to look at running the rom in an android emulator so I can use the emulators terminal to hopefully work out the issue.... back to work...

http://xdaforums.com/showthread.php?t=1599005
[Ouya Android Development] professorpoptart:
just for the hell of it I grabbed the stable TF700t CM10.0 build from http://get.cm/?device=tf700t tried a quick port of that with the same results. I get a really cool CM boot logo to look at though!

edit:

so at least I know its not that specific rom...

I've been following this tut for the porting process

http://xdaforums.com/showthread.php?t=1908008

I think I'm going to try and leave the tf700 system alone and only change the device name in build.prop and edit the updater_script and see what happens.

pushing zip...

every time I flash a zip its like scratching a lottery ticket! come on...!! lol

looks cool!...
[Ouya Android Development] lartomar2002:
I know you are going to whip this. You'r like the perverbial "dog with a bone".:)
[Ouya Android Development] professorpoptart:
tried this post here with same results, except I'm at the little ouya boot logo running onto of CM10.0

http://xdaforums.com/showthread.php?t=1941239

at least these give me an idea of the main components involved... I have a feeling its something like CM10 is trying to start GPS, but there is no GPS so if I remove the GPS stuff it will be fine... kind of like that

tomorrows goal remove all the cell phone-ish things!
[Ouya Android Development] professorpoptart:
lol, all I need is a weekend! got to get up for work in 4 hours!
[Ouya Android Development] mybook4:
Not sure, but I think we might be able to reuse at least part of the ouya stock kernel (maybe modify the ramdisk in boot.img to suite CM10)

Just a thought. I'm not too Savy when it comes to porting or making CM work from scratch.
[Ouya Android Development] professorpoptart:
Im actually surprised it loaded the boot animation at all on CM.
[Ouya Android Development] sonofskywalker3:
lends credence to the "I didn't build mine right" theory =)
[Ouya Android Development] professorpoptart:
What I really need is some debug tools so I'm not blindly trying things. So far the best option I see is to go the sdk emulator route.
[Ouya Android Development] professorpoptart:
Just heard back from sbdags, he suggests starting with the init.xx.rc in the kernels ramdisk looking at hardware and permissions files.

Edit:

I mean the boot partitions ramdisk... Theres no ramdisk in the kernel! Man what a noob.

Now I know what the people that call their tower "the hard drive" feel like! :p

Bbl got to go download some ram...
[Ouya Android Development] professorpoptart:
Moving forward with more advise from sbdags on looking at boot.img to resolve the boot animation loop. It looks like I will need to get the CM10 boot.img and basically merge some of the ramdisk init files...

Edit: looks like both the CM10 and the AOSP roms I was working on use boot.blob instead of boot.img

Edit: looks like I need to unpack the boot.blob in windows with cygwin tools.
[Ouya Android Development] mybook4:
This. I imagine the Ouya ROM is more stock than not.

Here's quick and dirty way to unpack/repack the boot.img.

http://android-dls.com/wiki/index.php?title=HOWTO:_Unpack,_Edit,_and_Re-Pack_Boot_Images

P.S. As an FYI, the method can also be used to unpack recovery.img files. I used it to find the stock recovery.fstab in recovery.img and hunt down where install_recovery.sh is called (init.rc).
[Ouya Android Development] professorpoptart:
Yea Im working on merging the ouya init.rc files into the liquid smooth AOSP roms ramdisk from the blob now. I'm some windows tools for the blob to .img conversion. the tut says to use cygwin to extract, but I am using ANDROID KERNEL KITCHEN 0.3.1 by championswimmer on ubuntu for that part. Once I get them merged then repack the boot.img in the kitchen and then back to windows to convert back to blob... then put that back in the ported AOSP zip I had the other day and then cross my fingers! lol

http://xdaforums.com/showthread.php?t=1890912
[Ouya Android Development] professorpoptart:
So I was able to use BlobUnpack.exe and BlobPack.exe (windows tools) to extract the boot.img files from the blobs. Then I can use the img file to go back to Ubunutu and use the regular kernel tools (unpack, edit, repack). To put the blob back I use BlobPack.exe and I have the file the updater_script in the zip is expecting.

The one thing I'm unclear about at this point is how do I know if the thing works or not? Or if its an issue with the rom? I noticed some setting in the ramdisk for "unsecure" and MTP mode. I wonder if I can now enable adb at boot or something I can use for debugging?

I did try to put the new blob in the AOSP rom but this time after flashing it just rebooted into fastboot? not sure why yet...

In any event I think I know have all of the tools and pieces to do this, its just a matter of putting everything together right.

The good news is with just a quick cwm restore and I'm back up and running!
[Ouya Android Development] mburris:
UART will give you debugging output during boot. Follow the other thread to see where to connect the pins. Use a bus pirate and minicom to display the output on linux. I've dont this a bunch on other linux TV boxes like the Gbox Midnight.
[Ouya Android Development] professorpoptart:
Awesome, just what I was looking for... too bad they don't sell bus pirates at Walmart! Have to order one.
[Ouya Android Development] professorpoptart:
While I'm waiting for my bus pirate I will see if I can get lucky with a build.

The ramdisk that I was working on the other day I had tried to modify the boot.blobs ramdisk from the new rom by adding the init.rc files from stock, but it sounds like what I should do is modify the stock ramdisk with the init.rc files from the new boot.blobs ramdisk (adding the bits to the one that works, thanks sbdags!).
[Ouya Android Development] professorpoptart:
Same type of thing with the method mentioned above (after flashing the zip it boots straight into fastboot). I tried it with the CM -> ouya boot.blob, adding the CM bits to ouya ramdisk... the ouya ramdisk is surprisingly similar to the CM init.rc files.

What I'm doing in case anyone wants to try something similar, starting with an unpacked ramdisk (tuts in links in posts above) I create a new working folder and put in copies of each mixed *.rc file. To do this I go through each *.rc file and see whats different line for line. http://www.diffchecker.com/ will save on the cognitive load for this part :) . Looking at the CM rc files, most are already the same. The only real changes I believe where in init.cm.rc and init.rc. Then repack the blob and put it in a rom. And the rom itself being a merger of the base and port roms (again tuts in links above.)

If anyone has any experience in editing ramdisk or what specifically to look for...

Would/should the merged boot.blob still work with the OTA rom? If so, I could test it and at least know that the issue was in fact the ramdisk and nothing to do with the ported rom.

Once I get the bus pirate in I will be able to get some console output to google. Unless anyone happens to already have a bus pirate and give me some output! :)

And all to get the play store working! lol
[Ouya Android Development] professorpoptart:
well killed my working environment, was running low on space for the virtual box machine so tried "VBoxManage machine.vdi --resize 100000" and it lost the partition table... some evil sets it will against me...
[Ouya Android Development] sonofskywalker3:
man, that sucks. do you have a recent snapshot?
[Ouya Android Development] professorpoptart:
No, I develop in HC mode! Time to start up a new toon.
[Ouya Android Development] professorpoptart:
While things get back up and running, thinking about CM... what I think I need to do is compare an official tf700 boot.blob with the CM tf700 boot.blob. getting the file differences with those should give me the list of changes that where done to ramdisk to get CM to boot on the tf700 and hopefully that translates into whats needed for CM to boot on OUYA.
[Ouya Android Development] GizmoTheGreen:
why all this messing around to "port" cyanogenmod couldn't you compile from source?

I lack the skill and knowhow myself but it sure would be alot cleaner. and easier to change once it's set up.
[Ouya Android Development] professorpoptart:
At this point maybe, the original idea though was, that since the tf700 was so close to the ouya hardware wise, simply changing the updater_script to the point to the correct blocks and copying over a few files for hardware should get us 99% of the way... or at least to a bootable state.

Really the trick is going to be in getting boot.blob right to be able to boot CM. Even if I build the rom... meaning system... from source, I will need to have this research into the ramdisk to boot to it.

Unless anyone has any other ideas! Lol
[Ouya Android Development] lartomar2002:
Looks like you have been getting some press lately. :D
[Ouya Android Development] professorpoptart:
?, haven't seen anything...
[Ouya Android Development] lartomar2002:
Hups, it was sonofskywalker3, my bad:cyclops:
[Ouya Android Development] professorpoptart:
:( ok...
[Ouya Android Development] professorpoptart:
Ok! My dev virtual machine is back up! setup the new one with 2.2TB of storage, that should give me enough to run a few builds from source, if I need to... in the future.

So FYI that 30gb recommended by the kitchen in link on the OP, that really is a minimum. Give it more...

...and snapshot has been made. :good:
[Ouya Android Development] sonofskywalker3:
if you decide to do a source build, i'll be glad to share what i've done with the CM10 source, not that it works...
[Ouya Android Development] professorpoptart:
Just wanted to take a sec and say how much I love http://www.diffchecker.com/diff

ok got a new AOSP port i did using this tut, doing a backup and flashing shortly...

http://xdaforums.com/showthread.php?t=1598713

should have the pieces needed;

need a jb(4.1.2) rom made for the device (the OTA)

need a jb(4.1.2) rom that I want to port

if going from different manufacturer must have same processor (both tegra 3)

issue with updater_script permissions, getting status 7

...now syslink...

..sure do spend a lot of time uploading this zip to the ouya...
[Ouya Android Development] lartomar2002:
Would it help if I were to send you the build prop from my Asus TF700?
[Ouya Android Development] professorpoptart:
So tried a new packaged AOSP rom + boot.img, it didn't boot but didn't go into bootloader either, and the monitor had an input signal too. I'll take that as progress. The better news is that stock ouya will still boot with my boot.img! So hopefully that means its more of a rom issue then boot.img. I'll post my boot.img in the op in case anyone wants to test with it, unpack it or do dirty things to it.

Just to test I tried one of the old AOSP builds that got stuck on the boot animation with the new boot.img but same deal... stuck on animation.

tomorrow(edit, I mean the next day. Which is now tomorrow...) the bus pirate should be here and I will either figure it out or end up breaking the ouya!.... or just not figuring it out...

Updated the first post with all the new things
[Ouya Android Development] professorpoptart:
Na, from what I understand its more important to use the build.prop from the port rom... well a merger of port and base build.props

Thanks for the offer though.
[Ouya Android Development] professorpoptart:
OK! I got my bus pirate hooked up, minicom installed and streaming kernel console to the terminal!

First thing I noticed was no wires in the box (I mean bag). As I had no breadboard jumper M/F wire or an 10 pin IDC serial ribbon, I used plain old spooled wire I had laying around. I cut 2 pieces about 6-8 inches long and threaded the wire through the TX and ground UART pinouts on the OUYA. It just so happens the wire is the "perfect" diameter to fit snugly in place in the pinouts. I then threaded the wire through the top ventilation slits in the top of the OUYA so I can close the top and have the 2 wire popping out the top. I tied a knot in the TX one to identify it later on, as its just plain black wire. I then twisted the other ends into coils and slid them onto the ground and MISO pins on the buspirate.

on the terminal run sudo minicom then enter the menu...

HiZ>m

then options;

3

9

1

1

1

2 (edit: ment 1)

at UART> type "(3)"

y

turn on the OUYA and the kernel debug info will start streaming in!

to "hang up" on UART

"crtl+a" then "h"

And now for some kernel debugging!

bought the bus pirate from amazon.

http://www.amazon.com/SparkFun-Bus-...TF8&qid=1370473406&sr=8-1&keywords=bus+pirate

used this to figure out what goes where.

http://dangerousprototypes.com/bus-pirate-manual/bus-pirate-uart-guide/ (this one for the 10 pin IDC to UART pinout name conversion)

http://dangerousprototypes.com/docs/Bus_Pirate_I/O_Pin_Descriptions (this one that actual shows where the pins are)

used this to setup minicom for the buspirate.

http://jumptuck.com/2010/01/20/using-the-bus-pirate-with-ubuntu/

watched this video to actually run minicom.

https://www.youtube.com/watch?v=UUiEzv_LQr0&feature=youtube_gdata_player
[Ouya Android Development] sonofskywalker3:
Thats awesome! Glad you're making progress. I might as well have been beating my head on the wall for all the progress i've made, and i'd probably have less of a headache.
[Ouya Android Development] mburris:
Nice going. I had the exact same situation and challenges when I was doing the debugging on a Gbox.

The fact that you were able to get it all setup correctly should give everyone a nice dosage of hope.

Post the log of where it is failing, if you don't mind.

---------- Post added at 08:33 PM ---------- Previous post was at 08:27 PM ----------

On Ubuntu I like Meld http://meldmerge.org/ for diffing a large tree of files (and their content) against another.
[Ouya Android Development] professorpoptart:
Will do, early day tomorrow so I will have to wait untill after work tomorrow to post the full (rom+boot.img) update.zip along with a paste bin log of the uart console for review/input.

*Rambo voice*

Google play store... I'm coming for you...
[Ouya Android Development] professorpoptart:
Now thats cool!
[Ouya Android Development] professorpoptart:
!!! As With anything posted anywhere in this thread, these may destroy your device! They are for research and development only!!!

So here is my build from a couple days ago with a merged ramdisk and system from the liquidsmooth zip and 264 OTA zip. Basically the issue with this build is that it gets stuck on the boot animation.

after flashing the LS_OUYA.zip, flash the FixPerms.zip...(bottom of post)

link to LS_OUYA.zip http://www.mediafire.com/download/psmsv1i2qq9muic/LS_OUYA.zip

Here is the link to the paste bin for the full kernel console output via UART.

http://pastebin.com/yFKPsMea

The rom had issues setting permissions with its updater_script so I made a seperate zip just for the perms that need to be run after the rom is installed. Then it will boot up to the boot animation. It then loops on the below segment. With different a "untracked pid xxxx exited" on each loop.

The last couple lines right before the loop, deal with hdmi stuff...

Didn't really do any research yet with it, just ran it and posted... will look tomorrow.
[Ouya Android Development] Vinny75:
Have you considered a clean port of CM to the OUYA instead of using the TF700t CM build? http://wiki.cyanogenmod.org/w/Doc:_porting_intro

I've been setting up my android environment and walking through this tutorial in prep for when I finally get my OUYA

edit: just saw post #42 on this...
[Ouya Android Development] professorpoptart:
I unplugged the usb keyboard and micro usb, and it looks like that cleaned up the log a little. The looping part at the end of the log has to do with nvavp. Googling around it sounds like this has something to do with some kind of media service. I'm thinking maybe comment out whatever loads it to stop this from even loading and see if it continues... or get a different error...

Looking through the ramdisk of the merged boot for what loads this...

the files themselves are in /system/etc/firmware
[Ouya Android Development] noodles2k:
Are you using the ucode from the OUYA rom or the Transformers'? It's possible they're different.
[Ouya Android Development] professorpoptart:
ouya ucode, its basically ouya with the tf700 pieces added into it. in the event of a conflict i went with what ouya had. This was all done with what i could see from in .rc files and such. So any thing compiled that a text editor cant see would not have been changed. Might have to go through ouya source on github... but not to the point I want to go that route just yet.
[Ouya Android Development] noodles2k:
Might be worth md5ing them to see if they're different. Couldn't hurt trying the tf700 nvavp ucode as well, probably won't work but it's always worth a shot.

NVAVP as you said has something to do with the media service, presumably rendering offload. It stands for NVidia Audio Video Processor. If you haven't already seen this it might be helpful. http://http.download.nvidia.com/tegra-public-appnotes/tegra-boot-flow.html