[CWM Touch][TWRP] Root + Recovery for Tilapia

Status
Not open for further replies.
Search This thread

mateorod

Inactive Recognized Developer
Nov 16, 2011
1,981
3,503
New Orleans
www.gigmasters.com
Shinj1EVA reported that koush's web builder is now producing boo table CWM Touch images. I have built one and added it to the download page. I have not updated the regular CWM to 6.0.2.3 since there are no commits that affect how it works since I last built 6.0.2.1


12/20- All recoveries are functionally up to date as of this day.

I have seen most of the guides recommend flashing the 'grouper' recovery image. Don't do this. This is why your OTAs and update.zips are failing with 'Status 7'. Those zips have an assert check that ensures you are flashing your zips to the correct device. This is failing if you have a recovery image that was made for a different device.

Those assert checks are there for your protection and you should not get in the practice of working around them. Using grouper recovery.imgs is ill-advised and conceivably dangerous. The two devices differ in more respects than a simple assert check, including having different recovery.fstab files, which are used to make and configure recovery.

I have ported TWRP and compiled a CWM-based (Touch and non-touch) recovery image, made from CM10.1 tilapia source. You will need fastboot, at minimum, to write this recovery. To root, you will need the CWM-flashable zip of SuperSU by chainfire..

Instructions
  1. Boot into the bootloader (2 choices)
    • Turn the device on while pressing volume down; or
    • Code:
      adb reboot bootloader
  2. Unlock your bootloader
    • THIS WILL WIPE ALL OF YOUR DATA! No way around it...
    • Code:
      fastboot oem unlock
  3. With your Nexus 7 3G in the bootloader and connected to your computer through the usb cable:
    • replace recovery-CWM-tilapia-regular with the name of the recovery image you chose to download.
    • Code:
      fastboot flash recovery recovery-CWM-tilapia-regular.img
  4. To make CWM your permanent recovery: (this can, despite the warnings, be undone. Do it.)
    1. Boot into recovery mode by pressing 'vol up' and when the menu says 'recovery mode' press the power button.
    2. Mount system in the 'mounts' menu
    3. Code:
      adb shell
      mv system/recovery-from-boot.p system/recovery-from-boot.bak
      exit
  5. To Root (With /system still mounted):

    • Code:
      adb push CWM-SuperSU-v0.98.zip /sdcard/
    • Flash the SuperSU zip in recovery ('Install' menu with TWRP or 'choose zip from sdcard' in CWM)
    • Reboot System


Congratulations, you now have the proper tilapia custom recovery and can flash roms and OTAs. Anytime you get a 'status 7' from now on, you know that rom was not made for your device. CWM will have instructions that gives you the option of preserving custom recovery and maintaining root.

  • If you just want to boot into custom recovery instead of overwriting the stock or grouper recovery(playing fast and loose- keeping grouper recovery on-device for grouper roms, at least until devs add tilapia asserts to their updater-scripts), use
    Code:
    fastboot boot recovery recovery-CWM-tilapia-regular.img
  • If you want to keep tilapia recovery but have a grouper rom you want to try, you will have to change the updater-script of that rom. It takes two seconds. Look at the third post for instructions.

Downloads

Recovery (just pick one)
CWM Recovery (Touch/Non-Touch) (6.0.2.1)
TWRP 2.3.2.1

Root (Get the CWM flashable zip)
SuperSU

ClockworkMod is the work of the estimable koush and TWRP is from the good men of Team Win.
 
Last edited:

mateorod

Inactive Recognized Developer
Nov 16, 2011
1,981
3,503
New Orleans
www.gigmasters.com
How to use grouper roms w/tilapia recovery
  • Use an archive manager like 7zip and open your rom without unzipping.
  • Open META-INF/com/google/android/updater-script
  • Look for the line (usually the first) that says something like this:
  • Code:
    assert(getprop("ro.product.device") == "grouper" || getprop("ro.build.product") == "grouper");
    [*]
  • Change 'grouper' to 'tilapia'
  • Save and flash!

Hopefully soon, devs will make two versions of their roms, although that may not happen until we finish porting the GSM stack. A solution for the meantime would be to edit the above assert to (off the top of my head):
Code:
assert(getprop("ro.product.device") == "grouper" || getprop("ro.build.product") == "grouper") || (getprop("ro.product.device") == "tilapia" || getprop("ro.build.product") == "tilapia")
For anything meant to service both devices. The devs should not be expecting users to run another device's recovery in my opinion, even if it is working. Because, as we know, it breaks other things, like OTAs and other update.zips.

My expectation would be that they will begin to build separate roms, as that is best practice and doesn't make use use the grouper fstab stuff. Not the most efficient use of bandwidth, I concede...


Sure. Is techerrata/Goo a non-working option for some people? I use it for a project that is has mostly international users and haven't had any complaints. What/where would be helpful to you?

Update: Since I am here...I will post CWM Touch eventually. CWM Touch still has closed source elements, so the only way I know of to compile it is to use koush's web builder. But the result of that build is not booting. I ported Touch by hand, but it is too buggy to release, something needs to be modified in the recovery.fstab, I guess.
 
Last edited:

Xentar712

Senior Member
Sep 27, 2007
259
45
If this is installed, will I be barred from installing grouper roms? I currently have multirom running, with stock as the main rom and PA as the alternate. PA doesn't get 3G but it works fine. Other grouper roms still work too, just no 3G. This is holding me over until they get the "tilapia" roms up. I just installed the OTA manually through fastboot.
 

mateorod

Inactive Recognized Developer
Nov 16, 2011
1,981
3,503
New Orleans
www.gigmasters.com
If this is installed, will I be barred from installing grouper roms? I currently have multirom running, with stock as the main rom and PA as the alternate. PA doesn't get 3G but it works fine. Other grouper roms still work too, just no 3G. This is holding me over until they get the "tilapia" roms up. I just installed the OTA manually through fastboot.

You will have to hack the grouper roms to change their assert to read tilapia rather than grouper (assuming they have them, and it is REALLY easy to do either way, easier than flashing an OTA in fastboot easy). I tend to be of the opinion that it is better to have a hack like that when you know you are doing something dangerous as opposed to the reverse.

Not that it is all that dangerous with the Nexus devices. But if you are flashing a rom from a different device onto your tablet, I think that you should have to indicate you are aware you are doing it.

The best thing would be for roms that are able to work on both devices should have updater-scripts that reflect that. You shouldn't be required to run recovery not for your device. But personal choice, as always.

Edit: As indicated on the OP, grouper and tilapia have different layouts. Look at the recovery.fstab, tilapia has this line:
Code:
/radio		ext4		/dev/block/platform/sdhci-tegra.3/by-name/RDO
That file is used in making and configuring recovery...the rom makers will have to be able to work with tilapia recovery if they ever hope to have the GSM stack work, I would guess.
 
Last edited:

Xentar712

Senior Member
Sep 27, 2007
259
45
You will have to hack the grouper roms to change their assert to read tilapia rather than grouper (REALLY easy, easier than flashing an OTA in fastboot easy). I tend to be of the opinion that it is better to have a hack like that when you know you are doing something dangerous as opposed to the reverse.

Not that it is all that dangerous with the Nexus devices. But if you are flashing a rom from a different device onto your tablet, I think that you should have to indicate you are aware you are doing it.

The best thing would be for roms that are able to work on both devices should have updater-scripts that reflect that. You shouldn't be required to run recovery not for your device. But personal choice, as always.

Cool, I'll give it a go once you get TWRP up and running. Maybe Tassadar, over in the MultiROM forum, can tweak it for MultiRom as well. I'm really liking MultiRom - IMHO it's less risky when toying with unknowns. It's probably more risky in reality though, and I'm just crazy :)
 

superc0w

Member
Jan 17, 2011
9
1
I've flashed this recovery to get 4.2.1 on my Nexus 7 3G, but it seems that I can't go into recovery mode anymore. The screen shows me picture of an android lying down with its front open.

The only way I'm able to go into recovery is to reflash, or do a
Code:
fastboot boot recovery recovery-CWM-tilapia-regular.img
This works for that 1 boot, after which I get the same issue.
 

mateorod

Inactive Recognized Developer
Nov 16, 2011
1,981
3,503
New Orleans
www.gigmasters.com
I've flashed this recovery to get 4.2.1 on my Nexus 7 3G, but it seems that I can't go into recovery mode anymore. The screen shows me picture of an android lying down with its front open.

The only way I'm able to go into recovery is to reflash, or do a
Code:
fastboot boot recovery recovery-CWM-tilapia-regular.img
This works for that 1 boot, after which I get the same issue.

Okay. After I flashed the OTA, CWM asked me if I wanted to make it permanent, but maybe that by itself us not enough. I had already done the following step.

flash recovery and boot into it. Mount system, and then:
Code:
adb shell
mv system/recovery-from-boot.p system/recovery-from-boot.bak
exit

CWM asked me if i wanted to prevent the updates from flashing stock recovery and if I wanted to secure the root (su binary). But maybe that doesn't work right out of the box.
 

superc0w

Member
Jan 17, 2011
9
1
Okay. After I flashed the OTA, CWM asked me if I wanted to make it permanent, but maybe that by itself us not enough. I had already done the following step.

flash recovery and boot into it. Mount system, and then:
Code:
adb shell
mv system/recovery-from-boot.p system/recovery-from-boot.bak
exit

CWM asked me if i wanted to prevent the updates from flashing stock recovery and if I wanted to secure the root (su binary). But maybe that doesn't work right out of the box.

Yup, I renamed recovery-from-boot.p to recovery-from-boot.p.bak using ES File Explorer and it's all good now. I'm now able to use CWM. However, CWM always asks me if I want to prevent updates from flashing stock recovery and I always chose no (since it warns that this is irreversible).

Strange though. I assumed that even if CWM doesn't stick without renaming recovery-from-boot.p, the N7 3G would flash stock recovery and it would still be functional.
 

Ather

Retired Senior Moderator
May 26, 2007
4,085
1,014
33
installed last night, works great..frankly i prefer the non-touch, dunnow why but its much better...i tried to rename the files, but there werent any files in the /system , flashed the CWM package, took a nandroid..all works great :)
 

gwisch

Member
Oct 17, 2010
16
0
Somehow this still does not seem to work for me:
After I reflashed the tilapia recovery (CWM 6.0.1.9), I executed the nakasig file and get:

Code:
Finding update package...
Opening update package...
Installing update...
Verifying current system...assert failed: apply_patch_check("/system/framework/framework-res.apk". "212e537985a59a7d40ff8b450a3de597ade4251c". "521503fb2a63dc6d80c4a1ecf72770c3745c4178")
E:Error in /sdcard/0/65880f45b1c0.signed-nakasig-JOP40D-from-JOP40C.65880f56.zip
(Status 7)
Installation aborted.

:confused:
 
Last edited:

phonic

Senior Member
May 30, 2008
1,102
397
Florida
Somehow this still does not seem to work for me:
After I reflashed the tilapia recovery (CWM 6.0.1.9), I executed the nakasig file and get:

Code:
Finding update package...
Opening update package...
Installing update...
Verifying current system...assert failed: apply_patch_check("/system/framework/framework-res.apk". "212e537985a59a7d40ff8b450a3de597ade4251c". "521503fb2a63dc6d80c4a1ecf72770c3745c4178")
E:Error in /sdcard/0/65880f45b1c0.signed-nakasig-JOP40D-from-JOP40C.65880f56.zip
(Status 7)
Installation aborted.

:confused:

That error message has absolutely nothing to do with the recovery image.

This special talapia version of CWM isn't some magic pill that will make every other problem go away. It's simply designed to accurately reflect the hardware for the tablet you own (talapia vs grouper) so you don't run into as many problems down the road installing OTA updates and custom ROMs that check.

However, you still need to meet ALL the other requirements of the updates. So if you made changes to your /system files, kernel (not in this case, but in general), build.prop, etc., the OTA update will still abort and explain why.

Did you even read the error message?
Verifying current system...assert failed: apply_patch_check("/system/framework/framework-res.apk".
It's pretty clear that you modified the framework file. You will need to revert that back to stock and flash the OTA again afterwards. Any other tweaks/modifications/freezes/removals/etc. of system apps will most likely result in the same thing.
 

mateorod

Inactive Recognized Developer
Nov 16, 2011
1,981
3,503
New Orleans
www.gigmasters.com
TWRP is up...

I compiled a TWRP image for tilapia as well.

This actually took a little doing...my intention here was to simply compile some images, but since tilapia is only Android 4.2, and we don't have CM10.1 (officially), I actually endied up having to port TWRP whole cloth. This is compiled from TWRP source code, with a few tweaks.

There are a couple things about the port I would like to eventually tweak, I had to copy the sbin folder over by hand, and due to the intertwined nature of grouper/tilapia, settings derived from common files in the source code are named grouper still, (i.e. ueventd.grouper.rc instead of ueventd.tilapia.rc) but that is quibble stuff and may end up staying that way regardless, since many of the tilapia make files are merely pointers to the grouper files. It certainly doesn't hurt anything.

The TWRP image has been confirmed working with the OTAs.

I thought long and hard about possibly modifying these recovery images to allow users to flash grouper roms as well. I know it is unlikely that everything will be made available in two versions, even though it should be.

Any thoughts on this? It is a demonstrably better idea than having people use the grouper images, but I still think the developers/modders should be the ones handling this problem. People are going to NEED this recovery image once the nightlies of AOKP/CM10.1 and whatever start coming down, but I know that grouper zips will still be tempting to many.
 
Last edited:

manekineko

Senior Member
Jul 26, 2009
1,005
229
Under the instructions in the first post, it says:

OR: If you just want to boot into custom recovery instead of overwriting the stock or grouper recovery(playing fast and loose- keeping grouper recovery on-device for grouper roms, at least until devs add tilapia asserts to their updater-scripts), use

fastboot boot recovery recovery-CWM-tilapia-regular.img

So without flashing anything, I should be able to just point fastboot towards the clockworkmod file on my computer and it should reboot into clockworkmod right?

When I try to do this, it doesn't work, and I just get this:
Code:
C:\Program Files\Droid Explorer\SDK\tools>fastboot boot recovery D:\Downloads\recovery-CWM-tilapia-regular.img
cannot load 'recovery'

I also tried to follow the main instructions and it fails on step 2 with:
Code:
C:\Program Files\Droid Explorer\SDK\tools>fastboot flash recovery D:\Downloads\recovery-CWM-tilapia-regular.img
sending 'recovery' (6568 KB)... FAILED (remote: Bootloader is locked.) finished. total time: 0.021s

I looked at other threads and found out that normally flashing a custom recovery requires issuing a fastboot oem unlock command that wipes all data. Am I missing anything or is this actually required before either of these?
 
  • Like
Reactions: mateorod

mateorod

Inactive Recognized Developer
Nov 16, 2011
1,981
3,503
New Orleans
www.gigmasters.com
Under the instructions in the first post, it says:



So without flashing anything, I should be able to just point fastboot towards the clockworkmod file on my computer and it should reboot into clockworkmod right?

When I try to do this, it doesn't work, and I just get this:
Code:
C:\Program Files\Droid Explorer\SDK\tools>fastboot boot recovery D:\Downloads\recovery-CWM-tilapia-regular.img
cannot load 'recovery'

I also tried to follow the main instructions and it fails on step 2 with:
Code:
C:\Program Files\Droid Explorer\SDK\tools>fastboot flash recovery D:\Downloads\recovery-CWM-tilapia-regular.img
sending 'recovery' (6568 KB)... FAILED (remote: Bootloader is locked.) finished. total time: 0.021s

I looked at other threads and found out that normally flashing a custom recovery requires issuing a fastboot oem unlock command that wipes all data. Am I missing anything or is this actually required before either of these?

Yep. My bad.

I originally just posted the images as an alternative to the recoveries for the regular Nexus 7 (non-3g) images people were using. I later realized that some new people would come by so I threw rooting instructions as well. I didn't go back far enough, sorry. I will fix it now.

What you need to do is easy though, just like you mentioned you need to unlock your bootloader. So once you boot into the bootloader,
Code:
fastboot oem unlock
This will wipe all of your data, and there is no way around this, sorry. It is a security measure of some sort. There will be a screen where you acknowledge this and then the bootloader will unlock. You can then follow the rest of the instructions. Sorry for the confusion.

Update: Fixed and streamlined OP. Glad you got me to do this, I think it is better now.
 
Last edited:
  • Like
Reactions: manekineko

manekineko

Senior Member
Jul 26, 2009
1,005
229
In the rooting instructions, this line wasn't working for me, as /sdcard/ was for some reason a directory containing 3 folders (0, odb, legacy), where 0 had the normal contents of /sdcard/:
adb push CWM-SuperSU-v0.98.zip /sdcard/

Instead, I had to do:

adb push CWM-SuperSU-v0.98.zip /sdcard/0/

After that change, I was able to flash the zip and root successfully.
 

justin0108

Member
Nov 26, 2012
9
2
Hi OP,

I followed your instructions and managed to root my nexus 7 3G running stock Android 4.2.1. Thanks.
However there are some extra "incidents" which is not captured in your instructions and somehow it happen on my side, so I just detailed down what happen in case it can be of help to others:

Below is the full OP's original instruction and some extra "incidents" during rooting

Instructions

1. Boot into the bootloader (2 choices)
  • Turn the device on while pressing volume down; or
  • Code:
Code:
adb reboot bootloader

2. Unlock your bootloader
  • THIS WILL WIPE ALL OF YOUR DATA! No way around it...
  • Code:
Code:
fastboot oem unlock
My Nexus rebooted after this step and all the ADB drivers on my Windows 7 pc is gone. With my Nexus 7 still connected and booted up, when I do "adb device", I cannot see my device. I open the Device Manager and notice that the "ADB Composite Interface" driver is gone!
I got to re-install all my drivers for my Nexus 7 manually. I downloaded WugFresh Toolkit and follow the first step to re-install all the drivers. (I just wana try manual rooting, that's why I didn't use WugFresh Toolkit)
After making sure my device can be listed after "adb device", I proceed to

2a. Reboot into bootloader
Code:
adb reboot bootloader

3. With your Nexus 7 3G in the bootloader and connected to your computer through the usb cable:
  • replace recovery-CWM-tilapia-regular with the name of the recovery image you chose to download.
  • Code:
Code:
fastboot flash recovery recovery-CWM-tilapia-regular.img
4. To make CWM your permanent recovery: (this can, despite the warnings, be undone. Do it.)
  • Boot into recovery mode by pressing 'vol up' and when the menu says 'recovery mode' press the power button.
  • Mount system in the 'mounts' menu
  • Code:
Code:
adb shell
mv system/recovery-from-boot.p system/recovery-from-boot.bak
exit
5. To Root (With /system still mounted):
There is no error when pushing the zip file to /sdcard/ but the file just didn't appear. The windows command prompt also indicate that the push was successful. I notice that the my /sdcard/ directory is softlink to /data/media/, so I push to /data/media/ instead and it works! The zip file now appear in /sdcard/. I am not sure why is this so.
  • Code:
Code:
adb push CWM-SuperSU-v0.98.zip /data/media/
  • Flash the SuperSU zip in recovery ('Install' menu with TWRP or 'choose zip from sdcard' in CWM)
Code:
Reboot System

5a. CWM will give a warning message stating overwriting of flash recovery. I cannot recall what is that exact message. But you will be presented with a llist of options with one "Yes" and all "No". I choose "Yes" to retain CWM as my recovery.
 

mateorod

Inactive Recognized Developer
Nov 16, 2011
1,981
3,503
New Orleans
www.gigmasters.com
COLOR="Red"]My Nexus rebooted after this step and all the ADB drivers on my Windows 7 pc is gone. With my Nexus 7 still connected and booted up, when I do "adb device", I cannot see my device. I open the Device Manager and notice that the "ADB Composite Interface" driver is gone!
I got to re-install all my drivers for my Nexus 7 manually. I downloaded WugFresh Toolkit and follow the first step to re-install all the drivers. (I just wana try manual rooting, that's why I didn't use WugFresh Toolkit)
After making sure my device can be listed after "adb device", I proceed to
I can't speak as to how Windows works exactly, but I can tell you that fastboot code does nothing to the 'host' PC. Not saying it didn't happen, but it wasn't fast boot.
There is no error when pushing the zip file to /sdcard/ but the file just didn't appear. The windows command prompt also indicate that the push was successful. I notice that the my /sdcard/ directory is softlink to /data/media/, so I push to /data/media/ instead and it works! The zip file now appear in /sdcard/. I am not sure why is this so.

The person above you reported that they had to push to /sdcard/0. I checked my original instructions and they work for me. I haven't decided what to put yet. They have been playing around with the standard nomenclature for emulated storage, but I have yet to see anything that explains the varied experiences. I haven't looked yet really, either
5a. CWM will give a warning message stating overwriting of flash recovery. I cannot recall what is that exact message. But you will be presented with a llist of options with one "Yes" and all "No". I choose "Yes" to retain CWM as my recovery.
I originally told people to follow the CWM directions on having permanent recovery. But some user experience taught me that some people are going to skip this step due to confusion over the warnings. So I decided to put in the manual method.

Thanks for your feedback.
 
  • Like
Reactions: justin0108

justin0108

Member
Nov 26, 2012
9
2
I originally told people to follow the CWM directions on having permanent recovery. But some user experience taught me that some people are going to skip this step due to confusion over the warnings. So I decided to put in the manual method.

Hi,
In fact I am also confused about the warning. Not sure does choosing "Yes" means retain CWM or not. So I just choose "Yes" and saw that CWM is still the recovery after reboot.

So do you mean after this step:
Code:
adb shell
mv system/recovery-from-boot.p system/recovery-from-boot.bak
exit
It does not matter whether I choose "Yes" or "No" in the final phase, and I will still have CWM as my recovery?
 
Last edited:
Status
Not open for further replies.

Top Liked Posts

  • There are no posts matching your filters.
  • 33
    Shinj1EVA reported that koush's web builder is now producing boo table CWM Touch images. I have built one and added it to the download page. I have not updated the regular CWM to 6.0.2.3 since there are no commits that affect how it works since I last built 6.0.2.1


    12/20- All recoveries are functionally up to date as of this day.

    I have seen most of the guides recommend flashing the 'grouper' recovery image. Don't do this. This is why your OTAs and update.zips are failing with 'Status 7'. Those zips have an assert check that ensures you are flashing your zips to the correct device. This is failing if you have a recovery image that was made for a different device.

    Those assert checks are there for your protection and you should not get in the practice of working around them. Using grouper recovery.imgs is ill-advised and conceivably dangerous. The two devices differ in more respects than a simple assert check, including having different recovery.fstab files, which are used to make and configure recovery.

    I have ported TWRP and compiled a CWM-based (Touch and non-touch) recovery image, made from CM10.1 tilapia source. You will need fastboot, at minimum, to write this recovery. To root, you will need the CWM-flashable zip of SuperSU by chainfire..

    Instructions
    1. Boot into the bootloader (2 choices)
      • Turn the device on while pressing volume down; or
      • Code:
        adb reboot bootloader
    2. Unlock your bootloader
      • THIS WILL WIPE ALL OF YOUR DATA! No way around it...
      • Code:
        fastboot oem unlock
    3. With your Nexus 7 3G in the bootloader and connected to your computer through the usb cable:
      • replace recovery-CWM-tilapia-regular with the name of the recovery image you chose to download.
      • Code:
        fastboot flash recovery recovery-CWM-tilapia-regular.img
    4. To make CWM your permanent recovery: (this can, despite the warnings, be undone. Do it.)
      1. Boot into recovery mode by pressing 'vol up' and when the menu says 'recovery mode' press the power button.
      2. Mount system in the 'mounts' menu
      3. Code:
        adb shell
        mv system/recovery-from-boot.p system/recovery-from-boot.bak
        exit
    5. To Root (With /system still mounted):

      • Code:
        adb push CWM-SuperSU-v0.98.zip /sdcard/
      • Flash the SuperSU zip in recovery ('Install' menu with TWRP or 'choose zip from sdcard' in CWM)
      • Reboot System


    Congratulations, you now have the proper tilapia custom recovery and can flash roms and OTAs. Anytime you get a 'status 7' from now on, you know that rom was not made for your device. CWM will have instructions that gives you the option of preserving custom recovery and maintaining root.

    • If you just want to boot into custom recovery instead of overwriting the stock or grouper recovery(playing fast and loose- keeping grouper recovery on-device for grouper roms, at least until devs add tilapia asserts to their updater-scripts), use
      Code:
      fastboot boot recovery recovery-CWM-tilapia-regular.img
    • If you want to keep tilapia recovery but have a grouper rom you want to try, you will have to change the updater-script of that rom. It takes two seconds. Look at the third post for instructions.

    Downloads

    Recovery (just pick one)
    CWM Recovery (Touch/Non-Touch) (6.0.2.1)
    TWRP 2.3.2.1

    Root (Get the CWM flashable zip)
    SuperSU

    ClockworkMod is the work of the estimable koush and TWRP is from the good men of Team Win.
    8
    How to use grouper roms w/tilapia recovery
    • Use an archive manager like 7zip and open your rom without unzipping.
    • Open META-INF/com/google/android/updater-script
    • Look for the line (usually the first) that says something like this:
    • Code:
      assert(getprop("ro.product.device") == "grouper" || getprop("ro.build.product") == "grouper");
      [*]
    • Change 'grouper' to 'tilapia'
    • Save and flash!

    Hopefully soon, devs will make two versions of their roms, although that may not happen until we finish porting the GSM stack. A solution for the meantime would be to edit the above assert to (off the top of my head):
    Code:
    assert(getprop("ro.product.device") == "grouper" || getprop("ro.build.product") == "grouper") || (getprop("ro.product.device") == "tilapia" || getprop("ro.build.product") == "tilapia")
    For anything meant to service both devices. The devs should not be expecting users to run another device's recovery in my opinion, even if it is working. Because, as we know, it breaks other things, like OTAs and other update.zips.

    My expectation would be that they will begin to build separate roms, as that is best practice and doesn't make use use the grouper fstab stuff. Not the most efficient use of bandwidth, I concede...


    Sure. Is techerrata/Goo a non-working option for some people? I use it for a project that is has mostly international users and haven't had any complaints. What/where would be helpful to you?

    Update: Since I am here...I will post CWM Touch eventually. CWM Touch still has closed source elements, so the only way I know of to compile it is to use koush's web builder. But the result of that build is not booting. I ported Touch by hand, but it is too buggy to release, something needs to be modified in the recovery.fstab, I guess.
    7
    CWM 6.0.2.3 for Tilapia (Touch and non-touch)

    Just built these from the last CM nightly. The touch build server seems to compile fine now as well.

    Regular: https://www.dropbox.com/s/qaqjy9rtkb94sm2/recovery-cwm-tilapia-6.0.2.3.img
    Touch: https://www.dropbox.com/s/tjbysidf5y2ndzv/recovery-cwm-tilapia-6.0.2.3-touch.img
    4
    TWRP is up...

    I compiled a TWRP image for tilapia as well.

    This actually took a little doing...my intention here was to simply compile some images, but since tilapia is only Android 4.2, and we don't have CM10.1 (officially), I actually endied up having to port TWRP whole cloth. This is compiled from TWRP source code, with a few tweaks.

    There are a couple things about the port I would like to eventually tweak, I had to copy the sbin folder over by hand, and due to the intertwined nature of grouper/tilapia, settings derived from common files in the source code are named grouper still, (i.e. ueventd.grouper.rc instead of ueventd.tilapia.rc) but that is quibble stuff and may end up staying that way regardless, since many of the tilapia make files are merely pointers to the grouper files. It certainly doesn't hurt anything.

    The TWRP image has been confirmed working with the OTAs.

    I thought long and hard about possibly modifying these recovery images to allow users to flash grouper roms as well. I know it is unlikely that everything will be made available in two versions, even though it should be.

    Any thoughts on this? It is a demonstrably better idea than having people use the grouper images, but I still think the developers/modders should be the ones handling this problem. People are going to NEED this recovery image once the nightlies of AOKP/CM10.1 and whatever start coming down, but I know that grouper zips will still be tempting to many.
    2
    try /mnt/shell/emulated/clockworkmod