Radenku.com – Cara 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.
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:~#
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
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
Di menu software sudah tebaca seluruh kapasitas micro SD sebesar 7.8GB. Sekarang bisa install package apapun.
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.
3. Kita pilih label rootfs, dan Resize/Move.
4. Dan tarik ke batas maksimum storage kita.
5. Lalu save & apply.
6. Sekarang partisi rootfs sudah berubah yang tadinya hanya 104MB menjadi 7.38GB. Tinggal cabut micro SD kita dan pasang ke router openwrt.
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.
mantap tutorialnya bang,
oh ya boleh request cara pakai extroot di openwrt
tq
tutorial squashfs om
Trims om