Here is how to utilise the full capacity of your Raspberry Pi’s SD card after installing the Debian image which gives a 2GB root partition:
Step 1: Run fdisk as sudo
sudo fdisk -cu /dev/mmcblk0Step 2: enter p to view the current partition table:
Commands (m for help): p
Device Boot Start End Blocks Id System
/dev/mmcblk0p1 2048 155647 76800 c W95 FAT32 (LBA)
/dev/mmcblk0p2 157696 3414015 1628160 83 Linux
/dev/mmcblk0p3 3416064 3807231 195584 82 Linux swap / SolarisStep 3: Delete partitions 2 and 3 (root and swap)
Command (m for help): d
Partition number (1-4): 2
Command (m for help):d
Command (m for help): 3Step 4: Create a new primary partition (2) starting where the previous partition 2 started (usually 157696)
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 2
First sector (155648-8058879, default 155648: 157696
Last sector, +sectors or +size{K,M,G} (157696-8058879, default 8058879): (press enter)Your partition table will now look something like this: (The numbers will change depending on the size of your card, I am using a 4Gb card)
p
Device Boot Start End Blocks Id System
/dev/mmcblk0p1 2048 155647 76800 c W95 FAT32 (LBA)
/dev/mmcblk0p2 157696 8058879 3950592 83 Linux
Command (m for help): wthis writes the new partition table to the SD card
The Partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.Step 5: Reboot to reload the partition table
sudo shutdown -r nowStep 6: Once it has rebooted, log back in and resize partition 2 (Takes a while, be patient!)
sudo resize2fs /dev/mmcblk0p2Done!