Easy Way to Get Your Own Firmware
openwrt
]
Ada beberapa cara untuk membuat firmware openwrt yang jamak dilakukan. Setidaknya ada 3 cara mudah untuk melakukannya:
- Image builder, metode ini hampir bisa dikatakan setengah matangnya metode buildsystem. Anda tetap bisa membuat firmware dengan menggunakan scratch code anda sendiri. Keuntungan dibandingkan dengan buildsystem, cara ini memangkas waktu proses compile untuk package umum yang sudah tersedia di repositori.~ Image builder method.
- FMK method, cara ini seperti membongkar kompresi rootfs firmware asli, menambahkan atau memdifikasi file/package untuk kemudian menrepacknya ulang. Cara ini adalah cara yang saya gunakan di paper Idsecconf dulu. Salah satu tools yang baisa digunkan adalah FMK.
- Backup method, ini cara paling mudah untuk membuat f/w dengan cita rasa anda sendiri. Anda cukup jalankan router, tambahkan file yang akan anda inginkan, modif config yang ingin dicustom eq:firewall, dhcp config, etc. Kemudian jalankan perintah untuk mengidentifikasi lokasi f/w dan lakukan backup.
root@Openwrt:~# cat /proc/mtd
dev: size erasesize name
mtd0: 00020000 00010000 "u-boot"
mtd1: 00128cfc 00010000 "kernel"
mtd2: 00ea7304 00010000 "rootfs"
mtd3: 00810000 00010000 "rootfs_data"
mtd4: 00010000 00010000 "art"
mtd5: 00fd0000 00010000 "firmware" #ini lokasi f/w d mtd part
root@Openwrt:~# cat /dev/mtd5 > /tmp/backup.bin
Satu yang berbeda dari methode 1 & 2, jika di analyze dengan binwalk akan terlihat ada part JFFS2 dalam f/w.
smrx86@Manilas-MacBook ~$ binwalk backup.bin
DECIMAL HEXADECIMAL DESCRIPTION
--------------------------------------------------------------------------------
512 0x200 LZMA compressed data, properties: 0x6D, dictionary size: 8388608 bytes, uncompressed size: 3676460 bytes
1215740 0x128CFC Squashfs filesystem, little endian, version 4.0, compression:xz, size: 6855824 bytes, 2327 inodes, blocksize: 262144 bytes, created: 2017-01-11 06:07:39
8126464 0x7C0000 JFFS2 filesystem, big endian #ini hanya ada jika menggunakan metode backup.
JFFS2 (rootfs overlay) ini adalah compress dari file konten yang ditambahkan atau dimodif sebelum backup dilakukan.
Sementara rootfs yang berada di part squash filesystem sebenarnya tidak mengalami perubahan dari f/w asli yang digunakan awal oleh router.
Lalu metode apa yang sebaiknya saya pilih??? hmmm…kalau saya bilang, pilih yang paling sesuai dengan kebutuhan. Cara 1 & 2 akan butuh effort lebih, tapi akan menghasilkan f/w yang lebih bersih dan fresh ketika akan di flash.
Logika pemilihannya seperti dibawah ini:
ref: Image builder method, Slash the pineapple for fun, Membuat full backup image openwrt dari Router Aktif.