OS: PRAKTIKUM — OpenWRT x86 Lab
PRAKTIKUM 7 — OpenWRT x86 Lab Membangun dan Menjalankan Network Operating System secara Nyata Tujuan Praktek Praktik ini dirancang untuk membawa mahasiswa naik level dari pengguna OpenWRT menjadi pembangun dan operator OpenWRT. Mahasiswa tidak hanya menjalankan image siap pakai, tetapi membangun image OpenWRT x86 sendiri, menginstalnya ke lingkungan virtual, menjalankannya sebagai network operating system, serta memperluas fungsinya melalui instalasi paket. Setelah menyelesaikan praktikum ini, mahasiswa diharapkan mampu: Memahami OpenWRT sebagai sistem operasi embedded & network-oriented Membangun (build) OpenWRT image x86 Menjalankan OpenWRT sebagai VM di VirtualBox Mengelola paket OpenWRT secara modular Menghubungkan konsep OS (kernel, filesystem, package) dengan fungsi jaringan Praktik ini menjadi jembatan penting menuju bab lanjutan seperti routing, firewall, mesh networking, dan embedded OS engineering. Konteks Akademik Berbeda dengan Linux general-purpose (Ubuntu), OpenWRT dirancang sebagai OS dengan fokus utama pada networking stack. Hampir seluruh desain sistem—mulai dari file system, init system, hingga package manager—dioptimalkan untuk: Jejak sistem yang kecil Boot cepat Konfigurasi deterministik Peran sebagai router / network appliance Dengan membangun OpenWRT x86, mahasiswa mempelajari bahwa: Sistem operasi tidak selalu berarti desktop atau server, tetapi bisa berupa OS khusus untuk satu domain fungsi. Build OpenWRT Image (x86) Persiapan Lingkungan Build (Ubuntu 24.04) Pastikan Ubuntu Server/Desktop 24.04 telah memiliki tool dasar untuk build system. sudo apt update sudo apt install -y build-essential clang flex bison \ gcc g++ make git wget curl unzip \ libncurses-dev gawk zlib1g-dev \ python3 python3-distutils rsync file
Catatan penting (OS insight): Tool ini dibutuhkan karena OpenWRT tidak sekadar di-compile, tetapi dibangun melalui cross-compilation toolchain yang lengkap. Mengambil Source Code OpenWRT Gunakan repository resmi OpenWRT (contoh: branch stabil). git clone https://git.openwrt.org/openwrt/openwrt.git cd openwrt git checkout openwrt-23.05 Makna akademik: Mahasiswa belajar bahwa OS modern dikembangkan secara kolaboratif melalui version control, bukan file installer statis. Update & Install Feeds (Package Metadata)
./scripts/feeds update -a ./scripts/feeds install -a Konsep penting: Feeds adalah mekanisme modular OpenWRT untuk: Menambahkan fitur Memisahkan base system dan aplikasi Menghindari monolit seperti distro Linux biasa Konfigurasi Target & Package (menuconfig) Masuk ke antarmuka konfigurasi: make menuconfig Lakukan pengaturan berikut: Target System → x86 Subtarget → x86_64 Target Profile → Generic x86/64 Base System busybox procd Network firewall4 dnsmasq iproute2 LuCI (opsional, GUI web) luci luci-ssl Refleksi OS: Ini adalah contoh nyata kernel–user space separation: Kernel disiapkan di level target User space ditentukan oleh package selection Build Image OpenWRT Mulai proses build: make -j$(nproc) Proses ini bisa memakan waktu 30–90 menit (tergantung CPU/RAM). Jika sukses, image akan berada di: bin/targets/x86/64/ Contoh file: openwrt-x86-64-generic-ext4-combined.img.gz Install OpenWRT Image di VirtualBox Ekstrak & Konversi Image
gunzip openwrt-x86-64-generic-ext4-combined.img.gz Konversi ke format VirtualBox: VBoxManage convertfromraw \ openwrt-x86-64-generic-ext4-combined.img \ OpenWRT-x86.vdi --format VDI Insight: OpenWRT menggunakan filesystem ext4 + squashfs, berbeda dengan distro Linux desktop.
Membuat VM OpenWRT di VirtualBox Konfigurasi VM: Name: OpenWRT-x86 Type: Linux Version: Other Linux (64-bit) RAM: 256–512 MB CPU: 1 core Disk: OpenWRT-x86.vdi Network Adapter 1: Internal Network Adapter 2: NAT (opsional) Boot VM → login: login: root password: (kosong) Verifikasi sistem: uname -a cat /etc/openwrt_release ip addr Menjalankan OpenWRT sebagai Network OS Konfigurasi Jaringan Dasar Edit konfigurasi network: vi /etc/config/network Contoh LAN static IP: config interface 'lan'
option device 'eth0' option proto 'static' option ipaddr '192.168.1.1' option netmask '255.255.255.0'
Restart network: /etc/init.d/network restart Tes dari Ubuntu host: ping 192.168.1.1
Makna akademik: Routing, ARP, ICMP, dan IP tetap dikendalikan kernel networking stack, meskipun konfigurasi dilakukan di user space. Install & Kelola Packages OpenWRT Update Repository Package
opkg update Install Paket Dasar Contoh paket penting: opkg install htop tcpdump iperf3 Verifikasi: htop tcpdump -i eth0 iperf3 --version Perbandingan OS: apt (Ubuntu) → distro general-purpose opkg (OpenWRT) → embedded & network OS Lebih kecil, cepat, dan deterministik. (Opsional) Install LuCI Web Interface
opkg install luci luci-ssl /etc/init.d/uhttpd restart Akses via browser: https://192.168.1.1 Refleksi Akademik (OBE-Oriented) Setelah menyelesaikan PRAKTIK 7, mahasiswa telah: ✅ Membangun OpenWRT dari source ✅ Memahami build system embedded OS ✅ Menjalankan OpenWRT sebagai network operating system ✅ Mengelola package secara modular ✅ Menghubungkan konsep OS (kernel, filesystem, user space) dengan fungsi jaringan nyata Ini bukan sekadar lab teknis, tetapi latihan berpikir sebagai Embedded & Network OS Engineer. Tantangan Lanjutan (Fun & Menantang) Tambahkan firewall rule via /etc/config/firewall Uji routing antar dua VM Ubuntu melalui OpenWRT Bandingkan boot time OpenWRT vs Ubuntu Siapkan OpenWRT sebagai node mesh (OLSR/BATMAN) untuk praktik berikutnya Filosofi Penutup “Kalau Anda bisa membangun OpenWRT sendiri, maka router bukan lagi kotak hitam—ia adalah sistem operasi yang Anda pahami dan kuasai.”