OpenWRT: Build Firmware X86

From OnnoWiki
Jump to navigation Jump to search

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 libncurses5-dev curl \
libexpat1 libexpat1-dev libssl-dev libdaemon* \
libdaemon0-dbg 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.44.tar.gz
tar zxvf XML-Parser-2.44.tar.gz
cd /usr/local/src/XML-Parser-2.44
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

Pranala Menarik