Memperbesar partisi root Raspberry Pi

Standard

Dalam kasus ini digunakan Raspberry Pi model B, archlinux ARM versi 2014-01-06, dan SanDisk Ultra SDHC Card 16GB. Setelah image Archlinux arm di flash ke dalam SD card, besarnya partisi root tidak akan mengikuti besarnya size SD card yang tersedia, hanya berkisar 2GB. Lebih jelasnya lihat panduan berikut.

[spondbob@bikinibottom ~]$ sudo fdisk /dev/mmcblk0
Welcome to fdisk (util-linux 2.24).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Command (m for help): p
Disk /dev/mmcblk0: 14.9 GiB, 15931539456 bytes, 31116288 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x417ee54b

Device Boot Start End Blocks Id System
/dev/mmcblk0p1 2048 186367 92160 c W95 FAT32 (LBA)
/dev/mmcblk0p2 186368 3667967 1740800 5 Extended
/dev/mmcblk0p5 188416 3667967 1739776 83 Linux

/dev/mmcblk0 adalah file yang mewakili SD card secara keseluruhan, sedangkan /dev/mmcblk0p# adalah file yang mewakili partisi ke-# dari /dev/mmcblk0, perhatikan perbedaannya. Terdapat 3 partisi, yang pertama digunakan untuk boot, partisi kedua adalah extended untuk menghindari batasan partisi primary yang hanya bisa berjumlah 4, dan yang terakhir adalah partisi / yang akan kita perbesar size-nya.

Masih di dalam command prompt fdisk, hapus partisi kedua yang secara otomatis akan menghapus partisi kelima karena partisi kelima berada didalam partisi kedua yang berupa partisi extended.

Command (m for help): d
Partition number (1,2,5, default 5): 2

Partition 2 has been deleted.

Command (m for help): p
Disk /dev/mmcblk0: 14.9 GiB, 15931539456 bytes, 31116288 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x417ee54b

Device         Boot Start       End Blocks  Id System
/dev/mmcblk0p1       2048    186367  92160   c W95 FAT32 (LBA)

Setelah partisi lama dihapus, saatnya buat partisi yang baru. Partisi yang baru dibuat harus sesuai dengan skema partisi yang lama (menggunakan extended) agar first sector pada partisi baru sama dengan partisi lama sehingga tidak terjadi kerusakan data didalamnya.

Command (m for help): n

Partition type:
   p   primary (1 primary, 0 extended, 3 free)
   e   extended
Select (default p): e
Partition number (2-4, default 2): 2
First sector (186368-31116287, default 186368):
Last sector, +sectors or +size{K,M,G,T,P} (186368-31116287, default 31116287):

Created a new partition 2 of type 'Extended' and of size 14.8 GiB.

Command (m for help): n

Partition type:
   p   primary (1 primary, 1 extended, 2 free)
   l   logical (numbered from 5)
Select (default p): l

Adding logical partition 5
First sector (188416-31116287, default 188416):
Last sector, +sectors or +size{K,M,G,T,P} (188416-31116287, default 31116287):

Created a new partition 5 of type 'Linux' and of size 14.8 GiB.

Command (m for help): p
Disk /dev/mmcblk0: 14.9 GiB, 15931539456 bytes, 31116288 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x417ee54b

Device         Boot     Start       End   Blocks  Id System
/dev/mmcblk0p1           2048    186367    92160   c W95 FAT32 (LBA)
/dev/mmcblk0p2         186368  31116287 15464960   5 Extended
/dev/mmcblk0p5         188416  31116287 15463936  83 Linux

Sampai tahap ini pastikan start point dari /dev/mmcblk0p2 dan /dev/mmcblk0p5 sama dengan start point sebelumnya. Jika sudah, aplikasikan konfigurasi partisi baru yang sudah dibuat.

Command (m for help): w

The partition table has been altered.
Calling ioctl() to re-read partition table.
Re-reading the partition table failed.: 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).

[spondbob@bikinibottom ~]$

Setelah selesai, reboot raspi [spondbob@bikinibottom ~]$ sudo reboot. Kemudian cek disk usage, maka masih akan menampilkan size lama.

[spondbob@bikinibottom ~]$ df
Filesystem     1K-blocks   Used Available Use% Mounted on
/dev/root        1679632 422916   1153344  27% /
devtmpfs           85080      0     85080   0% /dev
tmpfs             236748      0    236748   0% /dev/shm
tmpfs             236748    284    236464   1% /run
tmpfs             236748      0    236748   0% /sys/fs/cgroup
tmpfs             236748      0    236748   0% /tmp
/dev/mmcblk0p1     91962  24424     67538  27% /boot

Jalankan perintah resize untuk mulai memperlebar ukuran partisi root.

[spondbob@bikinibottom ~]$ sudo resize2fs /dev/mmcblk0p5
resize2fs 1.42.8 (20-Jun-2013)
Filesystem at /dev/mmcblk0p5 is mounted on /; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 1
The filesystem on /dev/mmcblk0p5 is now 3865984 blocks long.

[spondbob@bikinibottom ~]$ df
Filesystem     1K-blocks   Used Available Use% Mounted on
/dev/root       15200752 424616  14127624   3% /
devtmpfs           85080      0     85080   0% /dev
tmpfs             236748      0    236748   0% /dev/shm
tmpfs             236748    284    236464   1% /run
tmpfs             236748      0    236748   0% /sys/fs/cgroup
tmpfs             236748      0    236748   0% /tmp
/dev/mmcblk0p1     91962  24424     67538  27% /boot

Selamat menikmati Pi yang lega.

Referensi:

Leave a Reply