CM7 for Kindle Fire (aka standing on the shoulders Giants)

Search This thread

whistlestop

Senior Member
Dec 4, 2011
88
263
Colorado Springs, CO
All,

Ok, time to re-wrte the OP as there are now MUCH better tools for flashing the update.zip (and you can make backups) Make sure to say thanks to the TWRP team!!!. The update.zip file available here is a derivation of the work originally started by JackpotClavin (he did an initial proof of concept but a number of features that I wanted didn't work so I figured I'd pick up where he left off and see if I could get the ROM working for me with the missing features)

The initial thread was here if you care to look.

At this point sound, video (both in the browser and standalone) and hardware acceleration are now working with CM7 on the Fire. I'm off now poking at the MAC address issue and then I'm off to see about Bluetooth.

UPDATE:
- 01/01/12 - Back from the break and starting to work on things again. I've had a number of people ask for my current configs so I set up a repo at https://whistlestop@github.com/whistlestop/CM7KF to let people track my progress. If you want to build your own KANG then below are the steps that I currently follow with the current repo files.

-Pull the CM7 source. Check out this link for a how to on that: http://wiki.cyanogenmod.com/wiki/Nexus_One:_Compile_CyanogenMod_(Linux)

Symlink the amazon directories from the CM7KF repo into the CM7 tree. Specifically:
-cd <path to the CM7 tree>/vendor
-mkdir amazon
-ln -s <path to CM7KF tree>/vendor/amazon amazon
-cd <path to CM7 tree>/device
-mkdir amazon
-ln -s <path to CM7KF tree>/device/amazon amazon

Copy the cyanogen_blaze.mk file from <path to the CM7 tree>/vendor/amazon/blaze into <path to the CM7 tree>/vendor/cyanogen/products and add the following line to the AndroidProducts.mk file in the same directory.

$(LOCAL_DIR)/cyanogen_blaze.mk \

Ok, go to the top of the CM7 tree and do ". build/envsetup.sh && brunch blaze" and go get a cup of coffee while it builds. It'll take awhile.

- 01/02/12 - New update.zip files uploaded that fix the MAC issue as well as the build issue with the gps.omap4.so library.

- 01/03/12 - New update.zip and update-wipeall.zip files uploaded that fix the regression on the hardware acceleration. Sigh...

- 01/13/12 - Update to remove the recovery option on reboot (as it continues to cause problems for folks), removal of the search from the soft buttons by default, addition of the home to the soft buttons by default (again as that seems to be a constant question) While I built and tested the changes I didn't make the updates. You have IngCr3at1on to thank for that.

Backlog of tasks (as of 01/02/12)
-FIXEDSeems that all Wireless MAC IP's are the same (meaning that everyone that flashes the ROM will have the MAC of 08:00:28:12:03:58. While the first three octets register the MAC as being owned by Texas Instruments (the manufacturer of the OMAP chipset), the fact that the last octets don't vary is BAD. From a little Googling, I'm not sure this is something specific to this ROM/device as other CM7 ROMs on different devices seem to have the same issue but with a different MAC address it sounds. I'll look to make sure I'm not doing anything that is causing this issue. A tip of the hat to "TheKid2" for this post which appears to provide a hand workaround to the issue for now.
-The update.zip file is now signed but the update-wipeall.zip isn't yet. I'll get to that but as it doesn't seem to cause any issue in flashing it's not too high on the list to chase given the two issues below.
-No Bluetooth (yet...) This is still my personal quest so once I get the base CM7 capabilities working then this is my next thing to poke at. From the postings/reading I've done so far this seems doable (just a matter of time and programming, no rocket science required it appears at this point)

Before you start, make sure your Kindle Fire is fully charged, rooted, you know your way around adb, your kindle fire actually connects to adb and works successfully and you've installed TWRP (and I recommend installing FireFireFire as well to keep from having to issue idme commands to get into the recovery image).

I used the directions here to get all the pre-requisites done. Assuming everything above is done, then it's time to install CM7.

First a note, installing CM7 will replace the current ROM on your device and I'm not responsible for any malfunctions :/ I've done this for versions 6.2 only so your mileage may vary (but there is a good group of members on this thread so they'll help out if possible)

If you're coming from a STOCK ROM then use this version to flash. It will wipe the data and cache partitions (as well as the system partition) as a part of the flash process which should get rid of any FC issues.
md5sum for update-wipeall.zip
e7c85c3bcc01bcea59ffcc5647a6be97 update-cm7-wipeall.zip

If you're upgrading from an EXISTING CM7 install then use this ROM instead. This one will NOT wipe the cache and data partitions which should mean that you can upgrade from one version of CM7 to another without losing any of your existing date (or that's at least the idea)
md5sum for update.zip
ab80c089d0c93f02bd7271c5e4401cf7 update-cm7.zip (CHECK THAT THIS MATCHES THE DOWNLOADED UPDATE.ZIP)

Copy the CM7 update.zip to the root of your sdcard, so it's /sdcard/update.zip (e.g. "adb push update.zip /sdcard/")

OPTIONAL STEPS FOR INSTALLING GOOGLE APPS
If you want to add in the Google apps then:
-Download the gapps zip from here
-Copy them to your sdcard (e.g adb push gapps-gb-20110828-signed.zip /sdcard/ )

NOTE: if you have issues with the included Google Market FC'ing, then download this versions and it seems to fix the issue (again thanks to detnap in this thread for that tip)

Reboot into TWRP (when the FireFireFire screen comes up hit the power button to launch TWRP.
-If you reboot by holding the power button until the power screen comes up make sure when you select reboot that you DON'T say boot into recovery as this will put you into a loop where the device always boots into TWRP (even if you don't press the power button during the boot) READ THIS PART AS ALMOST EVERYONE IS MISSING THIS PIECE: If you find yourself in this loop then connect with "adb shell" and issue "idme bootmode 4000"
-For me I hold the power button until it goes orange. Just pressing it quickly doesn't do the trick at least for me.

Once it boots into TWRP then I ALWAYS recommend you perform a backup before you start anything (that way you can go back in case of a problem) You can do this by hitting the backup button.

Now that you have a backup, on the main TWRP screen hit the install button. This should put a list of the possible .zip files on your /sdcard partition in the right window. Tap the file you want to flash and hit the flash button (right now don't do any MD5 or signature checks as I've not yet got that included in the update.zip) If you see some errors about not being able to load volume /misc don't worry, I see that right now as well and everything still seems to work. I'll chase that issue once some other bigger issues are run to ground.

If you are coming from a stock ROM then make sure to click the wipe Cache/Dalvik so that we rebuild everything for the new CM7 image. If you're coming from a previous CM7 ROM then you can skip this step (I at least have and everything appears to work fine and you don't have to re-install everything)

Now hit the reboot button and you should again see the FireFireFire yellow triangle again. It will sit there for a bit and then it will go away and you should be greeted with the CM7 boot screen. If everything goes well, then a few seconds later you should be sitting on the main page (in my case it takes me back to my lockscreen as I didn't wipe any of the cache or data partitions)

Ok, that's it or now. Have fun and I'll post an update when/if I get the MAC or Bluetooth issues resolved.
 
Last edited:

DangKid

Senior Member
Jun 22, 2011
436
74
woot woot! Can't wait til Christmas comes around so I can play with my moms new kindle fire :)

Sent from my SAMSUNG-SGH-I997
 

ck_looi

Senior Member
Dec 13, 2008
150
8
You mention the video is not working, is it meaning that the video player in CM7 can't play any format of video?

Or is it just the flash video in the browser?
 

loki154

Senior Member
Jun 19, 2010
434
16
YouTube works, does Netflix?

Sent from my HTC Incredible 2 using XDA App
 

whistlestop

Senior Member
Dec 4, 2011
88
263
Colorado Springs, CO
loki154: Veritass tested the update.zip for me and he said that netflix worked for him.

ck_looi: I haven't tried anything other than trying to play youtube videos in the browser and they cause the browser to exit.
 
  • Like
Reactions: Guitarman

ck_looi

Senior Member
Dec 13, 2008
150
8
Can you please try out any video format which suppose to work in stock ROM? Maybe can try out the mp4 video.
 

Uejji

Senior Member
Feb 1, 2009
134
101
I'm just another "me too" from the crowd, but thanks for continuing this project.

I made the decision to pull the trigger on the Fire after seeing the efforts to port CM7 and ICS to the device, and especially with Transformer Prime availability up in the air.

I know JackpotClavin did most of the work so far, but it's great that others are continuing the work he started, now that he's moved on to ICS work.

Like all the others, I'm excited to be able to enjoy the fruits of everyone's labor when I unwrap my self-bought Fire in a week and a half.

Thanks again.
 

tannerzion

Senior Member
Aug 4, 2011
115
6
Hmm, to get the market on this rom, would we just go by the instructions on the thread for the stock rom or should we flash the gapps by renaming it to update.zip?
 

whistlestop

Senior Member
Dec 4, 2011
88
263
Colorado Springs, CO
Just curious, how long does it take to go from stock to this cm 7?

I'm doing it over and over so I have it down but for me all of a couple of minutes once everything is in place (meaning you've already rooted, you've already set up your android SDK environment and can talk to the device...)

The act of flashing and doing the various commands is maybe 2min from start to finish.
 

Top Liked Posts

  • There are no posts matching your filters.
  • 155
    All,

    Ok, time to re-wrte the OP as there are now MUCH better tools for flashing the update.zip (and you can make backups) Make sure to say thanks to the TWRP team!!!. The update.zip file available here is a derivation of the work originally started by JackpotClavin (he did an initial proof of concept but a number of features that I wanted didn't work so I figured I'd pick up where he left off and see if I could get the ROM working for me with the missing features)

    The initial thread was here if you care to look.

    At this point sound, video (both in the browser and standalone) and hardware acceleration are now working with CM7 on the Fire. I'm off now poking at the MAC address issue and then I'm off to see about Bluetooth.

    UPDATE:
    - 01/01/12 - Back from the break and starting to work on things again. I've had a number of people ask for my current configs so I set up a repo at https://whistlestop@github.com/whistlestop/CM7KF to let people track my progress. If you want to build your own KANG then below are the steps that I currently follow with the current repo files.

    -Pull the CM7 source. Check out this link for a how to on that: http://wiki.cyanogenmod.com/wiki/Nexus_One:_Compile_CyanogenMod_(Linux)

    Symlink the amazon directories from the CM7KF repo into the CM7 tree. Specifically:
    -cd <path to the CM7 tree>/vendor
    -mkdir amazon
    -ln -s <path to CM7KF tree>/vendor/amazon amazon
    -cd <path to CM7 tree>/device
    -mkdir amazon
    -ln -s <path to CM7KF tree>/device/amazon amazon

    Copy the cyanogen_blaze.mk file from <path to the CM7 tree>/vendor/amazon/blaze into <path to the CM7 tree>/vendor/cyanogen/products and add the following line to the AndroidProducts.mk file in the same directory.

    $(LOCAL_DIR)/cyanogen_blaze.mk \

    Ok, go to the top of the CM7 tree and do ". build/envsetup.sh && brunch blaze" and go get a cup of coffee while it builds. It'll take awhile.

    - 01/02/12 - New update.zip files uploaded that fix the MAC issue as well as the build issue with the gps.omap4.so library.

    - 01/03/12 - New update.zip and update-wipeall.zip files uploaded that fix the regression on the hardware acceleration. Sigh...

    - 01/13/12 - Update to remove the recovery option on reboot (as it continues to cause problems for folks), removal of the search from the soft buttons by default, addition of the home to the soft buttons by default (again as that seems to be a constant question) While I built and tested the changes I didn't make the updates. You have IngCr3at1on to thank for that.

    Backlog of tasks (as of 01/02/12)
    -FIXEDSeems that all Wireless MAC IP's are the same (meaning that everyone that flashes the ROM will have the MAC of 08:00:28:12:03:58. While the first three octets register the MAC as being owned by Texas Instruments (the manufacturer of the OMAP chipset), the fact that the last octets don't vary is BAD. From a little Googling, I'm not sure this is something specific to this ROM/device as other CM7 ROMs on different devices seem to have the same issue but with a different MAC address it sounds. I'll look to make sure I'm not doing anything that is causing this issue. A tip of the hat to "TheKid2" for this post which appears to provide a hand workaround to the issue for now.
    -The update.zip file is now signed but the update-wipeall.zip isn't yet. I'll get to that but as it doesn't seem to cause any issue in flashing it's not too high on the list to chase given the two issues below.
    -No Bluetooth (yet...) This is still my personal quest so once I get the base CM7 capabilities working then this is my next thing to poke at. From the postings/reading I've done so far this seems doable (just a matter of time and programming, no rocket science required it appears at this point)

    Before you start, make sure your Kindle Fire is fully charged, rooted, you know your way around adb, your kindle fire actually connects to adb and works successfully and you've installed TWRP (and I recommend installing FireFireFire as well to keep from having to issue idme commands to get into the recovery image).

    I used the directions here to get all the pre-requisites done. Assuming everything above is done, then it's time to install CM7.

    First a note, installing CM7 will replace the current ROM on your device and I'm not responsible for any malfunctions :/ I've done this for versions 6.2 only so your mileage may vary (but there is a good group of members on this thread so they'll help out if possible)

    If you're coming from a STOCK ROM then use this version to flash. It will wipe the data and cache partitions (as well as the system partition) as a part of the flash process which should get rid of any FC issues.
    md5sum for update-wipeall.zip
    e7c85c3bcc01bcea59ffcc5647a6be97 update-cm7-wipeall.zip

    If you're upgrading from an EXISTING CM7 install then use this ROM instead. This one will NOT wipe the cache and data partitions which should mean that you can upgrade from one version of CM7 to another without losing any of your existing date (or that's at least the idea)
    md5sum for update.zip
    ab80c089d0c93f02bd7271c5e4401cf7 update-cm7.zip (CHECK THAT THIS MATCHES THE DOWNLOADED UPDATE.ZIP)

    Copy the CM7 update.zip to the root of your sdcard, so it's /sdcard/update.zip (e.g. "adb push update.zip /sdcard/")

    OPTIONAL STEPS FOR INSTALLING GOOGLE APPS
    If you want to add in the Google apps then:
    -Download the gapps zip from here
    -Copy them to your sdcard (e.g adb push gapps-gb-20110828-signed.zip /sdcard/ )

    NOTE: if you have issues with the included Google Market FC'ing, then download this versions and it seems to fix the issue (again thanks to detnap in this thread for that tip)

    Reboot into TWRP (when the FireFireFire screen comes up hit the power button to launch TWRP.
    -If you reboot by holding the power button until the power screen comes up make sure when you select reboot that you DON'T say boot into recovery as this will put you into a loop where the device always boots into TWRP (even if you don't press the power button during the boot) READ THIS PART AS ALMOST EVERYONE IS MISSING THIS PIECE: If you find yourself in this loop then connect with "adb shell" and issue "idme bootmode 4000"
    -For me I hold the power button until it goes orange. Just pressing it quickly doesn't do the trick at least for me.

    Once it boots into TWRP then I ALWAYS recommend you perform a backup before you start anything (that way you can go back in case of a problem) You can do this by hitting the backup button.

    Now that you have a backup, on the main TWRP screen hit the install button. This should put a list of the possible .zip files on your /sdcard partition in the right window. Tap the file you want to flash and hit the flash button (right now don't do any MD5 or signature checks as I've not yet got that included in the update.zip) If you see some errors about not being able to load volume /misc don't worry, I see that right now as well and everything still seems to work. I'll chase that issue once some other bigger issues are run to ground.

    If you are coming from a stock ROM then make sure to click the wipe Cache/Dalvik so that we rebuild everything for the new CM7 image. If you're coming from a previous CM7 ROM then you can skip this step (I at least have and everything appears to work fine and you don't have to re-install everything)

    Now hit the reboot button and you should again see the FireFireFire yellow triangle again. It will sit there for a bit and then it will go away and you should be greeted with the CM7 boot screen. If everything goes well, then a few seconds later you should be sitting on the main page (in my case it takes me back to my lockscreen as I didn't wipe any of the cache or data partitions)

    Ok, that's it or now. Have fun and I'll post an update when/if I get the MAC or Bluetooth issues resolved.
    18
    All,

    Back from Holiday so picking up where I left off. I've had a few folks ask about source. I've updated the OP with the link to the GIT repo and the directions for building your own update.zip. I'll continue to update that as I get rid of the last few obvious bugs (having to hand remove the gps.omap4.so file to get around the boot loop, fixing the WiFi initialization...)

    I'm off doing a build now to test with on the gps library issue and I'm compiling the source that I was pointed to from the CM team to allow me to correctly initialize the MAC address so I'll be testing over the upcoming days to hopefully get rid of those two issues.

    I'm still poking at the bluetooth stuff (for those that have been asking) Learned a lot over the break on how it's supposed to work so time to put that to work and see if I can get the chip to talk to me. The status is still in the same spot as before, we don't know if the UART is actually wired up on the chip. If so, then I think we should be able to get this working as well as the BT on a nook (meaning very limited distance as there isn't a built in antenna) if not, then this will be an interesting learning experience but nothing more. Time will tell.

    Next, once I get the wireless working correctly and fix the build issue I talk about above then I'm probably going to move myself to ICS as CM7 will work good enough for me (modulo probably continuing to poke at bluetooth to see if I can make any progress there) So, that means that I'm not going to be doing a lot more bug fixing post those couple of specific issues.

    I just wanted to set everyone's expectations on where my time is going to be spent as I go forward. If anyone wants to pick up from where I leave off then the repo will be available. Also, I'm talking to the CM team to see if I can get all this added as an official device to the CM builds which would mean that anyone that wanted to contribute could do so there.

    Take care and Happy New Year to all.
    11
    All,

    Just a quick update before I go offline for a few days with Christmas festivities.

    First, if you've not see "TheKid2's" post here it looks like he may have found a hand workaround to the MAC address issue for now. I've not verified myself yet but one person says it worked for him so it looks promising.

    Second, I've spent the past few days beating my head against the bluetooth stuff. There are a lot of parts I have to stand up: et a kernel building with the Amazon source, compile the OMAP bluetooth implementation, rebuild CM7 with the bluez support enabled... I've made some progress (actually able to modload the bluetooth kernel module I built into the running kernel without issue along with most of the supporting modules) but when I try to attach to the driver and upload the firmware it times out waiting for the chip to respond.

    I'll continue to whack at it but it'll be next week at the earliest before I get some time to come back and poke at this.

    Everyone have a great Holidays and I'll post more when I know it.
    9
    All, thought I'd check in and give a status on the CM9 front (as I'm not spending much time on the CM7 front at the moment)

    I'm (yet again) following in the footsteps of JackpotClavin who's been blazing the trail for about a month on the CM9/ICS port (you can follow progress at [URL="http://xdaforums.com/showthread.php?t=1419187" this post [\URL] if you care to check in)

    Right now ICS is building for the Kindle Fire. As of yesterday (when I finally got a build to succeed) the state of the art was:
    -Boots (still requires a hand mod to the ROM post build but hey, we did that for CM7 up to a week ago)
    -Hardware acceleration works (everything in Quadrant seems to work as expected)
    -Wireless works (no known issues that I saw at least in my testing)
    -Sound works some of the time. In my build (from an Ubuntu 11.10 environment) the sound works at times but at other times (like when playing a H.264 movie in MX player it's silent)
    -Google apps works (as long as you get the 4.0.3 gapps version)

    Obvious stuff that doesn't work yet (again at least for me)
    -hardware decoding of videos
    -video in the browser
    -light sensor (also doesn't work in my CM7 port)

    I was able to successfully upload the OPAM4 hardware decode firmware to the DSP last night after some hacking but even with that in place I couldn't get the hardware decoder to work so more work there.

    I'll check back when the next milestone is reached (meaning that something that isn't working right now is fixed)
    7
    why is CM7 still in development in this thread? Don't waste your time guys, help out the devs on the ICS build!


    Ice cream sandwich on kindle fire [14-Dec]
    http://xdaforums.com/showthread.php?t=1379208
    Quit trolling. Don't tell the devs what to do. Dont like it? Dont read the thread. That simple.