OpenWRT: Build Firmware X86 di Ubuntu 24.04
Siapkan Aplikasi Pendukung
sudo su apt update apt -y install subversion gawk flex sharutils \ bison libz-dev zlib1g-dev patch \ fakeroot lzma git git-core build-essential \ unzip libncurses-dev curl \ libexpat1 libexpat1-dev libssl-dev libdaemon* \ libdaemon-generic-perl libdaemon0 libdaemon-dev \ libdaemon-doc libdaemon-control-perl
Install XML-Parser
cd /usr/local/src wget http://www.cpan.org/modules/by-module/XML/XML-Parser-2.47.tar.gz tar zxvf XML-Parser-2.47.tar.gz cd /usr/local/src/XML-Parser-2.47 perl Makefile.PL make install
Compile Menggunakan Development Trunk
Development Trunk tampaknya paling RECOMMENDED
Lakukan sebagai user biasa
cd ~ git clone https://github.com/openwrt/openwrt.git cd openwrt ./scripts/feeds update ./scripts/feeds install meshwizard openssh-server openssh-client ./scripts/feeds install freifunk-common freifunk-gwcheck freifunk-mapupdate ./scripts/feeds install luci luci-app-meshwizard luci-app-olsr luci-app-olsr-services ./scripts/feeds install luci-app-olsr-viz luci-app-freifunk-policyrouting luci-mod-freifunk ./scripts/feeds install luci-theme-freifunk-generic olsrd olsrd-mod-txtinfo olsrd-mod-dyn-gw ./scripts/feeds install luci-i18n-olsr-en ./scripts/feeds install olsrd-mod-dyn-gw-plain olsrd-mod-dot-draw ./scripts/feeds install olsrd-mod-arprefresh olsrd-mod-watchdog olsrd-mod-tas olsrd-mod-httpinfo ./scripts/feeds install olsrd-mod-pgraph olsrd-mod-secure olsrd-mod-bmf ./scripts/feeds install luci-app-upnp minidlna miniupnpc miniupnpd luci-app-minidlna ./scripts/feeds install libdlna libgupnp libgupnp-dlna rtorrent ./scripts/feeds install usb-modeswitch usb-modeswitch-data usbutils multiwan ./scripts/feeds install 6in4 6rd 4th 6to4 6tunnel libdaemon aprx usb-modeswitch ./scripts/feeds install pptpd ppp-mod-pptp smstools3 picocom ./scripts/feeds install kamailio4 kamailio asterisk18 asterisk11 coova-chilli ./scripts/feeds install batctl batmand kmod-batman-adv ./scripts/feeds install bird4-uci bird4 bird6-uci bird6 birdc4 birdc6 birdcl4 birdcl6 ./scripts/feeds install quagga-bgpd quagga-isisd quagga-libospf quagga-libzebra quagga-ospf6d ./scripts/feeds install quagga ospfd quagga-ripd quagga-ripngd quagga-vtysh quagga-watchquagga ./scripts/feeds install quagga-zebra quagga ./scripts/feeds install openvpn-easy-rsa openvpn-mbedtls openvpn-nossl ./scripts/feeds install openvpn-openssl openwrt-keyring ./scripts/feeds update -a ./scripts/feeds install -a make clean make defconfig make menuconfig
make world make -j1 -V=sc world # alternatif untuk debugging
Hasilnya akan tersimpan di
~~/openwrt/bin/targets/x86/64
Konfigurasi Default
Konfigurasi untuk X86 untuk simulasi GNS3
Target System (x86) ---> Subtarget (Generic) ---> Target Profile (Generic) ---> Target Images ---> *** Root filesystem archives *** [*] cpio.gz [*] tar.gz *** Root filesystem images *** [*] ext4 ---> [*] iso [*] jffs2 [*] squashfs ---> -*- Build GRUB images (Linux x86 or x86_64 host only) [*] Use Console Terminal (in addition to Serial) (ttyS0) Serial port device (38400) Serial port baud rate (5) Seconds to wait before booting the default entry [*] Build VirtualBox image files (VDI) [*] Build VMware image files (VMDK) -*- Pad images to filesystem size (for JFFS2) [*] GZip images *** Image Options *** (25) Kernel partition size (in MB) (70) Root filesystem partition size (in MB) () Root partition on target device Kernel modules ---> Network Devices ---> <*> kmod-3c59x <*> kmod-8139cp <*> kmod-8139too <*> kmod-dummy <*> kmod-e100 -*- kmod-e1000 <*> kmod-e1000e -*- kmod-libphy -*- kmod-mii <*> kmod-natsemi <*> kmod-ne2k-pci <*> kmod-pcnet32 <*> kmod-r8169 <*> kmod-sis900 <*> kmod-tg3 <*> kmod-via-rhine <*> kmod-via-velocity <*> kmod-vmxnet3 LuCI ---> 1. Collections ---> -*- luci <*> luci-ssl 2. Modules ---> -*- luci-base -*- luci-mod-admin-full 3. Applications ---> -*- luci-app-firewall 4. Themes ---> -*- luci-theme-bootstrap <*> luci-theme-openwrt 5. Protocols ---> <*> luci-proto-3g <*> luci-proto-ipv6 -*- luci-proto-ppp 6. Libraries --->
Konfigurasi untuk Kemampuan Routing
Agar Firmware OpenWRT mempunyai kemampuan routing yang baik, ada baiknya kita masukan:
Kernel modules > Network Support > <*> kmod-gre <*> kmod-gre6 -*- kmod-ip6-tunnel -*- kmod-ipip <*> kmod-ipsec <*> kmod-ipsec4 <*> kmod-ipsec6 -*- kmod-iptunnel6 -*- kmod-ipv6 Network Network > Routing and Redirection > -*- bird4 <*> bird4-uci -*- bird6 <*> bird6-uci <*> birdc4 <*> birdc6 <*> birdcl4 <*> birdcl6 <M> ip <*> ip-bridge <*> ip-full <*> olsrd > <*> olsrd-mod-arprefresh <*> olsrd-mod-bmf <*> olsrd-mod-dot-draw <*> olsrd-mod-dyn-gw <*> olsrd-mod-dyn-gw-plain <*> olsrd-mod-httpinfo <*> olsrd-mod-jsoninfo <*> olsrd-mod-mdns <*> olsrd-mod-nameservice <*> olsrd-mod-p2pd <*> olsrd-mod-pgraph <*> olsrd-mod-pud <*> olsrd-mod-quagga <*> olsrd-mod-secure <*> olsrd-mod-sgwdynspeed <*> olsrd-mod-txtinfo <*> olsrd-mod-watchdog <*> quagga > <*> quagga-babeld <*> quagga-bgpd <*> quagga-isisd -*- quagga-libospf -*- quagga-libzebra <*> quagga-ospf6d <*> quagga-ospfd <*> quagga-ripd <*> quagga-ripngd <*> quagga-vtysh <*> quagga-watchquagga <*> quagga-zebra