Difference between revisions of "OpenWRT: Build Firmware X86"

From OnnoWiki
Jump to navigation Jump to search
 
(15 intermediate revisions by the same user not shown)
Line 2: Line 2:
  
 
  sudo su
 
  sudo su
  apt-get update
+
  apt update
  apt-get install subversion gawk flex sharutils bison libz-dev zlib1g-dev patch \
+
  apt -y install subversion gawk flex sharutils bison libz-dev zlib1g-dev patch \
  fakeroot lzma git-core build-essential unzip libncurses5-dev curl php-xml-parser \
+
  fakeroot lzma git git-core build-essential unzip libncurses5-dev curl \
  libexpat1 libexpat1-dev libssl-dev libdaemon*
+
  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
 
  cd /usr/local/src
Line 13: Line 16:
 
  perl Makefile.PL
 
  perl Makefile.PL
 
  make install
 
  make install
 
  
 
==Compile Menggunakan Development Trunk==
 
==Compile Menggunakan Development Trunk==
Line 21: Line 23:
 
Lakukan sebagai '''user biasa'''
 
Lakukan sebagai '''user biasa'''
  
  svn co svn://svn.openwrt.org/openwrt/trunk/ ~/openwrt.trunk/trunk
+
  cd ~
  cd ~/openwrt.trunk/trunk/
+
git clone https://github.com/openwrt/openwrt.git
 +
  cd openwrt
 
  ./scripts/feeds update
 
  ./scripts/feeds update
 
  ./scripts/feeds install meshwizard openssh-server openssh-client
 
  ./scripts/feeds install meshwizard openssh-server openssh-client
Line 29: Line 32:
 
  ./scripts/feeds install luci-app-olsr-viz luci-app-freifunk-policyrouting luci-mod-freifunk
 
  ./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-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-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-arprefresh olsrd-mod-watchdog olsrd-mod-tas olsrd-mod-httpinfo
Line 38: Line 42:
 
  ./scripts/feeds install pptpd ppp-mod-pptp smstools3 picocom
 
  ./scripts/feeds install pptpd ppp-mod-pptp smstools3 picocom
 
  ./scripts/feeds install kamailio4 kamailio asterisk18 asterisk11 coova-chilli
 
  ./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 update -a
 
  ./scripts/feeds install -a
 
  ./scripts/feeds install -a
Line 43: Line 54:
 
  make defconfig
 
  make defconfig
 
  make menuconfig
 
  make menuconfig
 +
 +
 
  make world
 
  make world
 +
make -j1 -V=sc world # alternatif untuk  debugging
  
 
Hasilnya akan tersimpan di
 
Hasilnya akan tersimpan di
  
  ~/openwrt.trunk/trunk/bin/
+
  ~~/openwrt/bin/targets/x86/64
  
 
==Konfigurasi Default==
 
==Konfigurasi Default==
Line 58: Line 72:
 
  Target Profile (Generic)  --->
 
  Target Profile (Generic)  --->
 
  Target Images  --->
 
  Target Images  --->
      [*] tar.gz (NEW)
+
    *** Root filesystem archives ***
      [*] ext4 (NEW)
+
    [*] cpio.gz
      [*] squashfs (NEW)
+
    [*] tar.gz
      -*- Build GRUB images (Linux x86 or x86_64 host only)
+
    *** Root filesystem images ***
      [*]  Use Console Terminal (in addition to Serial) (NEW)
+
    [*] ext4 --->
      (ttyS0) Serial port device (NEW)
+
    [*] iso
      (38400) Serial port baud rate (NEW)
+
    [*] jffs2
      [*] Build VirtualBox image files (VDI)
+
    [*] squashfs --->
      [*] Build VMware image files (VMDK)
+
    -*- Build GRUB images (Linux x86 or x86_64 host only)
      -*- Pad images to filesystem size (for JFFS2)  
+
    [*]  Use Console Terminal (in addition to Serial)
      [*] GZip images (NEW)
+
    (ttyS0) Serial port device
          *** Image Options ***
+
    (38400) Serial port baud rate
      (10) Kernel partition size (in MB)
+
    (5)   Seconds to wait before booting the default entry
      (60) Root filesystem partition size (in MB) (NEW)
+
    [*] Build VirtualBox image files (VDI)
      (/dev/sda2) Root partition on target device (NEW)
+
    [*] 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  --->
 
  LuCI  --->
 
       1. Collections  --->
 
       1. Collections  --->
Line 91: Line 131:
 
       6. Libraries  --->
 
       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==
 
==Pranala Menarik==
  
 +
* [[OpenWRT]]
 +
* [[VirtualBox: Instalasi OpenWRT image]]
 
* [[Gns3]]
 
* [[Gns3]]
 
* [[GNS3: Download]]
 
* [[GNS3: Download]]
 
* [[GNS3: Instalasi]]
 
* [[GNS3: Instalasi]]
 +
* [[IPv6: Quagga]]

Latest revision as of 11:26, 25 December 2019

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