[Galaxy Tab 2 7" Android Development] tuxafgmur:
I wrote this How-To several months ago and published in a spanish forum.

Now I've recovered to share here as it may interest someone.

This was originally written in spanish and now, our friendly companion [MENTION=4479038]nachordez[/MENTION]

has been kind enough to translate it to english. Thank you very much for your help. :good:

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

I'll try to explain here how to change the size of our device partitions.

Though the presented data are referred to a 16 GB, a p5110 in this case, they are easy to adapt to a 8 GB one, and/or any other model, with some light corrections.

There can be other ways, but this one has the advantage that depends only on not writing wrong data, and that's easily achieved with a little extra concentration during our work.

Anyway, it's needed to follow very strictly this how-to.

In case of total failure, we should restore the tab through the flashing of a Stock version using the pit file.

ALL the data not saved in the external MicroSD card WILL BE LOST, 'cause we'll delete the /system, /data and /cache partitions.

What is needed:

A computer.

A properly running adb program.

Recovery installed.

External MicroSD card installed and with available space.

Connection cable.

Full Battery.

For 3G (GSM) models, the original “modem.bin” file, obtained from a stock ROM.

The modem.bin file is not really needed as we can get it from our tablet with next command

dd count=40960 bs=512 if=/dev/block/mmcblk0p8 of=/external_sd/modem.bin​

All process is done from computer, except a short intervention at end, done from tablet.

This how-to is planned for a AOSP-like ROM, such as CyanogenMod (for example).

In the case of a Stock ROM, the partition sizes we are adjusting will be too short for it.

Before starting:

We have to check that there is enough free space in the MicroSD card, and we have to do a backup through recovery, choosing EXTERNAL SDcard.

If the internal one is used, IT WILL BE LOST DURING PROCESS.

This step is very important, to recover the ROM without re-install from zero.

So, let me say it again: EVERY USER DATA that has being not COPIED to the EXTERNAL SDcard, WILL BE LOST.

After next steps, ONLY the external MicroSD will be conserved without erasing.

So, we check once again that everything is saved, and copy to the external MicroSD (if our tab is a 3G model) the “modem.bin” file that will be needed afterwards.
​

So... Let's start hacking!:

We always wrote in our PC.

We reboot our tab in recovery mode, and connect the cable.

To enter the tab from our computer:

> adb shell

Once entered correctly on the tablet, we like more clear ls command:

> alias ls='ls -an'

Now we access the partition table:

> parted /dev/block/mmcblk0

We'll get something like:

GNU Parted 1.8.8.1.179-aef3

Using /dev/block/mmcblk0

Welcome to GNU Parted! Type 'help' to view a list of commands.

(parted)​

The command line for parted is (parted), so, every time a line starts so, that what follows this is a command.

We ask for information about current partitions:

(parted) p

Model: MMC MAG2GA (sd/mmc)

Disk /dev/block/mmcblk0: 15.8GB

Sector size (logical/physical): 512B/512B

Partition Table: gpt

Number... Start... ....End......... Size...........File system...... Name.... Flags

1............4194kB.... 25.2MB.... 21.0MB...... ext4................ EFS

2........... 25.2MB.... 27.3MB....2097kB............................... SBL1

3........... 27.3MB.....29.4MB....2097kB............................... SBL2

4........... 29.4MB.... 37.7MB....8389kB............................... PARAM

5........... 37.7MB.... 46.1MB... 8389kB............................... KERNEL

6........... 46.1MB.... 54.5MB... 8389kB............................... RECOVERY

7............54.5MB...789.0MB.. 734.0MB....... ext4................CACHE

8......... 789.0MB.. 810.0MB.... 21.0MB.............................. MODEM

9......... 810.0MB.., 2278MB... 1468MB....... ext4............... FACTORYFS

10........ 2278MB.... 15.2GB.... 12.9GB........ext4............... DATAFS

11......... 15.2GB..... 15.8GB.... 537MB....... ext4............... HIDDEN​

Comments:

Analizing the current partitions we can see this tablet is a 16 GB one:

/cache (CACHE) has 734 MB assigned

/system (FACTORYFS) has 1468 MB assigned

/data (DATAFS) has 12,9 GB assigned

There's also a funny 537 MB partition called HIDDEN: that's where the Samsung video, musical theme and demo pictures are stored.

If I don't mistake, I think I extracted them time ago, and they were just about 14 MB. In our case, we'll opt for destroying that! :)

In this how-to we'll assign:

/cache (CACHE) 400 MB

/system (FACTORYFS) 600 MB

/data (DATAFS) the sum of: its current size + 394 MB from CACHE + 868 MB from FACTORYFS + 536 MB from HIDDEN.

So, we'll grow our /DATAFS space in 1798 MB, which will mean more than 14 GB free space.

I use in this example 600 MB for /system was what I did in my tab.

In real world, 240 MB /cache and 500 MB /system are more than enough.

As we'll see later, all this numbers are just aproximations, not completely exact, and probably you're thinking: “My maths do not agree with this numbers”. Mine do not, also, as a fact.
​

Let's see all that more slowly:

21+2+2+8+8+8+21+1 (for the 'hidden' partitions) give us 71 MB.

If we add 71 + 400 +600 we'll get 1071 MB.

If we have 16 GB and we use 1 GB, more than 15 GB should rest.

On one hand: 1 GB are 1048 MB. So, 16 GB should be 16768 MB, but we have just 15709.

That has a easy explanation: The hard disk makers started to measure 1 GB as 1000 MB (kind of a commercial trick). So, just beginning with that, 768 MB have disappeared in thin air.

On the other hand, we have 34 initial sectors to sustain the partition table, alternative sectors for errors recovering, rounding of numbers in sectors to partitions assignations, etc.

We have 11 partitions just now:.............................................. And they should get like that:

01 00021 MB...........................................................................01 00021 MB

02 00002 MB...........................................................................02 00002 MB

03 00002 MB...........................................................................03 00002 MB

04 00008 MB...........................................................................04 00008 MB

05 00008 MB...........................................................................05 00008 MB

06 00008 MB...........................................................................06 00008 MB

07 00734 MB...........................................................................07 00400 MB *

08 00021 MB...........................................................................08 00021 MB

09 01468 MB...........................................................................09 00600 MB *

10 12900 MB...........................................................................10 14638 MB *

11 00537 MB...........................................................................11 00537 MB

.....15709 MB................................................................................15709 MB
​

The difference can seem small compared to the original partitioning, nevertheless will allow us to get all our usual apps installed and, even so, preserve a free space higher than we had previously, even before than start to install anything. That's saying: even more than with a pure CM just installed and not even configured.

Obviously, if we translate all that to a 8 GB model, the proportional gain is much higher.

Also, consider that an AOSP rom like CM is not bigger than 460 MB in /system, and that cache will need just 60 MB for dalvik and what we can download from google-play at a certain time. 170 MB should be enough, unless we want to download an app bigger than 100 MB. The bigger ones I've saw are around 90-105 MB.

In this moment, we'll have to decide if we want to follow on or not.

Till now, I was just fun, but nothing has being 'broken'.

Disclaimer: If you continue reading next post, and you do what's there exposed, it will be ONLY under YOUR RESPONSIBILITY. You've being warned... ;)

CopyRight Tuxafgmur - Dhollmen 2013-2014. You can copy and distribute this post only if you mentions Author and references this XDA theread.