This is the buildsystem for the LEDE Linux distribution. Please use "make menuconfig" to choose your preferred configuration for the toolchain and firmware. You need to have installed gcc, binutils, bzip2, flex, python, perl, make, find, grep, diff, unzip, gawk, getopt, subversion, libz-dev and libc headers. Run "./scripts/feeds update -a" to get all the latest package definitions defined in feeds.conf / feeds.conf.default respectively and "./scripts/feeds install -a" to install symlinks of all of them into package/feeds/. Use "make menuconfig" to configure your image. Simply running "make" will build your firmware. It will download all sources, build the cross-compile toolchain, the kernel and all choosen applications. 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. Sunshine! Your LEDE Community http://www.lede-project.org ================================================================================ This LEDE lede-17.01 branch was taken in July 2017 from the LEDE github repository for Vigilia system. A few things have been added including a patch for hostapd to make disable_dgaf and proxy_arp options work properly. The followings are the steps to be done to install this correctly on a NETGEAR R7800 Nighthawk X4S router: 1) Do "git clone ssh://plrg.eecs.uci.edu/home/git/lede" to download this LEDE onto your local repository. Then execute "git checkout lede-17.01" to checkout the right branch---this is a detached branch (there is no master branch), so we have to do this to make sure that we can push and pull changes correctly. 2) Run "./scripts/feeds update -a" to get all the latest package definitions defined in feeds.conf / feeds.conf.default respectively and "./scripts/feeds install -a" to install symlinks of all of them into package/feeds/. Run "make menuconfig", choose "< Load >", and load "vigilia.config". Then save this configuration as ".config". 3) Do "make world -j", e.g. make world -j12. 4) After the compilation, the image will be found in bin/targets/ipq806x/generic/lede-ipq806x-R7800-squashfs-factory.img. We can flash this image onto the Netgear R7800 Nighthawk X4S router using the instructions here: https://lede-project.org/docs/guide-quick-start/standardflashinginstructions. 5) After flashing and booting for the first time, we need to set up the router using RJ45 cables; if we plug it into the WAN connection through DHCP mechanism, we can get an IP address for that WAN port instantly; to set up network configurations, we can access the router by connecting a device to the router, opening a browser, and typing the default router IP address: http://192.168.1.1; this will open the lUCI configuration page and we can set up the router now. 6) We can set up first the LAN connection according to the LAN configuration in vigilia/config/network. 7) Then we can set up a password for the system by typing "passwd" and giving it a new password. 8) Reboot the system and we can login using dropbear ssh authentication by typing "ssh root@128.195.204.94" and inputting the password. If we want to use SSL key for the sake of convenience, then we have to do the steps here: https://wiki.openwrt.org/doc/howto/dropbear.public-key.auth Basically we copy our machine's public-key to the LEDE system by typing: ssh root@128.195.204.94 "tee -a /etc/dropbear/authorized_keys" < ~/.ssh/id_rsa.pub 9) We need to copy the setup in dhcp, network, wireless, and hostapd-psk files in vigilia_setup/config/ into the same files in /etc/config/ on the LEDE system. Also we need to copy vigilia_setup/rc.local that contains the initial setup scripts into /etc on the LEDE system. For the firewall file, since we do not use the default firewall setup from LEDE, we can do "mv /etc/config/firewall /etc/config/firewall.bak" to make it unreadable by LEDE UCI when it is initializing the firewall rules when the system is booting up. 10) We need to also create /root/vigilia_setup/register and copy the scripts and files in vigilia_setup/register/version_3 into it. These Shell scripts work with the Android app that registers and deletes devices to and from the router. 11) Last, we need to copy the setup scripts in vigilia_setup/setup into /setup on our LEDE system. This contains a number of scripts. - "startup.sh" will be run by the rc.local script when LEDE is booting up. This script contains the initial firewall rules for Vigilia router and a number of workaround rules to fix a few issues when disable_dgaf and proxy_arp options are activated, i.e. hostapd checksum bug (for disable_dgaf feature). - "clean" and "nat" scripts are for cleaning and activating NAT(Network Address Translation) on the system. - "dhcp" shows the IP address assignments to different connected devices. - "show" shows the active iptables rules. - "transfer" contains commands to transfer files through the "scp" command. 13) Reboot the system and we will have a working LEDE router for Vigilia system.