Difference between revisions of "OpenWRT: Build Firmware X86"
		
		
		
		
		
		Jump to navigation
		Jump to search
		
				
		
		
	
Onnowpurbo (talk | contribs)  | 
				Onnowpurbo (talk | contribs)   | 
				||
| (15 intermediate revisions by the same user not shown) | |||
| Line 2: | Line 2: | ||
  sudo su  |   sudo su  | ||
| − |   apt  | + |   apt update  | 
| − |   apt-  | + |   apt -y install subversion gawk flex sharutils bison libz-dev zlib1g-dev patch \  | 
| − |   fakeroot lzma git-core build-essential unzip libncurses5-dev curl   | + |   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'''  | ||
| − | + |   cd ~  | |
| − |   cd   | + |  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  | + |   ~~/openwrt/bin/targets/x86/64  | 
==Konfigurasi Default==  | ==Konfigurasi Default==  | ||
| Line 58: | Line 72: | ||
  Target Profile (Generic)  --->  |   Target Profile (Generic)  --->  | ||
  Target Images  --->  |   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  --->  |   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