Cara Resize ROOTFS Openwrt Untuk Memaksimalkan Storage SD Card Openwrt

Radenku.comCara resize ROOTFS Openwrt untuk memaksimalkan storage SD card Openwrt. Terkadang ketika kita burning firmware openwrt ke Micro SD atau Flashdisk, openwrt hanya memakai kapasitas sebagian saja.

Mungkin kalian pernah menggunakan firmware dari openwrt firmware selector dan ketika di burning kedalam micro SD, ruang penyimpanan tersedia hanya sekitar 100MB.

Padahal kita menggunakan Micro SD yang lebih besar. Sehingga kita terbatas ketika install package yang membutuhkan ruang besar, seperti libernet, xderm, passwall, docker dll.

Semua ini dikarenakan rootfs di firmware openwrt tersebut hanya sebatas 100MB, kita harus memperbesar rootfs agar semua kapasitas micro SD terpakai semua.

File System Openwrt Ext4 vs SquashFS

Sebelum kita resize ROOTFS Openwrt kita harus tahu terlebih dahulu file system di openwrt. Ketika kita akan menginstall openwrt, biasanya kita terdapat beberapa versi imagenya.

Contoh dibawah dari firmware selector openwrt FriendlyARM Nanopi R2S mempunyai 2 versi yaitu ext4 dan squashfs.

openwrt file system ext4 vs squashfs | Radenku

Sebenarnya apa beda ext4 dengan squashfs?

Yang paling mudah yaitu squashfs adalah partisi read only. Misalnya ketika kamu menggunakan firmware squashfs ketika kamu menghapus file maka file tersebut tidak benar-benar terhapus, hanya saja ditandai telah dihapus.

Ketika kamu openwrt dengan file system squshfs di reset factory maka file yang tadi dihapu hapus akan kembali.

Berbeda dengan file system ext4 maka ketika ada file yang kamu hapus maka benar2 terhapus. Umumnya router yang menggunakan ext4 seperti x86, dan Single Board computer (SBC) yang mempunyai storage besar seperti di micro SD atau HDD. Sedangkan squashfs biasanya dipakai di router-router storage kecil.

Sebenarnya ada beberapa file system lain, seperti brtfs yang biasanya jika kalian compile firmware STB openwrt menggunakan tools ophub maka defaultnya btrfs.

Khusus untuk tutorial disini Resize ROOTFS hanya untuk file system ext4 & btrfs (gparted), tidak bisa untuk squashfs karena caranya berbeda.

Resize Rootfs Openwrt Menggunakan parted, resize2fs & tune2fs

Untuk resize ROOTFS Openwrt pertama ini menurutku cara paling mudah, untuk memperbesar kapasitas openwrt kita bisa langsung di router openwrt.

Untuk resize root partisi openwrt di postingan ini hanya bisa firmware openwrt dengan format ext4 untuk btrfs ketika menggunakan parted partisi tidak terbaca jadi bisa kalian coba cara kedua.

Untuk extend partisi root di openwrt ini kalian harus menggunakan terminal.

1. Masuk ke terminal openwrt install package terlebih dahulu, dan pastikan router openwrt terhubung ke internet.

opkg update && opkg install parted tune2fs resize2fs

2. Kita bisa cek ukuran partisi saat ini sebelum di resize, dengan perintah df -h

root@OpenWrt:~# df -h
Filesystem                Size      Used Available Use% Mounted on
/dev/root               102.4M     14.5M     85.8M  14% /
tmpfs                   495.8M      1.1M    494.7M   0% /tmp
tmpfs                   512.0K         0    512.0K   0% /dev

Saat ini aku menggunakan micro SD dengan kapasitas 8GB, dari df -h disitu size rootfs kita hanya 102.4MB sehingga masih ada sekitar ruang kosong 7GB tidak terpakai.

3. Selanjutnya kita gunakan parted untuk resize root partisi openwrt menggunakan perintah.

parted

Untuk menggunakan parted maka akan muncul di terminal (parted) dan masukkan command. Info lebih detail command seperti ini.

  • help: menampilkan bantuan
  • print: menampilkan tabel partisi
  • resizepart 2: meresize partisi nomor 2
  • quit: keluar dari parted

Command parted yang kita masukkan seperti ini.

(parted) print
(parted) resizepart 2 7988
(parted) print
(parted) quit

Pertama kita cek menggunakan perintah (parted) print maka akan menampilkan storage SD card kita, dimana aku disini menggunakan Micro SD 8GB terbaca sebagai /dev/mmcblk0 dengan kapasitas total yaitu 7988MB.

Disk flags terdapat 2 partisi yaitu partisi 1 sebesar 16.8MB untuk boot, dan partisi 2 root file system. Yang akan kita ubah sizenya yaitu partisi 2 root file system.

Agar memperbesar storage openwrt kita perlu ubah partisi 2 rootfs /dev/mmcblk0p2 menjadi kapasitas maksimum Micro SD yaitu 7988MB dengan perintah (parted) resizepart 2 7988

Setelah kita expand root file system openwrt bisa cek lagi menggunakan perintah (parted) print apakah sudah berubah, dan (parted) quit untuk keluar.

Detailnya perintah & lognya seperti dibawah.

root@OpenWrt:~# parted
GNU Parted 3.4
Using /dev/mmcblk0
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print
Model: SD AS (sd/mmc)
Disk /dev/mmcblk0: 7988MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number  Start   End     Size    Type     File system  Flags
 1      33.6MB  50.3MB  16.8MB  primary  ext2         boot
 2      67.1MB  176MB   109MB   primary  ext2
(parted) resizepart 2 7988
(parted) print
Model: SD AS (sd/mmc)
Disk /dev/mmcblk0: 7988MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number  Start   End     Size    Type     File system  Flags
 1      33.6MB  50.3MB  16.8MB  primary  ext2         boot
 2      67.1MB  7988MB  7921MB  primary  ext2
(parted) quit
Information: You may need to update /etc/fstab.
root@OpenWrt:~#
resize rootfs openwrt parted | Radenku

Note: Jika resizepart 2 error menggunakan parted, Partition is being used, maka unmount /dev/mmcblk0p2 terlebih dahulu.

(parted) resizepart 2 7988
Warning: Partition /dev/mmcblk0p2 is being used. Are you sure you want to continue?
Yes/No? n

Untuk unmount gunakan perintah berikut.

umount /dev/mmcblk0p2

Lanjut (parted) resizepart 2 7988

4. Selesai menggunakan parted, kita remount root sebagai RO (jika gagal, maka reboot router lalu remount lagi)

mount -o remount,ro /

5. Tinggal verifikasi partisi root, dan ketik y semua.

tune2fs -O^resize_inode /dev/mmcblk0p2
fsck.ext4 /dev/mmcblk0p2

6. Lalu reboot router

reboot
expand root partition openwrt | Radenku

7. Setelah router openwrt reboot, terakhir gunakan resize2fs.

resize2fs /dev/mmcblk0p2

8. Hasilnya bisa di cek menggunakan perintah df -h dan di LuCI System > Software maka storage rootfs openwrt akan terbaca 7GB.

root@OpenWrt:~# df -h
Filesystem                Size      Used Available Use% Mounted on
/dev/root                 7.3G     14.5M      7.3G   0% /
tmpfs                   495.8M     68.0K    495.7M   0% /tmp
tmpfs                   512.0K         0    512.0K   0% /dev
expand rootfs partition openwrt sd card flash disk | Radenku

Di menu software sudah tebaca seluruh kapasitas micro SD sebesar 7.8GB. Sekarang bisa install package apapun.

resize rootfs openwrt parted | Radenku

Memperbesar Root File System Openwrt Menggunakan Gparted

Untuk cara kedua resize root file system openwrt yaitu menggunakan Gparted. Gparted adalah aplikasi linux untuk membuat, menghapus dan mengedit partisi di linux. Untuk gparted sendiri hanya bisa jalankan di sistem operasi linux.

Jika cara pertama gagal, resize rootfs STB openwrt yang menggunakan file system btrfs bisa menggunakan gparted.

Gparted hanya bisa jalan di mesin linux, jika menggunakan windows kalian bisa install linux menggunakan virtual box. Lalu bisa install ubuntu/debian atau bisa juga langsung install gparted live disk langsung di virtualbox.

Disini aku menggunakan ubuntu, untuk menginstallnya di distro ubuntu/debian bisa menggunakan perintah berikut.

1. Install gpated & btrfs-progs.

sudo apt install gparted btrfs-progs

Jika kalian menggunakan linux distro lain, tinggal sesuaikan saja.

2. Pasang micro SD atau flash disk openwrt kalian ke PC dan buka aplikasi gparted. Pilih disk dibagian kanan, disini Micro SD kita terbaca /dev/sdc.

resize rootfs openwrt gparted | Radenku

3. Kita pilih label rootfs, dan Resize/Move.

gparted expand resize partition openwrt | Radenku

4. Dan tarik ke batas maksimum storage kita.

expand openwrt | Radenku

5. Lalu save & apply.

gparted openwrt expand rootfs | Radenku
gparted openwrt expand rootfs partition | Radenku

6. Sekarang partisi rootfs sudah berubah yang tadinya hanya 104MB menjadi 7.38GB. Tinggal cabut micro SD kita dan pasang ke router openwrt.

gparted openwrt resize sd card openwrt | Radenku

Demikian tutorial untuk resize ROOTFS Openwrt agar bisa menggunakan kapasitas penyipanan penuh micro SD dan flashdisk.

Cara pertama bisa resize partisi openwrt menggunakan parted, resize2fs & tune2fs di openwrt langsung atau cara kedua bisa menggunakan gparted openwrt dengan bantuan PC linux.

Semoga sekarang kalian bisa memperbesar kapasitas penyimpanan openwrt, jadi tidak terbatas pada kapasitas penyimpanaan pada firmware bawaan.

3 pemikiran pada “Cara Resize ROOTFS Openwrt Untuk Memaksimalkan Storage SD Card Openwrt”

Tinggalkan komentar