Tutorial video here: http://www.youtube.com/watch?v=R4VovMDnsIE
Following on from the instructions above, keep the newly-written SD card in the card reader, but unmounted. We'll use the
parted (partition editor) tool to resize the partitions.
- Show partition information to find your SD card
$ df -h
Look for a partition that matches the roughly 2GB size of your distribution image.
$ umount /dev/sdc2
- Use parted to examine the card
$ sudo parted /dev/sdd
(parted) unit chs
Disk /dev/sdd: 121535,3,31
Sector size (logical/physical): 512B/512B
BIOS cylinder,head,sector geometry: 121536,4,32. Each cylinder is 65.5kB.
Partition Table: msdos
Number Start End Type File system Flags
1 16,0,0 1215,3,31 primary fat32 lba
2 1232,0,0 26671,3,31 primary ext4
3 26688,0,0 29743,3,31 primary linux-swap(v1)
- This shows how my SD card was formatted after writing the
image. Notice that nothing uses the card from end of 'cylinder' 29743 to
the card's maximum at 121535.
- Partition 1 is the boot partition: we'll leave that alone.
Partition 2 is the root partition, which we'll grow to fill most of the
card. Some OS versions will have a Partition 3 for swap space, which
needs to be moved to the end of the card. Note that on some other
versions of linux (and some other versions of hardware) use /sde not
- Move the swap partition if it exists (you'll have to adjust the
numbers so that the end of partition 3 is at the end
cylinder/head/sector of the card)
- to calculate the number to use in the following command do:-
(Maximum - (Partition 3 End - Partition 3 Start) ) - 1 = Partition 3 New Start so in this example
(121535 - ( 29743 - 26688)) -1 = 118479
- Will not work with parted versions later than 2.4
(parted) move 3 118479,0,0
- Now grow the root partition. This involves removing the partition, re-creating it, then using
resize2fs to grow the filesystem to fill the partition. It won't destroy any data.
(parted) rm 2
(parted) mkpart primary 1232,0,0 118478,3,31
- Note that the starting address of the new partition is
identical to its original value, and the ending address is immediately
before the start of the swap partition.
- Now clean and resize the root partition. As before, some users may need to use /sde2 instead.
$ sudo e2fsck -f /dev/sdd2
- (allow it to add lost-and-found)
$ sudo resize2fs /dev/sdd2
- Then put the card in the RPi and boot. You end up with a 7Gb partition to use.
pi@raspberrypi:~$ df -h
Filesystem Size Used Avail Use% Mounted on
tmpfs 94M 4.0K 94M 1% /lib/init/rw
udev 10M 168K 9.9M 2% /dev
tmpfs 94M 0 94M 0% /dev/shm
rootfs 7.1G 1.3G 5.4G 20% /
/dev/mmcblk0p1 75M 28M 48M 37% /boot