# gl-inet-openwrt **Repository Path**: hsfeng/gl-inet-openwrt ## Basic Information - **Project Name**: gl-inet-openwrt - **Description**: No description available - **Primary Language**: Unknown - **License**: GPL-2.0 - **Default Branch**: openwrt-19.07.7 - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-08-16 - **Last Updated**: 2021-11-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README Overview ======== This repo is maintained by GL.iNet team, which is used to release stock firmware. Feature ======= - Support latest device of GL.iNet - Support kernel driver which isn't support by kernel-tree - Keep updating with stock firmware Branches Introduction ======= - **openwrt-18.06-siflower** Only supports SF1200 - **openwrt-18.06-s1300** Support compiling openwrt firmware for S1300 If you need to flash OpenWrt firmware on S1300, you need to modify the partition table using the intermediate firmware in this branch - **openwrt-18.06** Compile versions before 3.105 firmware based on this source code - **openwrt-18.06.5** Compile version 3.105 firmware based on this source code - **openwrt-19.07.7** Compile version 3.201 firmware based on this source code - **openwrt-trunk** Compile S1300 firmware supporting emmc **For example, if you want to use openwrt-19.07.7 to compile the production firmware, you need to use *```git checkout openwrt-19.07.7```* command to switch openwrt-19.07.7 branch.** Product Branch Relationship Table ======= **Support Branch:** Branches that support this product **Official OpenWrt :** Official OpenWrt supports this product from the current release | Product | Support Branch | Official OpenWrt | Remark | | :-----| :----- | :---- | :---- | | AR150 | openwrt-18.06
openwrt-18.06.5
openwrt-19.07.7 | >17.01 | | | MIFI | openwrt-18.06
openwrt-18.06.5
openwrt-19.07.7 | >17.01 | | | AR300M | openwrt-18.06
openwrt-18.06.5
openwrt-19.07.7 | 17.01~19.07(nor)^
>21.02(nor+nand)^ | | | MT300N-V2 | openwrt-18.06
openwrt-18.06.5
openwrt-19.07.7 | >18.06 | GL fireware wifi drivers are closed source, we do not guarantee that OpenWrt drivers are stable | | B1300 | openwrt-18.06
openwrt-18.06.5
openwrt-19.07.7 | >18.06 | GL fireware use QSDK, if you use openwrt to compile firmware, there isn't mesh function| | USB150 | openwrt-18.06
openwrt-18.06.5
openwrt-19.07.7 | >18.06 | | | AR750 | openwrt-18.06
openwrt-18.06.5
openwrt-19.07.7 | >18.06 | | | AR750S | openwrt-18.06
openwrt-18.06.5
openwrt-19.07.7 | 19.07(nor)^
>21.02(nor+nand)^ | | | X750 | openwrt-18.06
openwrt-19.07.7 | >19.07 | | | S1300 | openwrt-19.07.7(nor)^
openwrt-trunk(emmc)^ | >21.02(nor)^ | | | N300 | openwrt-18.06
openwrt-19.07.7 | >21.02 | GL fireware wifi drivers are closed source, we do not guarantee that OpenWrt drivers are stable | | X1200 | openwrt-18.06
openwrt-19.07.7 | N | Must choose ath10k-firmware-qca9888-ct-htt and kmod-ath10k-ct packages | | MV1000 | openwrt-19.07.7 | >21.02 | | | E750 | openwrt-18.06
openwrt-19.07.7 | >21.02 | | | AP1300 | We don't make patch for this project, so you must use the official OpenWrt | >21.02 | | | B2200 | openwrt-trunk(emmc) | >21.02 | | | MT1300 | openwrt-19.07.7 | >21.02 | GL fireware wifi drivers are closed source, we do not guarantee that OpenWrt drivers are stable | | XE300 | openwrt-19.07.7 | N | | | X300B | openwrt-18.06.5
openwrt-19.07.7 | N | | | SF1200 | | | | | AX1800 | | | | ^nor: Compiled firmware can only run on nor flash ^nor+nand: Can compile the firmware that runs on nor flash and nand flash ^nor+emmc: Can compile the firmware that runs on nor flash and emmc Prerequisites ============= To build your own firmware you need to have access to a Linux, BSD or MacOSX system (case-sensitive filesystem required). Cygwin will not be supported because of the lack of case sensitiveness in the file system. Ubuntu is usually recommended. Installing Packages ------------------- ```bash $ sudo apt-get update $ sudo apt-get install build-essential subversion libncurses5-dev zlib1g-dev gawk gcc-multilib flex git-core gettext libssl-dev ``` Downloading Source ------------------ ``` $ git clone https://github.com/gl-inet/openwrt.git openwrt $ cd openwrt ``` Updating Feeds -------------- ``` $ ./scripts/feeds update -a $ ./scripts/feeds install -a ``` Note that if you have all the source already, just put them in your *openwrt/dl* folder and you save time to download resource. Clear temp buffer ----------------- ``` $ rm ./tmp -rf ``` Compile firmware for NOR flash ======= Suitable for all products Select target ------------- Issueing **make menuconfig** to select a GL.iNet device, for example AR300M. ``` $ make menuconfig ``` Please select options as following: Target System (Atheros AR7xxx/AR9xxx) ---> Subtarget (Generic) ---> Target Profile (GL-AR300M) ---> Then select common software package (as you need),such as USB driver as following, GL.iNet packages choice shortcut ---> [ ] Select basic packages Select VPN ---> [*] Support storage [*] Support USB [ ] Support webcam [ ] Support rtc If the package you want to brush depends on the GL base package, please Select **Select basic packages** as well. Which packages the GL base package contains can be found in *config/config-glinet.in* Compile ------- Simply running **make V=s -j5** will build your own firmware. It will download all sources, build the cross-compile toolchain, the kernel and all choosen applications which is spent on several hours. ``` $ make V=s -j5 ``` Notice **V=s**, this parameter is purpose to check info when compile. **-j5**, this parameter is for choosing the cpu core number, 5 means using 4 cores. If there’s error, please use **make V=s -j1** to recompile, and check the error. Target file location for NOR flash ----------------------------------- The final firmware file is **bin/ar71xx/openwrt-ar71xx-generic-gl-ar300m-squashfs-sysupgrade.bin** so this file is the firmware we need, please update firmware again. Please refer to other instructions for further operations. Such as flash the firmware, etc. Compile firmware for NAND flash ===== Applicable to GL-AR300M GL-AR750S GL-E750 GL-X1200 GL-X750 Select target ------------- Issueing **make menuconfig** to select a GL.iNet device, for example AR300M. ``` $ make menuconfig ``` Please select options as following: Target System (Atheros AR7xxx/AR9xxx) ---> Subtarget (Generic devices with NAND flash) ---> Target Profile (GL-AR300M NAND) ---> Then select common software package (as you need),such as USB driver as following, GL.iNet packages choice shortcut ---> [ ] Select basic packages Select VPN ---> [*] Support storage [*] Support USB [ ] Support webcam [ ] Support rtc If the package you want to brush depends on the GL base package, please Select **Select basic packages** as well. Which packages the GL base package contains can be found in *config/config-glinet.in* Compile ------- Simply running **make V=s -j5** will build your own firmware. It will download all sources, build the cross-compile toolchain, the kernel and all choosen applications which is spent on several hours. ``` $ make V=s -j5 ``` Notice **V=s**, this parameter is purpose to check info when compile. **-j5**, this parameter is for choosing the cpu core number, 5 means using 4 cores. If there’s error, please use **make V=s -j1** to recompile, and check the error. Target file location for NAND flash ----------------------------------- The final firmware file is: **bin/ar71xx/openwrt-ar71xx-nand-gl-ar300m-rootfs-squashfs.ubi** **bin/ar71xx/openwrt-ar71xx-nand-gl-ar300m-squashfs-sysupgrade.tar** So this file is the firmware we need, please update firmware again. Please refer to other instructions for further operations. Such as flash the firmware, etc.