Adding build instructions into README file.
authorrtrimana <rtrimana@uci.edu>
Tue, 20 Jun 2017 17:17:41 +0000 (10:17 -0700)
committerrtrimana <rtrimana@uci.edu>
Tue, 20 Jun 2017 17:17:41 +0000 (10:17 -0700)
README

diff --git a/README b/README
index 405c18bac06b1d9a7b119d1cbe32cccb2f434e24..923097bb1c21fda515d6423a1b9576d35b0fd0dd 100644 (file)
--- a/README
+++ b/README
@@ -26,4 +26,72 @@ Sunshine!
        Your LEDE Community
        http://www.lede-project.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 Sentinel 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) Copy the compilation configuration file sentinel.config into a .config file in
+the main folder by executing "cp sentinel.config .config".
+
+3) Do "make defconfig" to setup the build options, then 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 configrations, 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 sentinel_setup/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.115" 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.115 "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
+sentinel_setup/config/ into the same files in /etc/config/ on the LEDE system.
+Also we need to copy sentinel_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) Last, we need to copy the setup scripts in sentinel_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 Sentinel 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) and DHCPDECLINE issue when
+a device gets an ARP unicast message about itself, causing it to think that its
+IP address has been used by another device (so far only the ESP8266 is known to
+have this problem). 
+- "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.
+
+12) Reboot the system and we will have a working LEDE router for Sentinel system.