This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
user_guide:mikrotik:openwrt_rb750gr3_sdk_19 [2021/02/16 11:10] – [Checkout the SDK] admin | user_guide:mikrotik:openwrt_rb750gr3_sdk_19 [2021/03/15 09:14] (current) – [Select required packages] admin | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== OpenWRT 19.07.x for RouterBOARD 750Gr3 ====== | ====== OpenWRT 19.07.x for RouterBOARD 750Gr3 ====== | ||
===== Introduction ===== | ===== Introduction ===== | ||
- | * We created this page for the 19.07 release of OpenWRT since the CoovaChilli that comes standard included with this release of OpenWRT | + | * We created this page for the 19.07 release of OpenWRT since the CoovaChilli that comes standard included with this release of OpenWRT |
* Our instructions here will help you build your own built of OpenWRT which will include CoovaChilli that has the support for the JSON interface included. | * Our instructions here will help you build your own built of OpenWRT which will include CoovaChilli that has the support for the JSON interface included. | ||
Line 49: | Line 49: | ||
===== Install the required packages ===== | ===== Install the required packages ===== | ||
+ | * Ensure the following packages are installed since they are required by the firmware | ||
+ | <code bash> | ||
+ | ./ | ||
+ | ./ | ||
+ | ./ | ||
+ | </ | ||
+ | |||
+ | ===== Tweak CoovaChilli to include support for JSON ===== | ||
+ | * We will borrow some things from the config files inside the the master branch of OpenWRT to include the option for the JOSN interface when configuring the firmware before building it. | ||
+ | * Edit the **openwrt/ | ||
+ | <file bash Config.in> | ||
+ | # CoovaChilli advanced configuration | ||
+ | |||
+ | if PACKAGE_coova-chilli | ||
+ | |||
+ | config COOVACHILLI_PROXY | ||
+ | bool " | ||
+ | default n | ||
+ | |||
+ | config COOVACHILLI_REDIR | ||
+ | bool " | ||
+ | default n | ||
+ | |||
+ | config COOVACHILLI_MINIPORTAL | ||
+ | bool " | ||
+ | default n | ||
+ | |||
+ | config COOVACHILLI_USERAGENT | ||
+ | bool " | ||
+ | default n | ||
+ | |||
+ | config COOVACHILLI_UAMDOMAINFILE | ||
+ | bool " | ||
+ | default n | ||
+ | |||
+ | config COOVACHILLI_LARGELIMITS | ||
+ | bool " | ||
+ | default n | ||
+ | |||
+ | config COOVACHILLI_JSONINTERFACE | ||
+ | bool " | ||
+ | default n | ||
+ | |||
+ | choice | ||
+ | prompt "SSL library" | ||
+ | default COOVACHILLI_NOSSL | ||
+ | |||
+ | config COOVACHILLI_NOSSL | ||
+ | bool "No SSL support" | ||
+ | |||
+ | config COOVACHILLI_WOLFSSL | ||
+ | bool " | ||
+ | |||
+ | config COOVACHILLI_OPENSSL | ||
+ | bool " | ||
+ | |||
+ | endchoice | ||
+ | |||
+ | endif | ||
+ | </ | ||
+ | * Edit the **openwrt/ | ||
+ | <file bash Makefile> | ||
+ | # | ||
+ | # Copyright (C) 2007-2018 OpenWrt.org | ||
+ | # | ||
+ | # This is free software, licensed under the GNU General Public License v2. | ||
+ | # See /LICENSE for more information. | ||
+ | # | ||
+ | |||
+ | include $(TOPDIR)/ | ||
+ | |||
+ | PKG_NAME: | ||
+ | PKG_VERSION: | ||
+ | PKG_RELEASE: | ||
+ | |||
+ | PKG_SOURCE: | ||
+ | PKG_SOURCE_URL: | ||
+ | PKG_HASH: | ||
+ | |||
+ | PKG_MAINTAINER: | ||
+ | PKG_LICENSE: | ||
+ | PKG_LICENSE_FILES: | ||
+ | |||
+ | PKG_FIXUP: | ||
+ | PKG_INSTALL: | ||
+ | PKG_BUILD_PARALLEL: | ||
+ | |||
+ | PKG_CONFIG_DEPENDS: | ||
+ | COOVACHILLI_JSONINTERFACE \ | ||
+ | COOVACHILLI_LARGELIMITS \ | ||
+ | COOVACHILLI_MINIPORTAL \ | ||
+ | COOVACHILLI_NOSSL \ | ||
+ | COOVACHILLI_OPENSSL \ | ||
+ | COOVACHILLI_PROXY \ | ||
+ | COOVACHILLI_REDIR \ | ||
+ | COOVACHILLI_UAMDOMAINFILE \ | ||
+ | COOVACHILLI_USERAGENT \ | ||
+ | COOVACHILLI_WOLFSSL \ | ||
+ | IPV6 | ||
+ | |||
+ | include $(INCLUDE_DIR)/ | ||
+ | include $(INCLUDE_DIR)/ | ||
+ | |||
+ | define Package/ | ||
+ | SUBMENU: | ||
+ | SECTION: | ||
+ | CATEGORY: | ||
+ | DEPENDS: | ||
+ | +COOVACHILLI_WOLFSSL: | ||
+ | +COOVACHILLI_JSONINTERFACE: | ||
+ | TITLE: | ||
+ | URL: | ||
+ | MENU:=1 | ||
+ | endef | ||
+ | |||
+ | define Package/ | ||
+ | CoovaChilli is an open source access controller for wireless LAN | ||
+ | access points and is based on ChilliSpot. It is used for authenticating | ||
+ | users of a wireless (or wired) LAN. It supports web based login (UAM) | ||
+ | which is today' | ||
+ | Protected Access (WPA) which is the standard of the future. | ||
+ | Authentication, | ||
+ | favorite radius server. | ||
+ | endef | ||
+ | |||
+ | define Package/ | ||
+ | source " | ||
+ | endef | ||
+ | |||
+ | define KernelPackage/ | ||
+ | URL: | ||
+ | SUBMENU: | ||
+ | DEPENDS: | ||
+ | TITLE: | ||
+ | FILES: | ||
+ | AUTOLOAD: | ||
+ | endef | ||
+ | |||
+ | define KernelPackage/ | ||
+ | Netfilter kernel module for CoovaChilli | ||
+ | Includes: | ||
+ | - coova | ||
+ | endef | ||
+ | |||
+ | DISABLE_NLS= | ||
+ | |||
+ | TARGET_CFLAGS += $(FPIC) -Wno-error | ||
+ | |||
+ | CONFIGURE_VARS += \ | ||
+ | | ||
+ | | ||
+ | |||
+ | MAKE_FLAGS += \ | ||
+ | | ||
+ | | ||
+ | |||
+ | MAKE_INSTALL_FLAGS += \ | ||
+ | | ||
+ | | ||
+ | | ||
+ | |||
+ | define Build/ | ||
+ | $(call Build/ | ||
+ | ( cd $(PKG_BUILD_DIR) ; \ | ||
+ | [ -f ./configure ] || { \ | ||
+ | ./ | ||
+ | } \ | ||
+ | ) | ||
+ | endef | ||
+ | |||
+ | define Build/ | ||
+ | $(call Build/ | ||
+ | $(if $(CONFIG_COOVACHILLI_PROXY), | ||
+ | $(if $(CONFIG_COOVACHILLI_REDIR), | ||
+ | $(if $(CONFIG_COOVACHILLI_MINIPORTAL), | ||
+ | $(if $(CONFIG_COOVACHILLI_USERAGENT), | ||
+ | $(if $(CONFIG_COOVACHILLI_LARGELIMITS), | ||
+ | $(if $(CONFIG_COOVACHILLI_JSONINTERFACE), | ||
+ | $(if $(CONFIG_COOVACHILLI_JSONINTERFACE), | ||
+ | $(if $(CONFIG_COOVACHILLI_UAMDOMAINFILE), | ||
+ | $(if $(CONFIG_IPV6), | ||
+ | $(if $(CONFIG_COOVACHILLI_WOLFSSL), | ||
+ | $(if $(CONFIG_COOVACHILLI_OPENSSL), | ||
+ | $(if $(CONFIG_PACKAGE_kmod-ipt-coova), | ||
+ | ) | ||
+ | endef | ||
+ | |||
+ | define Package/ | ||
+ | / | ||
+ | endef | ||
+ | |||
+ | define Package/ | ||
+ | $(INSTALL_DIR) $(1)/etc | ||
+ | $(INSTALL_CONF) $(PKG_INSTALL_DIR)/ | ||
+ | $(INSTALL_DIR) $(1)/ | ||
+ | $(CP) $(PKG_INSTALL_DIR)/ | ||
+ | $(INSTALL_DIR) $(1)/ | ||
+ | $(INSTALL_DATA) ./ | ||
+ | $(INSTALL_DIR) $(1)/ | ||
+ | $(INSTALL_BIN) $(PKG_INSTALL_DIR)/ | ||
+ | $(INSTALL_DIR) $(1)/ | ||
+ | $(CP) $(PKG_INSTALL_DIR)/ | ||
+ | $(if $(CONFIG_PACKAGE_kmod-ipt-coova), | ||
+ | $(INSTALL_DIR) $(1)/ | ||
+ | $(CP) $(PKG_INSTALL_DIR)/ | ||
+ | ) | ||
+ | $(INSTALL_DIR) $(1)/ | ||
+ | $(INSTALL_BIN) files/ | ||
+ | $(INSTALL_DIR) $(1)/ | ||
+ | $(INSTALL_DATA) files/ | ||
+ | endef | ||
+ | |||
+ | $(eval $(call BuildPackage, | ||
+ | $(eval $(call KernelPackage, | ||
+ | |||
+ | </ | ||
+ | ===== Select target system and model ===== | ||
+ | * Under the **openwrt** folder type: | ||
+ | <code bash> | ||
+ | make menuconfig | ||
+ | </ | ||
+ | * For **Target System** select **MediaTek Ralink MIPS** | ||
+ | * For **Subtarget** select **MT7621based boards** | ||
+ | * For **Profile** select **Mikrotik RouterBOARD 750Gr3** | ||
+ | |||
+ | Next we will select the packages to include | ||
+ | |||
+ | |||
+ | ===== Select required packages ===== | ||
+ | * The default package selection by OpenWRT is pretty good to get a standard working firmware done. | ||
+ | * We will do the following additional selections | ||
+ | |||
+ | ^ Package | ||
+ | | coova-chilli | ||
+ | | luci | Luci -> Collections | Required for web management | ||
+ | | luci-theme-material | ||
+ | |||
+ | * After that you can save and exit | ||
+ | |||
+ | ===== Kick off the built ===== | ||
+ | * Everything is now in place to start the firmware built | ||
+ | * Enter the following under the **openwrt** folder | ||
+ | <code bash> | ||
+ | make | ||
+ | </ | ||
+ | * If the build completes with success it will be located here: | ||
+ | <code bash> | ||
+ | ls -l bin/ | ||
+ | total 9412 | ||
+ | -rw-r--r-- 1 system system | ||
+ | -rw-r--r-- 1 system system | ||
+ | -rw-r--r-- 1 system system | ||
+ | -rwxr-xr-x 1 system system 4692436 Feb 16 15:41 openwrt-ramips-mt7621-mikrotik_rb750gr3-initramfs-kernel.bin | ||
+ | -rw-r--r-- 1 system system 4915980 Feb 16 15:41 openwrt-ramips-mt7621-mikrotik_rb750gr3-squashfs-sysupgrade.bin | ||
+ | drwxr-xr-x 2 system system | ||
+ | -rw-r--r-- 1 system system | ||
+ | -rw-r--r-- 1 system system | ||
+ | |||
+ | </ | ||
+ | |||
+ | |||