OpenWrt

**OpenWrt** (dari *Open Wireless Router*) adalah proyek sumber terbuka untuk sistem operasi tertanam berbasis Linux, terutama digunakan pada perangkat tertanam untuk merutekan lalu lintas jaringan.  Komponen utamanya adalah Linux, util-linux, musl, dan BusyBox.  Semua komponen telah dioptimalkan agar cukup kecil agar sesuai dengan penyimpanan dan memori terbatas yang tersedia di router rumah.

OpenWrt dikonfigurasi menggunakan antarmuka baris perintah (ash shell) atau antarmuka web (LuCI). Ada sekitar 8000 paket perangkat lunak opsional yang tersedia untuk instalasi melalui sistem manajemen paket opkg..

OpenWrt dapat berjalan di berbagai jenis perangkat, termasuk router CPE, gateway perumahan, ponsel pintar, komputer saku (misalnya Ben NanoNote). OpenWrt juga dapat dijalankan di komputer pribadi dan laptop.

## Sejarah
Pertama kali proyek OpenWrt dijalankan pada tahun 2004. Tepatnya setelah Linksys membangun firmware untuk router nirkabel seri WRT54G dengan kode yang sekaligus dilisensikan dibawah GNU General Public License. Kemudian dibawah ketentuan lisensi tersebut, Linksys diharuskan untuk membuat kode dari versi modifikasinya yang tersedia dibawah lisensi yang sama. Hal ini agar memungkinkan pengembang independen untuk membuat versi turunannya.

Pada awalnya, dukungan hanya terbatas pada seri WRT54G. Namun setelahnya diperluas lagi untuk menyertakan banyak router dan perangkat lain dari berbagai produsen. Selain itu, kode yanag dilisensikan tersebut digunakan untuk dasar sekaligus sebagai referensi sehingga pengembang dapat membuat distribusi Linux yang menawarkan berbagai fitur menarik yang sebelumnya tidak pernah ditemukan di router rumahan.

Namun fitur yang pertama kali diluncurkan masih memerlukan perangkat lunak berpemilik. Seperti contoh sebelum OpenWrt 8.09 yang berbasis Linux 2.6.25 dan b43 modul kernel. WLAN untuk berbagai router berbasis Broadcom hanya bisa dimiliki melalui wl.o modul berpemilik dan yang memerlukan Linux 2.4.x

Saat awal perilisan, OpenWrt secara historinya diberi nama koktail, seperti White Russian, Kamikaze, Backfire, Attitude Adjustment, Barrier Breaker dan Chaos Calmer. Kemudian referensi mereka juga disertakan dalam motd yang ditampilkan tepat setelah masuk menggunakan antarmuka baris perintah.

Pada tahun 2016 tepatnya bulan Mei, OpenWrt di-fork oleh sekelompok kontributor inti dari OpenWrt itu sendiri dengan alasan ketidaksepakatan pada proses internal. Namun perpecahan tersebut didamaikan tepat setahun setelahnya. Kemudian setelah dilakukan penggabungan kembali, selanjutnya diumumkan pada Januari tahun 2018 bahwa branding OpenWrt dipertahankan tentu dengan banyaknya proses dan aturan Linux Embedded Development Environtment (LEDE) yang digunakan.

Sehingga pada akhirnya, nama proyek LEDE digunakan untuk v17.01 dengan versi pengembangan 18.01 dengan merk OpenWrt yang sekaligus menjatuhkan penamaan berbasis koktail asli.

## Fitur
* Memiliki fitur sistem file root yang dapat ditulis. Sehingga memungkinkan pengguna untuk memodifikasi file apapun dan menginstall perangkat lunak tambahan dengan mudah.
* Perangkat lunak tambahan dapat diinstal dengan manajer paket opkg dan repository yang berisi sekitar 6000 paket.
* OpenWrt dapat dikonfigurasikan melalui antarmuka baris perintah atau antarmuka web yang disebut LuCI.
* Menyediakan serangkaian skrip UCI (*Unified Configuration Interface*) yang bermanfaat untuk menyatukan sekaligus menyederhanakan konfigurasi melalui antarmuka baris perintah.
* Tersedia juga untuk antarmuka web tambahan seperti Gargoyle.
* OpenWrt menyediakan perbaikan bug reguler sekaligus pembaruan keamanan bahkan untuk perangkat yang tidak lagi didukung oleh produsennya.
* Konfigurasi yang dapat diperluas dari seluruh driver perangkat keras.

## Pengembangan
Lingkungan pengembangan dan sistem pembangunan OpenWrt yang dikenal sebagai OpenWrt Buildroot, didasarkan pada sistem Buildroot yang banyak dimodifikasi. OpenWrt Buildroot sendiri merupakan satu set dari makefile dan patch yang secara otomatis membangun sistem OpenWrt berbasis Linux lengkap untuk perangkat yang disemakan dengan membangun dan menggunakan toolchain kompilasi silang yang sesuai.

### Fitur OpenWrt Buildroot

* Memudahkan port perangkat lunak lintas arsitektur
* Menggunakan kconfig (*Linux kernel menuconfig*) untuk konfigurasi semua opsi.
* Menyediakan toolchain cross-compiler terintegrasi
* Menyediakan abstraksi untuk autotools
* Menangani alur kerja pembuatan gambar OpenWrt standar dengan mengunduh, menambal, mengkonfigurasi, kompilasi, dan juga pengemasan.
* Menyediakan sejumlah perbaikan umum untuk paket yang diketahui berperilaku buruk.

Selain untuk membangun citra sistem, lingkungan pengembangan OpenWrt juga menyediakan mekanisme untuk membangun paket perangkat lunak OpenWrt lintas platform yang sudah disederhanakan. Kode sumber untuk setiap paket perangkat lunak, diperlukan untuk menyediakan satu set instruksi pembuatan seperti Makefile, dan satu set tambalan opsional untuk perbaikan bug atau optimasi footprint.

## Kompatibilitas Perangkat Keras
OpenWrt dapat menjalankan banyak router yang berbeda dan menyertakan tabel perangkat keras yang kompatibel di situs webnya. Selain itu, dalam panduan pembelian juga sudah disebutkan bahwa pengguna merekomendasikan perangkat yang dilengkapi dengan chip nirkabel dari Atheros atau MediaTek. OpenWrt juga merekomendasikan untuk memilih perangkat dengan minimal 16 MB Flash dan 64 MB RAM.

## Referensi

## Pranala luar
* Situs unduh OpenWrt
* Mailing list OpenWrt
* LuCI Project
* OpenWrt Summit