K3-merlin.ng icon indicating copy to clipboard operation
K3-merlin.ng copied to clipboard

K3梅林384 兼容三星NAND,系统及webui优化,支持A1/A2/B1/D1

鉴于华硕已经将更多硬件检测移入驱动,破解难度越来越大,当前代码为最后开源版本,新版本不再公开源代码

based on asuswrt and some code come from https://github.com/RMerl/asuswrt-merlin.ng

The GPL source is created for ASUS wireless router related products. Please visit the ASUS support site (http://support.asus.com) to get the latest GPL tarball.It has a lot in common with many wireless router open source projects, including Oleg/Tomato/DD-WRT/OpenWRT. Thanks the developers of those projects for making the source code available.

Set Up Environment(Tested in Fedora 8/9 and Ubuntu)

1. prepare environment

a. Ubuntu
	Install these packages (I used synaptic: "sudo synaptic")

	Ubuntu 14.04 or old distro
	libncurses5
	libncurses5-dev
	m4
	bison
	gawk
	flex
	libstdc++6-4.4-dev
	g++-4.4
	g++
	gengetopt
	git (or git-core)
	gitk
	zlib1g-dev
	autoconf
	autopoint (or gettext)
	libtool
	shtool
	autogen
	mtd-utils
	intltool
	sharutils
	docbook-xsl-*
	libstdc++5
	texinfo
	dos2unix (or tofrodos)
	xsltproc
	uboot-mkimage
	device-tree-compiler
	python 2.7 or above.
	qemu
	gperf
	liblzo2-dev
	uuid-dev
	build-essential
	lzma-dev
	liblzma-dev
	lzma
	binutils-dev
	patch
	cmake
	intltool
	libglib2.0-dev
	gtk-doc-tools

	If you are using Ubuntu amd64, you may need to install 32-bit packages listed below.
		libc6-i386
		lib32stdc++6
		lib32z1
		libelf1:i386
		libncurses5:i386
		ia32-libs
		libc6-dev-i386

	Ubuntu 16.04
		python 2.7 or above.

		libncurses5 libncurses5-dev m4 bison gawk flex libstdc++6-4.7-dev g++-4.7 g++
		gengetopt git gitk zlib1g-dev autoconf autopoint libtool-bin shtool autogen
		mtd-utils intltool sharutils docbook-xsl-* libstdc++5 texinfo dos2unix xsltproc
		u-boot-tools device-tree-compiler qemu gperf liblzo2-dev uuid-dev build-essential
		lzma-dev liblzma-dev lzma binutils-dev patch cmake intltool libglib2.0-dev
		gtk-doc-tools

	If you are using Ubuntu amd64, you may need to install 32-bit packages listed below.
		libc6-i386 lib32stdc++6 lib32z1 libelf1:i386 lib32ncurses5 libc6-dev-i386

b. Fedora
	python 2.7 or above.
	sudo yum groupinstall "Development Tools"
	sudo yum install gettext-devel libxml2-devel mtd-utils-ubi ncurses-devel \
		zlib-devel intltool sharutils docbook-dtds docbook-style-xsl \
		uboot-tools dtc gengetopt qemu gperf cmake glib2-devel gtk-doc \
		texinfo lzo-devel

	If you are using Fedora 19 or above, you need to install below packages.
	sudo yum groupinstall "C Development Tools and Libraries"

	If you are using Fedora x86_64, you may need to install 32-bit packages listed below.
		elfutils-libelf.i686
		glibc.i686
		libstdc++.i686
		zlib.i686

	If you are using Fedora 24+, you may need to install 32-bit packages listed below.
		ncurses-compat-libs.i686

	If you are using Fedora 29+, you may need to install 32-bit packages listed below.
		glibc-devel.i686
  1. prepare source to, ex, $HOME/asuswrt
cd $HOME
tar xvfz [tar file]
  1. setup development system
Broadcom SoC models
===================

	To install the tools:
	    - copy the tools/brcm/ directory to /opt
	    - add /opt/brcm/hndtools-mipsel-linux/bin to your path
	    - add /opt/brcm/hndtools-mipsel-uclibc/bin to your path

Broadcom HND SoC models
=======================

	Update your environment variables as following:
	    - LD_LIBRARY_PATH=/opt/toolchains/crosstools-arm-gcc-5.3-linux-4.1-glibc-2.22-binutils-2.25/usr/lib
	    - TOOLCHAIN_BASE=/opt/toolchains
	    - PATH=/opt/toolchains/crosstools-arm-gcc-5.3-linux-4.1-glibc-2.22-binutils-2.25/usr/bin:/opt/toolchains/crosstools-aarch64-gcc-5.3-linux-4.1-glibc-2.22-binutils-2.25/usr/bin:/projects/hnd/tools/linux/hndtools-armeabi-2011.09/bin:$PATH

Mediatek/Ralink SoC models
==========================

	To install the tools:
    	    - copy the tools/brcm/ directory to /opt
	    - add /opt/brcm/hndtools-mipsel-linux/bin to your path
	    - add /opt/brcm/hndtools-mipsel-uclibc/bin to your path
	    If it is MT7621 or MT7628 chip:
    	    - extract tools/buildroot-gcc463_32bits.tar.bz2 to /opt
	    - add /opt/buildroot-gcc463/bin to your path
	    otherwise :
    	    - extract tools/buildroot-gcc342.tar.bz2 to /opt
	    - add /opt/buildroot-gcc342/bin to your path

	For MT7621 Uboot:
    	    - extract mips-2012.03.tar.bz2 directory to /opt
	    - add /opt/mips-2012.03/bin to your uboot path

Qualcomm QCA9557/QCA953x/QCA956x MIPS SoC models
================================================

	To install the tools:
	    Mesh Router:
	    - extract tools/openwrt-gcc463.mips.mesh.tar.bz2 directory to /opt
	    - add /opt/openwrt-gcc463.mips.mesh/bin to your path
	    - If you want to build small utilities out of asuswrt box,
	      add STAGING_DIR environment variable as below:

	      export STAGING_DIR=/opt/openwrt-gcc463.mips.mesh

	    Others: (For example, RT-AC55U, 4G-AC55U.)
    	    - extract tools/openwrt-gcc463.mips.tar.bz2 directory to /opt
	    - add /opt/openwrt-gcc463.mips/bin to your path
	    - If you want to build small utilities out of asuswrt box,
	      add STAGING_DIR environment variable as below:

	      export STAGING_DIR=/opt/openwrt-gcc463.mips

Qualcomm IPQ806x/IPQ807x/IPQ40xx ARM SoC models
===============================================

	For example, BRT-AC828, RT-AC58U, GT-AXY16000, RT-AX89U.

	To install the tools:
	    - extract tools/openwrt-gcc463.arm.tar.bz2 directory to /opt
	    - add /opt/openwrt-gcc463.arm/bin to your path
	    - If you want to build small utilities out of asuswrt box,
	      add STAGING_DIR environment variable as below:

	      export STAGING_DIR=/opt/openwrt-gcc463.arm

Note: Broadcom/Ralink(except 4708 series) platform use the same toolchain for user space program, so please set PATH to the same directory as above
  1. build firmware.
a. rt-n16
	cd release/src-rt
	make rt-n16

b. rt-n56u
	cd release/src-ra
	make rt-n56u

c. rt-n65u
	cd release/src-ra-3.0
	make rt-n65u

d. rt-n14u (/ rt-ac52u / rt-ac51u / rt-n11p / rt-n54u)
	cd release/src-ra-mt7620
	make rt-n14u
	( make rt-ac52u  )
	( make rt-ac51u  )
	( make rt-n11p   )
	( make rt-n54u   )

e. rt-ac56u (/ rt-ac68u / rt-n18uhp)
	cd release/src-rt-6.x.4708
	make rt-ac56u
	( make rt-ac68u  )
	( make rt-n18uhp )

f. rt-ac55u (/ rt-ac55uhp )
	cd release/src-qca
	make rt-ac55u
	( make rt-ac55uhp )

g. brt-ac828 (/ rt-ad7200 / gt-axy16000 / rt-ax89u)
	cd release/src-qca-ipq806x
	make brt-ac828
	( make rt-ad7200 )
	( make gt-axy16000 )
	( make rt-ax89u )	//also rt-ax89x by odmpid

h. rt-ac58u (/ rt-ac82u / map-ac1300 / map-ac2200 / vzw-ac1300 / rt-ac95u )
	cd release/src-qca-dakota
	make rt-ac58u
	( make rt-ac82u )
	( make map-ac1300 )
	( make map-ac2200 )
	( make vzw-ac1300 )
	( make rt-ac95u )

i. rt-ac85u (/ rt-ac85u / rt-ac65u / rp-ac87 )
	cd release/src-ra-5010
	make rt-ac85u
	( make rt-ac65u )
	( make rp-ac87 )

j. rt-ac1200 (/ rt-n11p_b1 / rt-n10p_v3 / rt-ac1200gu / rt-ac51u+ / rt-ac53 )
	cd release/src-ra-4300
	make rt-ac1200
	( make rt-n11p_b1 )
	( make rt-n10p_v3 )
	( make rt-ac1200gu )
	( make rt-ac51u+ )
	( make rt-ac53 )

k. rp-ac68u (/ rp-ac53 / rp-ac55 )
	cd release/src-rtk-819x
	make rp-ac68u
	( make rp-ac53 )
	( make rp-ac55 )

l. rt-ac1200_v2
	cd release/src-mtk3.5
	make rt-ac1200_v2