Adding (empty) devices.dat as this is needed by the phone app to start.
[lede.git] / README
diff --git a/README b/README
index 9301fe456e72f9d2affc9516f3ff1c8f8b5521ff..fddafd759cc46089239eed9712044746f49e5929 100644 (file)
--- a/README
+++ b/README
@@ -1,10 +1,10 @@
-This is the buildsystem for the OpenWrt Linux distribution.
+This is the buildsystem for the LEDE Linux distribution.
 
 
-Please use "make menuconfig" to configure your appreciated
+Please use "make menuconfig" to choose your preferred
 configuration for the toolchain and firmware.
 
 configuration for the toolchain and firmware.
 
-You need to have installed gcc, binutils, patch, bzip2, flex,
-make, gettext, pkg-config, unzip, libz-dev and libc headers.
+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
 
 Run "./scripts/feeds update -a" to get all the latest package definitions
 defined in feeds.conf / feeds.conf.default respectively
@@ -17,19 +17,84 @@ Simply running "make" will build your firmware.
 It will download all sources, build the cross-compile toolchain, 
 the kernel and all choosen applications.
 
 It will download all sources, build the cross-compile toolchain, 
 the kernel and all choosen applications.
 
-You can use "scripts/flashing/flash.sh" for remotely updating your embedded
-system via tftp.
-
-The OpenWrt system is documented in docs/. You will need a LaTeX distribution
-and the tex4ht package to build the documentation. Type "make -C docs/" to build it.
-
 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!
 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 OpenWrt Project
-       http://openwrt.org
+       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<number-of-proc>", 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.