[Kindle Fire Android Development] eldarerathis:
Notice: I'm shelving this, at least for now. The errors are too inconsistent and sporadic, and testing has proven to bee rather arduous. I won't delete the repos, but I'm not currently planning to support or look at this much for at least the near future. It's worked for some people, but USE AT YOUR OWN RISK only. I am not providing binaries for this, if you want to use it then you'll need to build it yourself and if you go to that much trouble I would hope you know what you're doing.

If an error occurs, I recommend rebooting into any version of FIREFIREFIRE that has the 'fastboot oem format' command and using that to fix your partition table. If you have no idea what that last sentence just said, I strongly suggest you do not use this tool.

-----

I briefly mentioned in a previous post that I was working on an app that would enable you to resize your data, cache, and sdcard partitions so that you can have some more app installation space. Now that I've gotten everything to a stable point, I'd like to go ahead and release my work to the general public for anyone who wants to give it a try. So, I'd like to present what I've named FireParted.

What is it?

FireParted is a basic partition manager for your Kindle Fire, released under the GNU General Public License v3.0. It provides you with a (hopefully) intuitive GUI for resizing your data, cache, and sdcard partitions. It does not support or affect any other partitions on your device.

How does it work?

To use FireParted you will first need the following:

ADB needs to be configured on your computer to connect to your Kindle Fire. This will not install or configure the ADB drivers for you, but KFU will.

You need to have a custom recovery installed (tested against TWRP, but ClockworkMod should also work)

You need to have Windows with the .NET 3.5 Framework installed (Win7 ships with this, XP and Vista users can use the link to the left if needed). I plan to support Mono, but it has not been tested yet (it does build in MonoDevelop, though, so that's a good sign).

(Optional, but recommended) FIREFIREFIRE v1.1 or later. This will give you access to the 'fastboot oem format' command should something horrible happen (power loss, your computer crashes mid-partition, etc).

Your device must be in recovery mode while running FireParted in order to repartition it. Note that you can make an archive of your /data partition from a normal OS boot.

(Optional) If you want to examine a data archive backup on your computer, I highly recommend 7-zip. It's lightweight, free, open source, and supports TAR and GZIP archives, which is what I'm using to create the backup.

Once you are sure that you have met the prerequisites, you can simply launch the FireParted executable to start the application. Again, before you can do any partitioning work, you will need to reboot your device into recovery. Next you should read the partition table of your device to get a baseline, and then backup your data partition (unless you want it to be formatted). The numeric controls on the left allow you to choose the partition sizes you want, and "Apply Changes" will perform the repartition for you. Then you can restore your data backup and reboot to test your new layout!

Can I get a quick feature rundown?

Sure. FireParted currently supports the following:

Repartitioning of the data, cache, and sdcard partitions, to allow for larger app installation space (for example).

Archiving and unarchiving of the data partition (to preserve data during a repartition). Can be used simply as a backup mechanism if desired (requires root).

Basic sanity checking - FireParted keeps track of how much space you have to split amongst the data/cache/sdcard partitions, and won't let you create a partition that doesn't fit. It also won't let you shrink a partition to be smaller than its current contents. Also limits the cache partition to a minimum of 64MB.

Where can I get it?

The source code is available on my GitHub.