|
#!/bin/bash
|
|
|
|
# Install prereqs
|
|
sudo apt-get update
|
|
sudo apt-get -y upgrade
|
|
sudo apt-get install -y autoconf binutils bison build-essential ccache flex gawk gettext git libncurses5-dev libssl-dev ncurses-term quilt sharutils subversion texinfo unzip xsltproc zlib1g-dev
|
|
|
|
#export build_dir=/home/ubuntu/trunk
|
|
export build_dir=/home/ubuntu/openwrt
|
|
cd ~
|
|
# Download OpenWRT source (select Barrier Breaker or Trunk)
|
|
# git clone git://git.openwrt.org/14.07/openwrt.git # Barrier Breaker
|
|
git clone git://git.openwrt.org/15.05/openwrt.git # Chaos Calmer
|
|
#git clone git://git.openwrt.org/openwrt.git # Trunk
|
|
|
|
cd $build_dir
|
|
git pull
|
|
|
|
# update and install feeds
|
|
#./scripts/feeds update -a
|
|
# add batman-adv development branch
|
|
#echo "src-git batman https://git.open-mesh.org/openwrt-feed-batman-adv.git" >> feeds.conf.default
|
|
# Sven Eckelmann test routing feed 2016.1 preview
|
|
echo "src-git routing https://github.com/ecsv/packages.git;batadv-2016.1preview" >> feeds.conf.default
|
|
sed -i "/src-git routing https:\/\/github.com\/openwrt-routing\/packages.git/d" feeds.conf.default
|
|
./scripts/feeds update -a
|
|
./scripts/feeds install -a
|
|
|
|
# CONFIGURE OPENWRT BUILD
|
|
make defconfig
|
|
make prereq
|
|
make menuconfig
|
|
# select 'Target System' - <*> Atheros AR7XXX/AR9XXX
|
|
# select 'Target Profile' - <*> TP-LINK TL-WDR3600
|
|
# select 'Administration' - <*> htop
|
|
# select 'Kernel Modules' - 'Network Support' <*> kmod-batman-adv (enable BLA/DAT/Mult/BatmanV)
|
|
# select 'Kernel Modules' - USB Support - <*> kmod-usb-core
|
|
# select 'Kernel Modules' - USB Support - <*> kmod-usb-ohci
|
|
# select 'Kernel Modules' - USB Support - <*> kmod-usb-uhci
|
|
# select 'Kernel Modules' - USB Support - <*> kmod-usb2
|
|
# select 'Kernel Modules' - Wireless Drivers - <*> kmod-ath9k
|
|
# select 'Kernel Modules' - Wireless Drivers - <*> kmod-cfg80211
|
|
# select 'Kernel Modules' - Wireless Drivers - <*> kmod-mac80211
|
|
# select 'Network' - 'Routing and Redirection' - <*> ip (minimal)
|
|
# select 'Network' - <*> alfred (enable vis/bat-hosts)
|
|
# select 'Network' - <*> batctl
|
|
# select 'Network' - <*> bmon
|
|
# Select 'Network' - <*> ethtool
|
|
# Select 'Network' - <*> hostapd
|
|
# select 'Network' - <*> iperf
|
|
# select 'Network' - <*> snmpd
|
|
# select 'Network' - <*> tcpdump
|
|
# Select 'Network' - <*> wpad
|
|
# Desselect 'Network' - < > wpad-mini
|
|
# select 'Utilities' - <*> iwinfo
|
|
# select 'Utilities' - <*> usbutils
|
|
# save and exit
|
|
|
|
|
|
# Compile
|
|
cd $build_dir
|
|
make -j${nproc} V=s
|
|
|
|
# CHECK SHA256 OF COMPILED IMAGE
|
|
cd $build_dir/bin/ar71xx
|
|
grep openwrt-ar71xx-generic-tl-wdr3600-v1-squashfs-sysupgrade.bin sha256sums | tee /proc/self/fd/2 | sha256sum --check -
|