Compare commits
47 commits
access-poi
...
master
Author | SHA1 | Date | |
---|---|---|---|
Daniel Gröber | 9862e8ec12 | ||
Daniel Gröber | 3a67df2caa | ||
Daniel Gröber | 2a01a816a1 | ||
Daniel Gröber | 9112a7068b | ||
Daniel Gröber | 4df94a50ef | ||
Daniel Gröber | 2e58a2044e | ||
Daniel Gröber | abef80bd92 | ||
Daniel Gröber | d92d8cb6bf | ||
Daniel Gröber | 1e020bdd1e | ||
Daniel Gröber | dd069efe3d | ||
Daniel Gröber | cf4e7abc99 | ||
Daniel Gröber | dc233c4c46 | ||
Daniel Gröber | 6ae0940993 | ||
Daniel Gröber | 30659280a7 | ||
Daniel Gröber | 2050c943d9 | ||
Daniel Gröber | 1b3d8941ee | ||
Daniel Gröber | ae6195a416 | ||
Daniel Gröber | bc79d40823 | ||
Daniel Gröber | e628360540 | ||
Daniel Gröber | cc583d8d40 | ||
Daniel Gröber | 28466e876f | ||
Daniel Gröber | 0296984bc4 | ||
Daniel Gröber | 904dd7d1dc | ||
Daniel Gröber | 29c906e18f | ||
Daniel Gröber | 4a08a324d8 | ||
Daniel Gröber | ebef033605 | ||
Daniel Gröber | d7b0e1a6de | ||
Daniel Gröber | 8a1912c014 | ||
Daniel Gröber | 49e97d5713 | ||
Daniel Gröber | 3eb1891b77 | ||
Daniel Gröber | c8a9a27f89 | ||
Daniel Gröber | ffbc42ee2c | ||
Daniel Gröber | d27be12db3 | ||
Daniel Gröber | fb97956d6c | ||
Daniel Gröber | 30c57fdbcf | ||
Daniel Gröber | f58712dcea | ||
Daniel Gröber | 20739e6cce | ||
Daniel Gröber | 0277343d5b | ||
Daniel Gröber | 56b1ac07ab | ||
Daniel Gröber | d6f7fb03bd | ||
Daniel Gröber | bb93aff6e3 | ||
Daniel Gröber | 04de7542a7 | ||
Daniel Gröber | 78a12031e1 | ||
Daniel Gröber | 3885ee6a18 | ||
Daniel Gröber | da9f662f84 | ||
Daniel Gröber | 8541b2f947 | ||
Daniel Gröber | 515548e0a5 |
0
access-points/.gitignore → .gitignore
vendored
0
access-points/.gitignore → .gitignore
vendored
21
Makefile
Normal file
21
Makefile
Normal file
|
@ -0,0 +1,21 @@
|
|||
all: its
|
||||
|
||||
OPENWRT_VERSION=22.03.5
|
||||
|
||||
its-ubnt-unifiac-lite:
|
||||
IMAGEBUILDER_URL='https://downloads.openwrt.org/releases/$(OPENWRT_VERSION)/targets/ath79/generic/openwrt-imagebuilder-$(OPENWRT_VERSION)-ath79-generic.Linux-x86_64.tar.xz' ./build-image.sh control/ubnt-unifiac-lite
|
||||
|
||||
its: its-ubnt-unifiac-lite
|
||||
|
||||
DATE = $(shell date +'%Y%m%d')
|
||||
VERSION = v0.$(DATE)
|
||||
|
||||
release-candidate: all release-images
|
||||
|
||||
tag:
|
||||
git tag -f access-points/v0.$(DATE)
|
||||
|
||||
release-images:
|
||||
git add images/$(VERSION)/*.image-manifest
|
||||
git annex add images/$(VERSION)
|
||||
git commit -m "aps: Release $(VERSION)"
|
65
README.md
Normal file
65
README.md
Normal file
|
@ -0,0 +1,65 @@
|
|||
ITS WiFi Access Points Setup
|
||||
============================
|
||||
|
||||
This directory contains the scripts and configuration for the automated building
|
||||
of OpenWrt image-build based firmware images.
|
||||
|
||||
We use this to build fully pre-configured images for our 802.11
|
||||
access-points. The deployed images are completely hands-off. No configuration of
|
||||
the running firmware should be necessary as all the device specific setup is
|
||||
done using `/etc/uci-defaults/` by keying off the device's MAC address.
|
||||
|
||||
See [`files/common/its/etc/uci-defaults/50-config-from-mac`](files/common/its/etc/uci-defaults/50-config-from-mac) for details.
|
||||
|
||||
Note that some of the files in this repository contain secrets, like
|
||||
passwords. These files are stored using
|
||||
[git-annex](https://git-annex.branchable.com/) which merely stores a hash in the
|
||||
(public) git repo and ships the relevant file contents off to a fileserver or
|
||||
other internal storage location.
|
||||
|
||||
Building Images
|
||||
---------------
|
||||
|
||||
The [`Makefile`](./Makefile) provides a target for each device type we have
|
||||
images for, to build images for all devices at the space you can use:
|
||||
|
||||
```
|
||||
$ make its
|
||||
[...]
|
||||
Wrote images to images/v0.20180506-3-g115cc99-dirty
|
||||
```
|
||||
|
||||
the resulting sysupgrade images land in a directory in `images/`. The symlink
|
||||
`images/latest` points to the directory of the image built most recently. The
|
||||
build system also produces a `*.image-manifest` file which contains the URL to
|
||||
the ImageBuilder used as well its hash and the corresponding image's hash.
|
||||
|
||||
Each produced image file contains the target, subtarget and profile names for
|
||||
the targeted device (among other things), for example the Ubiquity UniFi AC
|
||||
Lite's image is called `*-ath79-generic-ubnt_unifiac-lite*-sysupgrade.bin`
|
||||
standing for `TARGET=ath79`, `SUBTARGET=generic`, `PROFILE=ubnt_unifiac-lite`.
|
||||
|
||||
These images can then be deployed by copying them to the respective device in
|
||||
`/tmp` using `scp` and then running, over ssh:
|
||||
|
||||
# sysupgrade -n /tmp/*-sysupgrade.bin
|
||||
|
||||
If this fails for some reason and the target device is subsequently bricked so
|
||||
bad it cannot even boot into
|
||||
[failsafe mode](https://openwrt.org/docs/guide-user/troubleshooting/failsafe_and_factory_reset#entering_failsafe_mode)
|
||||
any more, see
|
||||
[OpenWrt Debricking Guide](https://openwrt.org/docs/guide-user/troubleshooting/generic.debrick).
|
||||
|
||||
Using Released Binaries
|
||||
-----------------------
|
||||
|
||||
The offically released and deployed images are available in this repo in the
|
||||
[`images/`](images/) directory. They need to be retrived from an internal server
|
||||
using [`git annex`](https://git-annex.branchable.com) before they can be
|
||||
accessed. The public git repo only contains their hashes.
|
||||
|
||||
We also use git-annex to add the secrets used for generating the images to the
|
||||
repo, which will then only be available to authorized people using the internal
|
||||
git-annex store. For an example, see
|
||||
[`files/common/its/etc/uci-defaults/51-secrets`](files/common/its/etc/uci-defaults/51-secrets). This
|
||||
file just sets up secrets, such as the WiFi/root password.
|
|
@ -1,69 +0,0 @@
|
|||
#!/bin/sh
|
||||
|
||||
[ $# -ge 1 ] || exit 1
|
||||
CONTROL="$1"; shift
|
||||
IMAGEBUILDER_URL=${IMAGEBUILDER_URL:-http://downloads.lede-project.org/snapshots/targets/ar71xx/generic/lede-imagebuilder-ar71xx-generic.Linux-x86_64.tar.xz}
|
||||
|
||||
TOPDIR="$PWD"
|
||||
DLDIR=${DLDIR:-"dl"}
|
||||
BUILDDIR=${BUILDDIR:-"build"}
|
||||
IMAGEDIR=${IMAGEDIR:-"images"}
|
||||
|
||||
mkdir -p "$DLDIR"
|
||||
mkdir -p "$BUILDDIR"; rm -rf "$BUILDDIR"/*
|
||||
mkdir -p "$IMAGEDIR"
|
||||
|
||||
VERSION="$(basename "$(git describe --always --tags --dirty --match 'access-points/*')")"
|
||||
IMAGEDIR="$IMAGEDIR"/"$VERSION"
|
||||
mkdir -p "$IMAGEDIR"
|
||||
|
||||
imagebuilder="$(basename "$IMAGEBUILDER_URL")"
|
||||
|
||||
(
|
||||
cd "$DLDIR"
|
||||
wget --continue "$IMAGEBUILDER_URL" -O "$imagebuilder"
|
||||
)
|
||||
|
||||
tar -C "$BUILDDIR" -axf "$DLDIR"/"$imagebuilder"
|
||||
|
||||
IMAGEBUILDER_DIR="$BUILDDIR"/"$(tar -atf "$DLDIR"/"$imagebuilder" | head -n1)"
|
||||
|
||||
profile=$(. "$CONTROL"; echo "${PROFILE}")
|
||||
|
||||
(
|
||||
IFS='
|
||||
'
|
||||
export PROFILE PACKAGES
|
||||
|
||||
. "$CONTROL"
|
||||
|
||||
tmp=$(mktemp --tmpdir -d files.XXXXXXXXX)
|
||||
|
||||
mkdir -p "$tmp"/etc
|
||||
echo "$VERSION" > "$tmp"/etc/its-access-point-version
|
||||
|
||||
if [ -n "$COMMON_FILES" ]; then
|
||||
cp -aLTv "$TOPDIR/$COMMON_FILES" "$tmp"
|
||||
fi
|
||||
|
||||
if [ -n "$FILES" ]; then
|
||||
cp -aLTv "$TOPDIR/$FILES" "$tmp"
|
||||
fi
|
||||
|
||||
cd "$IMAGEBUILDER_DIR"
|
||||
unset COMMON_FILES
|
||||
make image FILES="$tmp" 1>&2
|
||||
)
|
||||
|
||||
cp "$IMAGEBUILDER_DIR"/bin/targets/ar71xx/generic/lede*-ar71xx-generic-"${profile}"-squashfs-sysupgrade.bin "$IMAGEDIR"/
|
||||
|
||||
{
|
||||
printf '%s\n' "Date: $(date -R)"
|
||||
printf '%s\n' "Image-Builder: $IMAGEBUILDER_URL"
|
||||
printf '%s\n'
|
||||
printf 'Checksums-Sha512:\n'
|
||||
{
|
||||
( cd "$DLDIR" ; sha512sum "$imagebuilder" )
|
||||
( cd "$IMAGEDIR"; sha512sum lede*-ar71xx-generic-"${profile}"-squashfs-sysupgrade.bin )
|
||||
} | sed 's/^/ /'
|
||||
} > "$IMAGEDIR"/"${profile}".image-manifest
|
|
@ -1,684 +0,0 @@
|
|||
# Reinstall guide for Openwrt based APs (TL-WR841N/ND)
|
||||
# ====================================================
|
||||
|
||||
alias $=true # make sure this file is a valid shell script
|
||||
|
||||
$ wget https://downloads.openwrt.org/snapshots/trunk/ar71xx/generic/OpenWrt-ImageBuilder-ar71xx-generic.Linux-x86_64.tar.bz2
|
||||
|
||||
$ tar -xf OpenWrt-ImageBuilder-ar71xx-generic.Linux-x86_64.tar.bz2
|
||||
|
||||
$ cd OpenWrt-ImageBuilder-ar71xx-generic.Linux-x86_64/
|
||||
|
||||
$ sh <WHEREVER>/doc-ap-reinstall.txt # yes, seriously
|
||||
|
||||
$ make image PROFILE=TLWR841 FILES=files/ PACKAGES="collectd collectd-mod-wireless collectd-mod-interface collectd-mod-load collectd-mod-network -firewall -ip6tables -kmod-ip6tables"
|
||||
|
||||
# Now you should get the binary for flashing at:
|
||||
# bin/ar71xx/openwrt-ar71xx-generic-tl-wr841n-v10-squashfs-sysupgrade.bin
|
||||
|
||||
# If your ssh key is in the config you can now connect to any LAN port (orange)
|
||||
# on the AP, trigger a failsafe reset, scp the image into /tmp and flash the AP (see below).
|
||||
# If it's not just add it to files/etc/dropbear/authorized_keys before running make
|
||||
|
||||
# 1) trigger factory reset (deletes /dev/mtdblock3, i.e. /overlay):
|
||||
$ firstboot -y
|
||||
# type 'y' and ENTER
|
||||
$ reboot -f
|
||||
|
||||
# 2) wait for the router to come back up, do the failsafe mode dance again
|
||||
# finally and copy the image there:
|
||||
|
||||
$ scp bin/ar71xx/openwrt-ar71xx-generic-tl-wr841n-v10-squashfs-sysupgrade.bin root@192.168.1.1:/tmp
|
||||
|
||||
# 3) finally flash the AP:
|
||||
$ sysupgrade openwrt-*.bin
|
||||
|
||||
# now connect the WAN port (blue) to the correct patch port and make sure this
|
||||
# is connected to VLAN 2 on SW0 (ports 29,30,31,32,33,34 are for now)
|
||||
|
||||
# WTF?
|
||||
|
||||
# /bin/sh ignores lines that start with '#' and the 'alias' above makes sure '$'
|
||||
# is not a command that exists, so everything in this file is ignored up the the
|
||||
# shar(1) archive, neat huh?
|
||||
|
||||
# ---- shar archive follows ----
|
||||
#!/bin/sh
|
||||
# This is a shell archive (produced by GNU sharutils 4.15.2).
|
||||
# To extract the files from this archive, save it to some FILE, remove
|
||||
# everything before the '#!/bin/sh' line above, then type 'sh FILE'.
|
||||
#
|
||||
lock_dir=_sh06036
|
||||
# Made on 2016-06-06 01:42 CEST by <dxld@Sam>.
|
||||
# Source directory was '/home/dxld/var/build/OpenWrt-ImageBuilder-ar71xx-generic.Linux-x86_64'.
|
||||
#
|
||||
# Existing files will *not* be overwritten, unless '-c' is specified.
|
||||
#
|
||||
# This shar contains:
|
||||
# length mode name
|
||||
# ------ ---------- ------------------------------------------
|
||||
# 611 -rw------- files/etc/collectd.conf
|
||||
# 286 -rw-r--r-- files/etc/config/dhcp
|
||||
# 136 -rw-r--r-- files/etc/config/dropbear
|
||||
# 105 -rw-r--r-- files/etc/config/firewall
|
||||
# 630 -rw-r--r-- files/etc/config/network
|
||||
# 1063 -rw-r--r-- files/etc/config/system
|
||||
# 0 -rw-r--r-- files/etc/config/ubootenv
|
||||
# 325 -rw-r--r-- files/etc/config/wireless
|
||||
# 390 -rw-r--r-- files/etc/dropbear/authorized_keys
|
||||
# 503 -rwxr-xr-x files/etc/uci-defaults/50-config-from-mac
|
||||
#
|
||||
MD5SUM=${MD5SUM-md5sum}
|
||||
f=`${MD5SUM} --version | egrep '^md5sum .*(core|text)utils'`
|
||||
test -n "${f}" && md5check=true || md5check=false
|
||||
${md5check} || \
|
||||
echo 'Note: not verifying md5sums. Consider installing GNU coreutils.'
|
||||
if test "X$1" = "X-c"
|
||||
then keep_file=''
|
||||
else keep_file=true
|
||||
fi
|
||||
echo=echo
|
||||
save_IFS="${IFS}"
|
||||
IFS="${IFS}:"
|
||||
gettext_dir=
|
||||
locale_dir=
|
||||
set_echo=false
|
||||
|
||||
for dir in $PATH
|
||||
do
|
||||
if test -f $dir/gettext \
|
||||
&& ($dir/gettext --version >/dev/null 2>&1)
|
||||
then
|
||||
case `$dir/gettext --version 2>&1 | sed 1q` in
|
||||
*GNU*) gettext_dir=$dir
|
||||
set_echo=true
|
||||
break ;;
|
||||
esac
|
||||
fi
|
||||
done
|
||||
|
||||
if ${set_echo}
|
||||
then
|
||||
set_echo=false
|
||||
for dir in $PATH
|
||||
do
|
||||
if test -f $dir/shar \
|
||||
&& ($dir/shar --print-text-domain-dir >/dev/null 2>&1)
|
||||
then
|
||||
locale_dir=`$dir/shar --print-text-domain-dir`
|
||||
set_echo=true
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
if ${set_echo}
|
||||
then
|
||||
TEXTDOMAINDIR=$locale_dir
|
||||
export TEXTDOMAINDIR
|
||||
TEXTDOMAIN=sharutils
|
||||
export TEXTDOMAIN
|
||||
echo="$gettext_dir/gettext -s"
|
||||
fi
|
||||
fi
|
||||
IFS="$save_IFS"
|
||||
if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null
|
||||
then if (echo -n test; echo 1,2,3) | grep n >/dev/null
|
||||
then shar_n= shar_c='
|
||||
'
|
||||
else shar_n=-n shar_c= ; fi
|
||||
else shar_n= shar_c='\c' ; fi
|
||||
f=shar-touch.$$
|
||||
st1=200112312359.59
|
||||
st2=123123592001.59
|
||||
st2tr=123123592001.5 # old SysV 14-char limit
|
||||
st3=1231235901
|
||||
|
||||
if touch -am -t ${st1} ${f} >/dev/null 2>&1 && \
|
||||
test ! -f ${st1} && test -f ${f}; then
|
||||
shar_touch='touch -am -t $1$2$3$4$5$6.$7 "$8"'
|
||||
|
||||
elif touch -am ${st2} ${f} >/dev/null 2>&1 && \
|
||||
test ! -f ${st2} && test ! -f ${st2tr} && test -f ${f}; then
|
||||
shar_touch='touch -am $3$4$5$6$1$2.$7 "$8"'
|
||||
|
||||
elif touch -am ${st3} ${f} >/dev/null 2>&1 && \
|
||||
test ! -f ${st3} && test -f ${f}; then
|
||||
shar_touch='touch -am $3$4$5$6$2 "$8"'
|
||||
|
||||
else
|
||||
shar_touch=:
|
||||
echo
|
||||
${echo} 'WARNING: not restoring timestamps. Consider getting and
|
||||
installing GNU '\''touch'\'', distributed in GNU coreutils...'
|
||||
echo
|
||||
fi
|
||||
rm -f ${st1} ${st2} ${st2tr} ${st3} ${f}
|
||||
#
|
||||
if test ! -d ${lock_dir} ; then :
|
||||
else ${echo} "lock directory ${lock_dir} exists"
|
||||
exit 1
|
||||
fi
|
||||
if mkdir ${lock_dir}
|
||||
then ${echo} "x - created lock directory ${lock_dir}."
|
||||
else ${echo} "x - failed to create lock directory ${lock_dir}."
|
||||
exit 1
|
||||
fi
|
||||
# ============= files/etc/collectd.conf ==============
|
||||
if test ! -d 'files'; then
|
||||
mkdir 'files'
|
||||
if test $? -eq 0
|
||||
then ${echo} "x - created directory files."
|
||||
else ${echo} "x - failed to create directory files."
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
if test ! -d 'files/etc'; then
|
||||
mkdir 'files/etc'
|
||||
if test $? -eq 0
|
||||
then ${echo} "x - created directory files/etc."
|
||||
else ${echo} "x - failed to create directory files/etc."
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
if test -n "${keep_file}" && test -f 'files/etc/collectd.conf'
|
||||
then
|
||||
${echo} "x - SKIPPING files/etc/collectd.conf (file already exists)"
|
||||
|
||||
else
|
||||
${echo} "x - extracting files/etc/collectd.conf (text)"
|
||||
sed 's/^X//' << 'SHAR_EOF' > 'files/etc/collectd.conf' &&
|
||||
# Config file for collectd. More info: https://collectd.org/
|
||||
# Note: Luci statistics will generate a new config and overwrite this file.
|
||||
X
|
||||
#Hostname "localhost"
|
||||
#FQDNLookup true
|
||||
BaseDir "/var/run/collectd"
|
||||
Include "/etc/collectd/conf.d"
|
||||
PIDFile "/var/run/collectd.pid"
|
||||
PluginDir "/usr/lib/collectd"
|
||||
TypesDB "/usr/share/collectd/types.db"
|
||||
Interval 30
|
||||
ReadThreads 2
|
||||
X
|
||||
LoadPlugin interface
|
||||
LoadPlugin load
|
||||
#LoadPlugin ping
|
||||
X
|
||||
<Plugin interface>
|
||||
X IgnoreSelected false
|
||||
X Interface "lan""
|
||||
</Plugin>
|
||||
X
|
||||
LoadPlugin network
|
||||
<Plugin network>
|
||||
X Server "sozial.asozial" "25826"
|
||||
X Forward false
|
||||
</Plugin>
|
||||
X
|
||||
X
|
||||
LoadPlugin wireless
|
||||
SHAR_EOF
|
||||
(set 20 16 03 14 20 20 43 'files/etc/collectd.conf'
|
||||
eval "${shar_touch}") && \
|
||||
chmod 0600 'files/etc/collectd.conf'
|
||||
if test $? -ne 0
|
||||
then ${echo} "restore of files/etc/collectd.conf failed"
|
||||
fi
|
||||
if ${md5check}
|
||||
then (
|
||||
${MD5SUM} -c >/dev/null 2>&1 || ${echo} 'files/etc/collectd.conf': 'MD5 check failed'
|
||||
) << \SHAR_EOF
|
||||
317af4e906f9877fb3942b2c969ec6f8 files/etc/collectd.conf
|
||||
SHAR_EOF
|
||||
|
||||
else
|
||||
test `LC_ALL=C wc -c < 'files/etc/collectd.conf'` -ne 611 && \
|
||||
${echo} "restoration warning: size of 'files/etc/collectd.conf' is not 611"
|
||||
fi
|
||||
fi
|
||||
# ============= files/etc/config/dhcp ==============
|
||||
if test ! -d 'files/etc'; then
|
||||
mkdir 'files/etc'
|
||||
if test $? -eq 0
|
||||
then ${echo} "x - created directory files/etc."
|
||||
else ${echo} "x - failed to create directory files/etc."
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
if test ! -d 'files/etc/config'; then
|
||||
mkdir 'files/etc/config'
|
||||
if test $? -eq 0
|
||||
then ${echo} "x - created directory files/etc/config."
|
||||
else ${echo} "x - failed to create directory files/etc/config."
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
if test -n "${keep_file}" && test -f 'files/etc/config/dhcp'
|
||||
then
|
||||
${echo} "x - SKIPPING files/etc/config/dhcp (file already exists)"
|
||||
|
||||
else
|
||||
${echo} "x - extracting files/etc/config/dhcp (text)"
|
||||
sed 's/^X//' << 'SHAR_EOF' > 'files/etc/config/dhcp' &&
|
||||
X
|
||||
config dnsmasq
|
||||
X option listen 0
|
||||
X
|
||||
config dhcp 'lan'
|
||||
X option interface 'lan'
|
||||
X option ignore 1
|
||||
X
|
||||
config dhcp 'wan'
|
||||
X option interface 'wan'
|
||||
X option ignore '1'
|
||||
X
|
||||
config odhcpd 'odhcpd'
|
||||
X option maindhcp '0'
|
||||
X option leasefile '/tmp/hosts/odhcpd'
|
||||
X option leasetrigger '/usr/sbin/odhcpd-update'
|
||||
X
|
||||
SHAR_EOF
|
||||
(set 20 16 02 18 23 07 05 'files/etc/config/dhcp'
|
||||
eval "${shar_touch}") && \
|
||||
chmod 0644 'files/etc/config/dhcp'
|
||||
if test $? -ne 0
|
||||
then ${echo} "restore of files/etc/config/dhcp failed"
|
||||
fi
|
||||
if ${md5check}
|
||||
then (
|
||||
${MD5SUM} -c >/dev/null 2>&1 || ${echo} 'files/etc/config/dhcp': 'MD5 check failed'
|
||||
) << \SHAR_EOF
|
||||
14380207dcdfc80dcf7ad0f874385a4f files/etc/config/dhcp
|
||||
SHAR_EOF
|
||||
|
||||
else
|
||||
test `LC_ALL=C wc -c < 'files/etc/config/dhcp'` -ne 286 && \
|
||||
${echo} "restoration warning: size of 'files/etc/config/dhcp' is not 286"
|
||||
fi
|
||||
fi
|
||||
# ============= files/etc/config/dropbear ==============
|
||||
if test ! -d 'files/etc/config'; then
|
||||
mkdir 'files/etc/config'
|
||||
if test $? -eq 0
|
||||
then ${echo} "x - created directory files/etc/config."
|
||||
else ${echo} "x - failed to create directory files/etc/config."
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
if test -n "${keep_file}" && test -f 'files/etc/config/dropbear'
|
||||
then
|
||||
${echo} "x - SKIPPING files/etc/config/dropbear (file already exists)"
|
||||
|
||||
else
|
||||
${echo} "x - extracting files/etc/config/dropbear (text)"
|
||||
sed 's/^X//' << 'SHAR_EOF' > 'files/etc/config/dropbear' &&
|
||||
config dropbear
|
||||
X option PasswordAuth 'off'
|
||||
X option RootPasswordAuth 'off'
|
||||
X option Port '22'
|
||||
# option BannerFile '/etc/banner'
|
||||
SHAR_EOF
|
||||
(set 20 16 02 19 01 22 09 'files/etc/config/dropbear'
|
||||
eval "${shar_touch}") && \
|
||||
chmod 0644 'files/etc/config/dropbear'
|
||||
if test $? -ne 0
|
||||
then ${echo} "restore of files/etc/config/dropbear failed"
|
||||
fi
|
||||
if ${md5check}
|
||||
then (
|
||||
${MD5SUM} -c >/dev/null 2>&1 || ${echo} 'files/etc/config/dropbear': 'MD5 check failed'
|
||||
) << \SHAR_EOF
|
||||
4e428f3d36b40c3de857bf73d3bc27ce files/etc/config/dropbear
|
||||
SHAR_EOF
|
||||
|
||||
else
|
||||
test `LC_ALL=C wc -c < 'files/etc/config/dropbear'` -ne 136 && \
|
||||
${echo} "restoration warning: size of 'files/etc/config/dropbear' is not 136"
|
||||
fi
|
||||
fi
|
||||
# ============= files/etc/config/firewall ==============
|
||||
if test -n "${keep_file}" && test -f 'files/etc/config/firewall'
|
||||
then
|
||||
${echo} "x - SKIPPING files/etc/config/firewall (file already exists)"
|
||||
|
||||
else
|
||||
${echo} "x - extracting files/etc/config/firewall (text)"
|
||||
sed 's/^X//' << 'SHAR_EOF' > 'files/etc/config/firewall' &&
|
||||
config defaults
|
||||
X option syn_flood 1
|
||||
X option input ACCEPT
|
||||
X option output ACCEPT
|
||||
X option forward ACCEPT
|
||||
SHAR_EOF
|
||||
(set 20 16 03 14 20 19 47 'files/etc/config/firewall'
|
||||
eval "${shar_touch}") && \
|
||||
chmod 0644 'files/etc/config/firewall'
|
||||
if test $? -ne 0
|
||||
then ${echo} "restore of files/etc/config/firewall failed"
|
||||
fi
|
||||
if ${md5check}
|
||||
then (
|
||||
${MD5SUM} -c >/dev/null 2>&1 || ${echo} 'files/etc/config/firewall': 'MD5 check failed'
|
||||
) << \SHAR_EOF
|
||||
3aca9392cad163a47cd8ed892ad1fbee files/etc/config/firewall
|
||||
SHAR_EOF
|
||||
|
||||
else
|
||||
test `LC_ALL=C wc -c < 'files/etc/config/firewall'` -ne 105 && \
|
||||
${echo} "restoration warning: size of 'files/etc/config/firewall' is not 105"
|
||||
fi
|
||||
fi
|
||||
# ============= files/etc/config/network ==============
|
||||
if test -n "${keep_file}" && test -f 'files/etc/config/network'
|
||||
then
|
||||
${echo} "x - SKIPPING files/etc/config/network (file already exists)"
|
||||
|
||||
else
|
||||
${echo} "x - extracting files/etc/config/network (text)"
|
||||
sed 's/^X//' << 'SHAR_EOF' > 'files/etc/config/network' &&
|
||||
X
|
||||
config interface 'loopback'
|
||||
X option ifname 'lo'
|
||||
X option proto 'static'
|
||||
X option ipaddr '127.0.0.1'
|
||||
X option netmask '255.0.0.0'
|
||||
X
|
||||
config interface 'apctl'
|
||||
X option ifname 'eth1.2'
|
||||
X option proto 'dhcp'
|
||||
X
|
||||
config interface 'lan'
|
||||
X option type 'bridge'
|
||||
X option ifname 'eth1'
|
||||
X option proto 'static'
|
||||
X
|
||||
config interface 'recovery'
|
||||
X option type 'bridge'
|
||||
X option ifname 'eth0'
|
||||
X option proto 'static'
|
||||
X option ipaddr '192.168.1.1'
|
||||
X option netmask '255.0.0.0'
|
||||
X
|
||||
X
|
||||
config switch
|
||||
X option name 'switch0'
|
||||
X option reset '1'
|
||||
X option enable '1'
|
||||
X option enable_vlan '1'
|
||||
X
|
||||
config switch_vlan
|
||||
X option device 'switch0'
|
||||
X option vlan '1'
|
||||
X option ports '1 2 3 4 0'
|
||||
SHAR_EOF
|
||||
(set 20 16 03 14 20 26 56 'files/etc/config/network'
|
||||
eval "${shar_touch}") && \
|
||||
chmod 0644 'files/etc/config/network'
|
||||
if test $? -ne 0
|
||||
then ${echo} "restore of files/etc/config/network failed"
|
||||
fi
|
||||
if ${md5check}
|
||||
then (
|
||||
${MD5SUM} -c >/dev/null 2>&1 || ${echo} 'files/etc/config/network': 'MD5 check failed'
|
||||
) << \SHAR_EOF
|
||||
e953d88ed06acffbef2e9086fa727fd7 files/etc/config/network
|
||||
SHAR_EOF
|
||||
|
||||
else
|
||||
test `LC_ALL=C wc -c < 'files/etc/config/network'` -ne 630 && \
|
||||
${echo} "restoration warning: size of 'files/etc/config/network' is not 630"
|
||||
fi
|
||||
fi
|
||||
# ============= files/etc/config/system ==============
|
||||
if test -n "${keep_file}" && test -f 'files/etc/config/system'
|
||||
then
|
||||
${echo} "x - SKIPPING files/etc/config/system (file already exists)"
|
||||
|
||||
else
|
||||
${echo} "x - extracting files/etc/config/system (text)"
|
||||
sed 's/^X//' << 'SHAR_EOF' > 'files/etc/config/system' &&
|
||||
X
|
||||
config system
|
||||
X option hostname 'ITS-AP-unassigned'
|
||||
X option timezone 'UTC'
|
||||
X
|
||||
config timeserver 'ntp'
|
||||
X list server '0.openwrt.pool.ntp.org'
|
||||
X list server '1.openwrt.pool.ntp.org'
|
||||
X list server '2.openwrt.pool.ntp.org'
|
||||
X list server '3.openwrt.pool.ntp.org'
|
||||
X option enabled '1'
|
||||
X option enable_server '0'
|
||||
X
|
||||
config led 'led_wan'
|
||||
X option name 'WAN'
|
||||
X option sysfs 'tp-link:green:wan'
|
||||
X option trigger 'netdev'
|
||||
X option mode 'link tx rx'
|
||||
X option dev 'eth1'
|
||||
X
|
||||
config led 'led_lan1'
|
||||
X option name 'LAN1'
|
||||
X option sysfs 'tp-link:green:lan1'
|
||||
X option trigger 'switch0'
|
||||
X option port_mask '0x10'
|
||||
X
|
||||
config led 'led_lan2'
|
||||
X option name 'LAN2'
|
||||
X option sysfs 'tp-link:green:lan2'
|
||||
X option trigger 'switch0'
|
||||
X option port_mask '0x08'
|
||||
X
|
||||
config led 'led_lan3'
|
||||
X option name 'LAN3'
|
||||
X option sysfs 'tp-link:green:lan3'
|
||||
X option trigger 'switch0'
|
||||
X option port_mask '0x04'
|
||||
X
|
||||
config led 'led_lan4'
|
||||
X option name 'LAN4'
|
||||
X option sysfs 'tp-link:green:lan4'
|
||||
X option trigger 'switch0'
|
||||
X option port_mask '0x02'
|
||||
X
|
||||
config led 'led_wlan'
|
||||
X option name 'WLAN'
|
||||
X option sysfs 'tp-link:green:wlan'
|
||||
X option trigger 'phy0tpt'
|
||||
SHAR_EOF
|
||||
(set 20 16 03 14 17 41 57 'files/etc/config/system'
|
||||
eval "${shar_touch}") && \
|
||||
chmod 0644 'files/etc/config/system'
|
||||
if test $? -ne 0
|
||||
then ${echo} "restore of files/etc/config/system failed"
|
||||
fi
|
||||
if ${md5check}
|
||||
then (
|
||||
${MD5SUM} -c >/dev/null 2>&1 || ${echo} 'files/etc/config/system': 'MD5 check failed'
|
||||
) << \SHAR_EOF
|
||||
9473b26be0e31d238df7fb716f2b4964 files/etc/config/system
|
||||
SHAR_EOF
|
||||
|
||||
else
|
||||
test `LC_ALL=C wc -c < 'files/etc/config/system'` -ne 1063 && \
|
||||
${echo} "restoration warning: size of 'files/etc/config/system' is not 1063"
|
||||
fi
|
||||
fi
|
||||
# ============= files/etc/config/ubootenv ==============
|
||||
if test -n "${keep_file}" && test -f 'files/etc/config/ubootenv'
|
||||
then
|
||||
${echo} "x - SKIPPING files/etc/config/ubootenv (file already exists)"
|
||||
|
||||
else
|
||||
${echo} "x - extracting files/etc/config/ubootenv (empty)"
|
||||
> 'files/etc/config/ubootenv' &&
|
||||
(set 20 16 02 07 15 30 04 'files/etc/config/ubootenv'
|
||||
eval "${shar_touch}") && \
|
||||
chmod 0644 'files/etc/config/ubootenv'
|
||||
if test $? -ne 0
|
||||
then ${echo} "restore of files/etc/config/ubootenv failed"
|
||||
fi
|
||||
if ${md5check}
|
||||
then (
|
||||
${MD5SUM} -c >/dev/null 2>&1 || ${echo} 'files/etc/config/ubootenv': 'MD5 check failed'
|
||||
) << \SHAR_EOF
|
||||
d41d8cd98f00b204e9800998ecf8427e files/etc/config/ubootenv
|
||||
SHAR_EOF
|
||||
|
||||
else
|
||||
test `LC_ALL=C wc -c < 'files/etc/config/ubootenv'` -ne 0 && \
|
||||
${echo} "restoration warning: size of 'files/etc/config/ubootenv' is not 0"
|
||||
fi
|
||||
fi
|
||||
# ============= files/etc/config/wireless ==============
|
||||
if test -n "${keep_file}" && test -f 'files/etc/config/wireless'
|
||||
then
|
||||
${echo} "x - SKIPPING files/etc/config/wireless (file already exists)"
|
||||
|
||||
else
|
||||
${echo} "x - extracting files/etc/config/wireless (text)"
|
||||
sed 's/^X//' << 'SHAR_EOF' > 'files/etc/config/wireless' &&
|
||||
config wifi-device radio0
|
||||
X option type mac80211
|
||||
X option channel 11
|
||||
X option hwmode 11g
|
||||
X option path 'platform/qca953x_wmac'
|
||||
X option htmode HT20
|
||||
X
|
||||
config wifi-iface
|
||||
X option device radio0
|
||||
X option network lan
|
||||
X option mode ap
|
||||
X option ssid it-syndikat
|
||||
X option encryption psk2
|
||||
X option key '<WIRELESS KEY HERE>'
|
||||
SHAR_EOF
|
||||
(set 20 16 06 06 01 41 58 'files/etc/config/wireless'
|
||||
eval "${shar_touch}") && \
|
||||
chmod 0644 'files/etc/config/wireless'
|
||||
if test $? -ne 0
|
||||
then ${echo} "restore of files/etc/config/wireless failed"
|
||||
fi
|
||||
if ${md5check}
|
||||
then (
|
||||
${MD5SUM} -c >/dev/null 2>&1 || ${echo} 'files/etc/config/wireless': 'MD5 check failed'
|
||||
) << \SHAR_EOF
|
||||
06b38e06f26ea56e8a8e5f51a6566ff8 files/etc/config/wireless
|
||||
SHAR_EOF
|
||||
|
||||
else
|
||||
test `LC_ALL=C wc -c < 'files/etc/config/wireless'` -ne 325 && \
|
||||
${echo} "restoration warning: size of 'files/etc/config/wireless' is not 325"
|
||||
fi
|
||||
fi
|
||||
# ============= files/etc/dropbear/authorized_keys ==============
|
||||
if test ! -d 'files/etc/dropbear'; then
|
||||
mkdir 'files/etc/dropbear'
|
||||
if test $? -eq 0
|
||||
then ${echo} "x - created directory files/etc/dropbear."
|
||||
else ${echo} "x - failed to create directory files/etc/dropbear."
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
if test -n "${keep_file}" && test -f 'files/etc/dropbear/authorized_keys'
|
||||
then
|
||||
${echo} "x - SKIPPING files/etc/dropbear/authorized_keys (file already exists)"
|
||||
|
||||
else
|
||||
${echo} "x - extracting files/etc/dropbear/authorized_keys (text)"
|
||||
sed 's/^X//' << 'SHAR_EOF' | uudecode &&
|
||||
begin 600 files/etc/dropbear/authorized_keys
|
||||
M<W-H+7)S82!!04%!0C-.>F%#,7EC,D5!04%!1$%104)!04%"05%#,41B=VMS
|
||||
M>75-,FE652]M4U-18CAF8U14,W-M3T1Y96%Z=%!V<&8Q94\T.61N-$UE8T%C
|
||||
M534X>G$R9S1$2W5M0S5Q,6)#<DUQ<&A9.65A*U534W)9<&8K6BLK9F5Z3W-0
|
||||
M>&%D-$UR-&EX=3!(83A6;S1#3$-F1'AC07A::%EU;$%X;E!D,G<X9T)Y25%)
|
||||
M56YM1UI"1WE!6'5$,%EX:2LR8W!N,VI'5TDQ3CDV8W=Y:%-Z63`O46UJ9F55
|
||||
M8G%B*W!D:45J;2]*5$)U;R]S0FUF2FUD.5%A>4UV>$]Z,5)R>C%4=4\X.79M
|
||||
M+U9L,5`K:TE&4W1O0G-%955(."M9<75)4'50<6=Q,V0V2"MI538X3DYT8G!9
|
||||
M07=-2E,S,'5M-'5H=2]X3R]62&-L0V%F<4]U47994FMJ0DI!4DY0;4UL+T15
|
||||
>8VET:$Y#5S)!=D1C=$IS6G!",6P@9'AL9$!%;&D*
|
||||
`
|
||||
end
|
||||
SHAR_EOF
|
||||
(set 20 16 02 19 01 22 39 'files/etc/dropbear/authorized_keys'
|
||||
eval "${shar_touch}") && \
|
||||
chmod 0644 'files/etc/dropbear/authorized_keys'
|
||||
if test $? -ne 0
|
||||
then ${echo} "restore of files/etc/dropbear/authorized_keys failed"
|
||||
fi
|
||||
if ${md5check}
|
||||
then (
|
||||
${MD5SUM} -c >/dev/null 2>&1 || ${echo} 'files/etc/dropbear/authorized_keys': 'MD5 check failed'
|
||||
) << \SHAR_EOF
|
||||
9641a516022df2dc59a071c9d16be7aa files/etc/dropbear/authorized_keys
|
||||
SHAR_EOF
|
||||
|
||||
else
|
||||
test `LC_ALL=C wc -c < 'files/etc/dropbear/authorized_keys'` -ne 390 && \
|
||||
${echo} "restoration warning: size of 'files/etc/dropbear/authorized_keys' is not 390"
|
||||
fi
|
||||
fi
|
||||
# ============= files/etc/uci-defaults/50-config-from-mac ==============
|
||||
if test ! -d 'files/etc/uci-defaults'; then
|
||||
mkdir 'files/etc/uci-defaults'
|
||||
if test $? -eq 0
|
||||
then ${echo} "x - created directory files/etc/uci-defaults."
|
||||
else ${echo} "x - failed to create directory files/etc/uci-defaults."
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
if test -n "${keep_file}" && test -f 'files/etc/uci-defaults/50-config-from-mac'
|
||||
then
|
||||
${echo} "x - SKIPPING files/etc/uci-defaults/50-config-from-mac (file already exists)"
|
||||
|
||||
else
|
||||
${echo} "x - extracting files/etc/uci-defaults/50-config-from-mac (text)"
|
||||
sed 's/^X//' << 'SHAR_EOF' > 'files/etc/uci-defaults/50-config-from-mac' &&
|
||||
#!/bin/sh
|
||||
set -e
|
||||
X
|
||||
mac=$(cat /sys/class/net/eth1/address)
|
||||
X
|
||||
hostname=
|
||||
channel=
|
||||
if [ "$mac" = 60:e3:27:b8:16:ed ]; then
|
||||
X hostname=cz-ap0
|
||||
X channel=6
|
||||
elif [ "$mac" = 60:e3:27:b8:09:db ]; then
|
||||
X hostname=cz-ap1
|
||||
X channel=12
|
||||
elif [ "$mac" = 60:e3:27:ed:9b:b1 ]; then
|
||||
X hostname=cz-ap2
|
||||
X channel=1
|
||||
fi
|
||||
X
|
||||
uci set system.@system[0].hostname=$hostname
|
||||
uci commit system
|
||||
uci set wireless.radio0.channel=$channel
|
||||
uci commit wireless
|
||||
echo $(uci get system.@system[0].hostname) > /proc/sys/kernel/hostname
|
||||
SHAR_EOF
|
||||
(set 20 16 03 20 16 53 15 'files/etc/uci-defaults/50-config-from-mac'
|
||||
eval "${shar_touch}") && \
|
||||
chmod 0755 'files/etc/uci-defaults/50-config-from-mac'
|
||||
if test $? -ne 0
|
||||
then ${echo} "restore of files/etc/uci-defaults/50-config-from-mac failed"
|
||||
fi
|
||||
if ${md5check}
|
||||
then (
|
||||
${MD5SUM} -c >/dev/null 2>&1 || ${echo} 'files/etc/uci-defaults/50-config-from-mac': 'MD5 check failed'
|
||||
) << \SHAR_EOF
|
||||
689a299be8256d569a668704a26d27c3 files/etc/uci-defaults/50-config-from-mac
|
||||
SHAR_EOF
|
||||
|
||||
else
|
||||
test `LC_ALL=C wc -c < 'files/etc/uci-defaults/50-config-from-mac'` -ne 503 && \
|
||||
${echo} "restoration warning: size of 'files/etc/uci-defaults/50-config-from-mac' is not 503"
|
||||
fi
|
||||
fi
|
||||
if rm -fr ${lock_dir}
|
||||
then ${echo} "x - removed lock directory ${lock_dir}."
|
||||
else ${echo} "x - failed to remove lock directory ${lock_dir}."
|
||||
exit 1
|
||||
fi
|
||||
exit 0
|
|
@ -1 +0,0 @@
|
|||
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC1DbwksyuM2iVU/mSSQb8fcTT3smODyeaztPvpf1eO49dn4MecAcU58zq2g4DKumC5q1bCrMqphY9ea+USSrYpf+Z++fezOsPxad4Mr4ixu0Ha8Vo4CLCfDxcAxZhYulAxnPd2w8gByIQIUnmGZBGyAXuD0Yxi+2cpn3jGWI1N96cwyhSzY0/QmjfeUbqb+pdiEjm/JTBuo/sBmfJmd9QayMvxOz1Rrz1TuO89vm/Vl1P+kIFStoBsEeUH8+YquIPuPqgq3d6H+iU68NNtbpYAwMJS30um4uhu/xO/VHclCafqOuQvYRkjBJARNPmMl/DUcithNCW2AvDctJsZpB1l dxld@Eli
|
|
@ -1 +0,0 @@
|
|||
../../../../../../.git/annex/objects/Vk/8w/SHA256E-s95--196dc6eecef78da77ea459b552dc3e0690f7c8e99007105d9715020ba7c60480/SHA256E-s95--196dc6eecef78da77ea459b552dc3e0690f7c8e99007105d9715020ba7c60480
|
|
@ -1 +0,0 @@
|
|||
../../../.git/annex/objects/x8/FX/SHA256E-s3342340--cc00d2ddc3972b9402dcdba12d4f5970974f0b203900b62efa5121633c5e5ba1.bin/SHA256E-s3342340--cc00d2ddc3972b9402dcdba12d4f5970974f0b203900b62efa5121633c5e5ba1.bin
|
96
build-image.sh
Executable file
96
build-image.sh
Executable file
|
@ -0,0 +1,96 @@
|
|||
#!/bin/sh
|
||||
|
||||
set -e
|
||||
|
||||
[ $# -ge 1 ] || exit 1
|
||||
CONTROL="$1"; shift
|
||||
IMAGEBUILDER_URL=${IMAGEBUILDER_URL:-https://downloads.openwrt.org/snapshots/targets/ath79/generic/openwrt-imagebuilder-ath79-generic.Linux-x86_64.tar.xz}
|
||||
|
||||
TOPDIR="$PWD"
|
||||
DLDIR=${DLDIR:-"dl"}
|
||||
BUILDDIR=${BUILDDIR:-"build"}
|
||||
IMAGESDIR=${IMAGEDIR:-"images"}
|
||||
|
||||
mkdir -p "$DLDIR"
|
||||
mkdir -p "$BUILDDIR"; rm -rf "$BUILDDIR"/*
|
||||
mkdir -p "$IMAGESDIR"
|
||||
|
||||
VERSION="$(basename "$(git describe --always --tags --dirty --match 'access-points/*')")"
|
||||
IMAGEDIR="$IMAGESDIR"/"$VERSION"
|
||||
mkdir -p "$IMAGEDIR"
|
||||
|
||||
imagebuilder="$(basename "$IMAGEBUILDER_URL")"
|
||||
checksums_url="$(dirname "$IMAGEBUILDER_URL")/sha256sums"
|
||||
trustedkeys=$PWD/keys/trustedkeys.kbx
|
||||
|
||||
(
|
||||
cd "$DLDIR"
|
||||
wget --continue "$IMAGEBUILDER_URL" -O "$imagebuilder"
|
||||
wget "${checksums_url}" -O "${imagebuilder}.sha256sums"
|
||||
wget "${checksums_url}.asc" -O "${imagebuilder}.sha256sums.asc"
|
||||
|
||||
gpgv --keyring="$trustedkeys" \
|
||||
"${imagebuilder}.sha256sums.asc" "${imagebuilder}.sha256sums" \
|
||||
|| exit 42
|
||||
|
||||
sha256sum --ignore-missing --check ${imagebuilder}.sha256sums || exit 43
|
||||
) || exit 50
|
||||
|
||||
tar -C "$BUILDDIR" -axf "$DLDIR"/"$imagebuilder"
|
||||
|
||||
IMAGEBUILDER_DIR="$BUILDDIR"/"$(tar -atf "$DLDIR"/"$imagebuilder" | head -n1)"
|
||||
|
||||
# source control file and extract variables
|
||||
profile=$(. "$CONTROL"; echo "${PROFILE}")
|
||||
target=$(. "$CONTROL"; echo "${TARGET}")
|
||||
subtarget=$(. "$CONTROL"; echo "${SUBTARGET}")
|
||||
|
||||
(
|
||||
# `make` below consumes these
|
||||
export PROFILE PACKAGES
|
||||
|
||||
. "$CONTROL"
|
||||
|
||||
tmp="$(mktemp --tmpdir -d files.XXXXXXXXX)"
|
||||
|
||||
mkdir -p "$tmp"/etc
|
||||
mkdir -p "$tmp"/etc/its-access-point/
|
||||
printf '%s\n' "$VERSION" > "$tmp"/etc/its-access-point/version
|
||||
printf '%s\n' "$IMAGEBUILDER_URL" \
|
||||
> "$tmp"/etc/its-access-point/imagebuilder-url
|
||||
sha512sum "$DLDIR/$imagebuilder" \
|
||||
> "$tmp"/etc/its-access-point/imagebuilder-hash
|
||||
cat "$CONTROL" > "$tmp"/etc/its-access-point/control
|
||||
|
||||
if [ -n "$COMMON_FILES" ]; then
|
||||
cp -aLTv "$TOPDIR/$COMMON_FILES" "$tmp"
|
||||
fi
|
||||
|
||||
if [ -n "$FILES" ]; then
|
||||
cp -aLTv "$TOPDIR/$FILES" "$tmp"
|
||||
fi
|
||||
|
||||
cd "$IMAGEBUILDER_DIR"
|
||||
unset COMMON_FILES
|
||||
make image FILES="$tmp" 1>&2
|
||||
)
|
||||
|
||||
cp "$IMAGEBUILDER_DIR"/bin/targets/ath79/"${subtarget}"/openwrt*-"${target}-${subtarget}-${profile}"-squashfs-sysupgrade.bin "$IMAGEDIR"/
|
||||
|
||||
ln -snf "$VERSION" images/latest
|
||||
|
||||
{
|
||||
printf '%s\n' "Date: $(date -R)"
|
||||
printf '%s\n' "Image-Builder: $IMAGEBUILDER_URL"
|
||||
printf '%s\n'
|
||||
printf 'Checksums-Sha512:\n'
|
||||
{
|
||||
( cd "$DLDIR" ; sha512sum "$imagebuilder" )
|
||||
( cd "$IMAGEDIR"; sha512sum openwrt*-"${target}-${subtarget}-${profile}"-squashfs-sysupgrade.bin )
|
||||
} | sed 's/^/ /'
|
||||
} > "$IMAGEDIR"/"${profile}".image-manifest
|
||||
|
||||
echo
|
||||
echo
|
||||
echo "Wrote images to $IMAGEDIR"
|
||||
echo
|
|
@ -1,4 +1,6 @@
|
|||
PROFILE=tl-wr841-v10
|
||||
TARGET=ar71xx
|
||||
SUBTARGET=tiny
|
||||
FILES=files/tl-wr841-v10
|
||||
COMMON_FILES=files/common/its
|
||||
PACKAGES='
|
|
@ -1,5 +1,7 @@
|
|||
PROFILE=ubnt-unifiac-lite
|
||||
PROFILE=ubnt_unifiac-lite
|
||||
FILES=files/ubnt-unifiac-lite
|
||||
TARGET=ath79
|
||||
SUBTARGET=generic
|
||||
COMMON_FILES=files/common/its
|
||||
PACKAGES='
|
||||
collectd
|
4
files/common/its/etc/dropbear/authorized_keys
Normal file
4
files/common/its/etc/dropbear/authorized_keys
Normal file
|
@ -0,0 +1,4 @@
|
|||
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDb6EwBFfEStxggc1voCr7o7LUEGViEb6Qncq3wZRKwjbRw+YOPkLwZuyVPNiERgtcmwkanhFiFK9wI3dgWhhsQqh8G6ydBNEMJDXMAmLS3LfCvfqB6XX2v9YOp/80oFPo6Q7Ii1dw+17uVgu0RaLYPqfLrFd1YHgKxrhYyIMQSyaKU5Yl+xH1M4+rcUoTvtsNfptXSjphRTCVTIOliZVvpznXnrwhdg+oxKd3Krd6BA3VxWM12Ynbe8pu/qd/yoi/VgPRLmCAm7kmo9+PMivNDIiuBa+vQYdV+We9jyJ54Ak4Stk17KPLBtI/NkfiFIIeyJUGKqi7Sc8jGTiwNaMTedMoPSFKnJQFfoKwfS91cV1/t0op3bnSBjexWwB6jO+I1I83erJ4AVUBaKR1r6xIbOEgDPJXgpwOCcaHbr0JGNocxO2mwfSfI/FcJlUpVFJx9ytENwVjx+U/fmDWweAeh3EzjP4g6blhCv/8li3qX2Ky6XsKo6oDAwDeGJfucrlcVdtO6q79MfQ+sy+C55HAZwmj5XYFf307wAX6k4xvLxMQU8onNKAUWHYxU5AHYqvufNQYGqoYBMqjlMtEZFqariVjELLbshjIBBOq0xcZRRzcIZxL9ju9Wtv736h1bQCg4cnfgP7DH5YpUTwNy0WG1OTxlPtElO2260kT82qur6Q== dxld@House
|
||||
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILvioDgEqpDNPtN5IADORCob2W4PrPwZ9XkeM0ydKkni dxld@House
|
||||
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOUurnUbomZzvU/Bm7iXSzkdCzMtq2S8tbAoU63zQXOO dxld@Janet
|
||||
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGQ2svXcOkb90K+hdAdIeXuw444p7W0rs9ANW5gXvR+4 ITS WASCHTL ACCESS KEY
|
|
@ -2,7 +2,7 @@
|
|||
set -e
|
||||
set -u
|
||||
|
||||
mac=$(cat /sys/class/net/wlan0/address)
|
||||
mac=$(cat /sys/class/ieee80211/phy0/macaddress)
|
||||
|
||||
hostname=
|
||||
channel_11a=
|
||||
|
@ -15,7 +15,8 @@ elif [ "$mac" = 60:e3:27:ed:86:9a ]; then
|
|||
channel_11g=11
|
||||
elif [ "$mac" = 78:8a:20:82:d6:bd ]; then
|
||||
hostname=cz-ap2
|
||||
channel_11a=108
|
||||
channel_11a=48
|
||||
channel_11g=6
|
||||
htmode_11a=VHT80
|
||||
elif [ "$mac" = 60:e3:27:ed:9b:b0 ]; then
|
||||
hostname=lz-ap0
|
||||
|
@ -39,23 +40,27 @@ uci commit dropbear
|
|||
WIFI_DEVICES=$(uci show wireless | sed -nr 's/^wireless\.([^=]+)=wifi-device*$/\1/p')
|
||||
|
||||
for radio in $WIFI_DEVICES; do
|
||||
disabled=1
|
||||
disabled=true
|
||||
if [ $(uci get wireless.$radio.hwmode) = '11a' ]; then
|
||||
# 5 GHz
|
||||
if [ -n "$channel_11a" ]; then
|
||||
uci set wireless.$radio.channel=$channel_11a
|
||||
uci set wireless.$radio.htmode=${htmode_11a:-HT20}
|
||||
disabled=0
|
||||
disabled=false
|
||||
fi
|
||||
elif [ $(uci get wireless.$radio.hwmode) = '11g' ]; then
|
||||
# 2.4 GHz
|
||||
if [ -n "$channel_11g" ]; then
|
||||
uci set wireless.$radio.channel=$channel_11g
|
||||
disabled=0
|
||||
disabled=false
|
||||
fi
|
||||
fi
|
||||
|
||||
uci set wireless.$radio.disabled=$disabled
|
||||
if $disabled; then
|
||||
uci set wireless.$radio.disabled=1
|
||||
else
|
||||
uci delete wireless.$radio.disabled || true
|
||||
fi
|
||||
uci set wireless.$radio.country=AT
|
||||
done
|
||||
uci commit wireless
|
1
files/common/its/etc/uci-defaults/51-secrets
Symbolic link
1
files/common/its/etc/uci-defaults/51-secrets
Symbolic link
|
@ -0,0 +1 @@
|
|||
../../../../../.git/annex/objects/qZ/Z2/SHA256E-s214--aed1c032b77503779cde57f6c7d86b178fe9378b38e055db1c3c6d63bd405289/SHA256E-s214--aed1c032b77503779cde57f6c7d86b178fe9378b38e055db1c3c6d63bd405289
|
|
@ -5,11 +5,12 @@ config interface 'loopback'
|
|||
option ipaddr '127.0.0.1'
|
||||
option netmask '255.0.0.0'
|
||||
|
||||
config interface 'apctl'
|
||||
option ifname 'eth1.2'
|
||||
option proto 'dhcp'
|
||||
|
||||
config interface 'lan'
|
||||
option type 'bridge'
|
||||
option ifname 'eth0'
|
||||
option proto 'dhcp'
|
||||
|
||||
config interface 'lan6'
|
||||
option proto 'dhcpv6'
|
||||
option reqaddress 'try'
|
||||
option ifname '@lan'
|
|
@ -5,10 +5,17 @@ config wifi-device 'radio0'
|
|||
option path 'pci0000:00/0000:00:00.0'
|
||||
option htmode 'VHT80'
|
||||
option disabled '1'
|
||||
option channel '108'
|
||||
option channel '48'
|
||||
option country 'AT'
|
||||
|
||||
config wifi-iface 'default_radio0'
|
||||
option device 'radio0'
|
||||
option network 'lan'
|
||||
option mode 'ap'
|
||||
option ssid 'it-syndikat'
|
||||
option encryption 'psk2'
|
||||
|
||||
config wifi-iface 'pinned_radio0'
|
||||
option device 'radio0'
|
||||
option network 'lan'
|
||||
option mode 'ap'
|
|
@ -0,0 +1 @@
|
|||
../../.git/annex/objects/x8/FX/SHA256E-s3342340--cc00d2ddc3972b9402dcdba12d4f5970974f0b203900b62efa5121633c5e5ba1.bin/SHA256E-s3342340--cc00d2ddc3972b9402dcdba12d4f5970974f0b203900b62efa5121633c5e5ba1.bin
|
|
@ -0,0 +1 @@
|
|||
../../.git/annex/objects/8V/Z2/SHA256E-s3145732--48f75b8781f0963b0beb848b1c71f9c25dc509537f6f2b6b22becec5ed138c4f.bin/SHA256E-s3145732--48f75b8781f0963b0beb848b1c71f9c25dc509537f6f2b6b22becec5ed138c4f.bin
|
|
@ -0,0 +1 @@
|
|||
../../.git/annex/objects/Z0/Pw/SHA256E-s3538948--2db276ba8b8daeb4256b110ee50bbdeaa8eeadab8e86b4a9fed499096c48ad79.bin/SHA256E-s3538948--2db276ba8b8daeb4256b110ee50bbdeaa8eeadab8e86b4a9fed499096c48ad79.bin
|
6
images/v0.20180414/tl-wr841-v10.image-manifest
Normal file
6
images/v0.20180414/tl-wr841-v10.image-manifest
Normal file
|
@ -0,0 +1,6 @@
|
|||
Date: Sat, 14 Apr 2018 01:26:25 +0200
|
||||
Image-Builder: http://downloads.lede-project.org/releases/17.01.4/targets/ar71xx/generic/lede-imagebuilder-17.01.4-ar71xx-generic.Linux-x86_64.tar.xz
|
||||
|
||||
Checksums-Sha512:
|
||||
5c21eae8fb2d6dfceea833c2c442c6a5af2c700e57f6db15565d659107c3f71fb27eca4afaf0f5dc94cf842dde5cfcf3798036ea710b36312f667b5c8d942c01 lede-imagebuilder-17.01.4-ar71xx-generic.Linux-x86_64.tar.xz
|
||||
1a49f621364a26e22ea98cd822ce9f810e4323649cc8b943996c640cb56b7fd80c120dcbb2bf66995128c8a611e8b554823fe93e0dd819a951e3c3fe11724037 lede-17.01.4-ar71xx-generic-tl-wr841-v10-squashfs-sysupgrade.bin
|
6
images/v0.20180414/ubnt-unifiac-lite.image-manifest
Normal file
6
images/v0.20180414/ubnt-unifiac-lite.image-manifest
Normal file
|
@ -0,0 +1,6 @@
|
|||
Date: Sat, 14 Apr 2018 01:26:54 +0200
|
||||
Image-Builder: http://downloads.lede-project.org/releases/17.01.4/targets/ar71xx/generic/lede-imagebuilder-17.01.4-ar71xx-generic.Linux-x86_64.tar.xz
|
||||
|
||||
Checksums-Sha512:
|
||||
5c21eae8fb2d6dfceea833c2c442c6a5af2c700e57f6db15565d659107c3f71fb27eca4afaf0f5dc94cf842dde5cfcf3798036ea710b36312f667b5c8d942c01 lede-imagebuilder-17.01.4-ar71xx-generic.Linux-x86_64.tar.xz
|
||||
aab666219b1e70d180a817ba8ec653dfd0f35964d5d3fa97fbd4c9c6e2943183461de65dc5051ae3b4c3077171e69753f99cc2e391512a2df82024d8483a3bad lede-17.01.4-ar71xx-generic-ubnt-unifiac-lite-squashfs-sysupgrade.bin
|
|
@ -0,0 +1 @@
|
|||
../../.git/annex/objects/xq/FF/SHA256E-s3538948--be21f68db34bc2303b5fea111923f75c513b97fd3d9fe7af4cef3485555788ae.bin/SHA256E-s3538948--be21f68db34bc2303b5fea111923f75c513b97fd3d9fe7af4cef3485555788ae.bin
|
6
images/v0.20180506/ubnt-unifiac-lite.image-manifest
Normal file
6
images/v0.20180506/ubnt-unifiac-lite.image-manifest
Normal file
|
@ -0,0 +1,6 @@
|
|||
Date: Sun, 06 May 2018 22:02:49 +0200
|
||||
Image-Builder: http://downloads.lede-project.org/releases/17.01.4/targets/ar71xx/generic/lede-imagebuilder-17.01.4-ar71xx-generic.Linux-x86_64.tar.xz
|
||||
|
||||
Checksums-Sha512:
|
||||
5c21eae8fb2d6dfceea833c2c442c6a5af2c700e57f6db15565d659107c3f71fb27eca4afaf0f5dc94cf842dde5cfcf3798036ea710b36312f667b5c8d942c01 lede-imagebuilder-17.01.4-ar71xx-generic.Linux-x86_64.tar.xz
|
||||
14228713d604b5fc60429d38ed7055939c10a2933330017c9862ce1d87b1ae9d9d2710c9e60c849719e2c3721f903be74a81ca6f2d2f138c7abe37a18dbb47c8 lede-17.01.4-ar71xx-generic-ubnt-unifiac-lite-squashfs-sysupgrade.bin
|
|
@ -0,0 +1 @@
|
|||
../../.git/annex/objects/Qx/jq/SHA256E-s3670020--2c8c917c446ab5a322f47ae2d69ab090406b40f9f4006204b0ec3f940778974a.bin/SHA256E-s3670020--2c8c917c446ab5a322f47ae2d69ab090406b40f9f4006204b0ec3f940778974a.bin
|
|
@ -0,0 +1 @@
|
|||
../../.git/annex/objects/K2/vk/SHA256E-s3276804--c880339c48acbe314cb77c94d9c087dbc6cd0e875d4ffc230b9ed4dc8ff5bafa.bin/SHA256E-s3276804--c880339c48acbe314cb77c94d9c087dbc6cd0e875d4ffc230b9ed4dc8ff5bafa.bin
|
1
images/v0.20181004/tl-wr841-v10.image-manifest
Symbolic link
1
images/v0.20181004/tl-wr841-v10.image-manifest
Symbolic link
|
@ -0,0 +1 @@
|
|||
../../.git/annex/objects/zX/GM/SHA256E-s590--96b5b6bfeb9c1c27237d25a9c69f15574d24a0e0bbfcb4d7f7a9bd7d35943097/SHA256E-s590--96b5b6bfeb9c1c27237d25a9c69f15574d24a0e0bbfcb4d7f7a9bd7d35943097
|
1
images/v0.20181004/ubnt-unifiac-lite.image-manifest
Symbolic link
1
images/v0.20181004/ubnt-unifiac-lite.image-manifest
Symbolic link
|
@ -0,0 +1 @@
|
|||
../../.git/annex/objects/zv/F3/SHA256E-s607--76c9f63a6817c18847bf56daa2100a83dcd37159c59d4b89768bfdba980bc0f2/SHA256E-s607--76c9f63a6817c18847bf56daa2100a83dcd37159c59d4b89768bfdba980bc0f2
|
|
@ -0,0 +1 @@
|
|||
../../.git/annex/objects/14/pJ/SHA256E-s3735556--2d30d1a7f5404f1f74d5947763e74526fded14d127f8dd11312ce5394487fae6.bin/SHA256E-s3735556--2d30d1a7f5404f1f74d5947763e74526fded14d127f8dd11312ce5394487fae6.bin
|
|
@ -0,0 +1 @@
|
|||
../../.git/annex/objects/3f/pj/SHA256E-s3342340--0241343e038f69e683c04bf0980b682dc270863521c6e80de17a1909fe8bd98e.bin/SHA256E-s3342340--0241343e038f69e683c04bf0980b682dc270863521c6e80de17a1909fe8bd98e.bin
|
6
images/v0.20191014/tl-wr841-v10.image-manifest
Normal file
6
images/v0.20191014/tl-wr841-v10.image-manifest
Normal file
|
@ -0,0 +1,6 @@
|
|||
Date: Mon, 14 Oct 2019 19:40:24 +0200
|
||||
Image-Builder: https://downloads.openwrt.org/releases/18.06.4/targets/ar71xx/tiny/openwrt-imagebuilder-18.06.4-ar71xx-tiny.Linux-x86_64.tar.xz
|
||||
|
||||
Checksums-Sha512:
|
||||
91f25fdef9cdd278971e2721dd152d719053588aae03a7ef283a25825b214e8521facea82d8d3f50d7c3bcc78ebe381586c28590e31dc8af5c309cb9c84a530a openwrt-imagebuilder-18.06.4-ar71xx-tiny.Linux-x86_64.tar.xz
|
||||
e30304bb8e1215927a37f98f07c9ed0672fc89e947b49e4cbfaa83ad4086e1f05ef367f325d0c4277718c16f8fd9bf59a23992eb01710e5ad49b71c49dd81f44 openwrt-18.06.4-ar71xx-tiny-tl-wr841-v10-squashfs-sysupgrade.bin
|
6
images/v0.20191014/ubnt-unifiac-lite.image-manifest
Normal file
6
images/v0.20191014/ubnt-unifiac-lite.image-manifest
Normal file
|
@ -0,0 +1,6 @@
|
|||
Date: Mon, 14 Oct 2019 19:39:55 +0200
|
||||
Image-Builder: https://downloads.openwrt.org/releases/18.06.4/targets/ar71xx/generic/openwrt-imagebuilder-18.06.4-ar71xx-generic.Linux-x86_64.tar.xz
|
||||
|
||||
Checksums-Sha512:
|
||||
ad481db293cc690087d1dd92b802584e158eb8f435c3a911e7406e21f3343d456a07f9f16d5f636817f55fe64c08d7d6a1227284f247f281251dde76430ae7cb openwrt-imagebuilder-18.06.4-ar71xx-generic.Linux-x86_64.tar.xz
|
||||
557e50d6cbd8f54ce9c7ce27d7366cc65d1dd310b225d8929023194a154989c6a450b7c966a9e74d020752afdee4e0379019dfabf756ce22b42de3748d822fca openwrt-18.06.4-ar71xx-generic-ubnt-unifiac-lite-squashfs-sysupgrade.bin
|
|
@ -0,0 +1 @@
|
|||
../../.git/annex/objects/WF/zv/SHA256E-s4063495--ce1e3e5f6d6550e593b1b55fcccb9a3e67a42bd760bc70aa840948aa7cca5461.bin/SHA256E-s4063495--ce1e3e5f6d6550e593b1b55fcccb9a3e67a42bd760bc70aa840948aa7cca5461.bin
|
6
images/v0.20200622/ubnt_unifiac-lite.image-manifest
Normal file
6
images/v0.20200622/ubnt_unifiac-lite.image-manifest
Normal file
|
@ -0,0 +1,6 @@
|
|||
Date: Mon, 22 Jun 2020 22:27:28 +0200
|
||||
Image-Builder: https://downloads.openwrt.org/releases/19.07.3/targets/ath79/generic/openwrt-imagebuilder-19.07.3-ath79-generic.Linux-x86_64.tar.xz
|
||||
|
||||
Checksums-Sha512:
|
||||
a8e827523c4ada8b03ad0c11b32e49e50e7f4205763bdc2785037642b8534c355c60ddf560414c62523b54d6124d8fb73c8dca832950cc1e70a78fa61e3ff551 openwrt-imagebuilder-19.07.3-ath79-generic.Linux-x86_64.tar.xz
|
||||
8b02b708ca3956a59c2f6c328c7022e8a1d9aff6dcac5a26f8e52acd02720872cb36e732b21e15949215899106ee9884b64fc3ff2b4c9794320fcc94a17d26cf openwrt-19.07.3-ath79-generic-ubnt_unifiac-lite-squashfs-sysupgrade.bin
|
|
@ -0,0 +1 @@
|
|||
../../.git/annex/objects/pQ/fq/SHA256E-s4063495--8c8cac6475a9b240e66435e0edba178e414e1622aa864954278ae00d076699be.bin/SHA256E-s4063495--8c8cac6475a9b240e66435e0edba178e414e1622aa864954278ae00d076699be.bin
|
6
images/v0.20220217/ubnt_unifiac-lite.image-manifest
Normal file
6
images/v0.20220217/ubnt_unifiac-lite.image-manifest
Normal file
|
@ -0,0 +1,6 @@
|
|||
Date: Thu, 17 Feb 2022 22:51:26 +0100
|
||||
Image-Builder: https://downloads.openwrt.org/releases/19.07.8/targets/ath79/generic/openwrt-imagebuilder-19.07.8-ath79-generic.Linux-x86_64.tar.xz
|
||||
|
||||
Checksums-Sha512:
|
||||
12e53dde0fef1730f17684b22190053fd12face29da778b99a0f3167dbe229a66f42c3c82e8e957075c481ba32576b9fa3f53ca4c6aac8ac17a96949f5a12061 openwrt-imagebuilder-19.07.8-ath79-generic.Linux-x86_64.tar.xz
|
||||
61366d912094e5c04bb2b004643874c19cdb205402cb97b0a4f6cc4bc48e295025c9cbde62b587488b365959384567479c573b208661edb02067df0519ec730f openwrt-19.07.8-ath79-generic-ubnt_unifiac-lite-squashfs-sysupgrade.bin
|
|
@ -0,0 +1 @@
|
|||
../../.git/annex/objects/g9/Z1/SHA256E-s5243702--035434465d473021817534474c3a925028a2d17c071611edb49e7fc4406454fa.bin/SHA256E-s5243702--035434465d473021817534474c3a925028a2d17c071611edb49e7fc4406454fa.bin
|
6
images/v0.20221115/ubnt_unifiac-lite.image-manifest
Normal file
6
images/v0.20221115/ubnt_unifiac-lite.image-manifest
Normal file
|
@ -0,0 +1,6 @@
|
|||
Date: Tue, 15 Nov 2022 19:53:32 +0100
|
||||
Image-Builder: https://downloads.openwrt.org/releases/21.02.5/targets/ath79/generic/openwrt-imagebuilder-21.02.5-ath79-generic.Linux-x86_64.tar.xz
|
||||
|
||||
Checksums-Sha512:
|
||||
dd81304f8125093f0b72596a0d90dbc93e0cd7b7d2171b5025c355dd918305d0aebfab0d15f7efb6f656d1edb03e09c7dbab612b3d0c1f627f314f49620516e8 openwrt-imagebuilder-21.02.5-ath79-generic.Linux-x86_64.tar.xz
|
||||
2f6046f583500da25bb39b049d56dcab0bcf289799bf053178bd1d14b828dbf24d351e4e75912342eb5d25177d67a668c4b0e167a6cf8963b6f29888e4374f8d openwrt-21.02.5-ath79-generic-ubnt_unifiac-lite-squashfs-sysupgrade.bin
|
|
@ -0,0 +1 @@
|
|||
../../.git/annex/objects/40/j2/SHA256E-s4063496--99d488f5ea7b221f3bf021d03f6404746b8656bdb04875d301367382af3771e0.bin/SHA256E-s4063496--99d488f5ea7b221f3bf021d03f6404746b8656bdb04875d301367382af3771e0.bin
|
6
images/v0.20230106/ubnt_unifiac-lite.image-manifest
Normal file
6
images/v0.20230106/ubnt_unifiac-lite.image-manifest
Normal file
|
@ -0,0 +1,6 @@
|
|||
Date: Fri, 06 Jan 2023 20:35:32 +0100
|
||||
Image-Builder: https://downloads.openwrt.org/releases/19.07.10/targets/ath79/generic/openwrt-imagebuilder-19.07.10-ath79-generic.Linux-x86_64.tar.xz
|
||||
|
||||
Checksums-Sha512:
|
||||
66c89c4263153f24fe51a0f088cb863d09001086cac9886cc5a5fbbcd090d2418a1b4bcb5a2cb458fb0655f550367ff10bf48dd237ce1d515f214719c7f2afad openwrt-imagebuilder-19.07.10-ath79-generic.Linux-x86_64.tar.xz
|
||||
b31a061364448762896bb06ba77a073fe21156c9a0810ac4ea75871f7b9fe45b015908829218d82c6f74dc671bb7de5229b86d19127e0a1102157ae67cebd3c2 openwrt-19.07.10-ath79-generic-ubnt_unifiac-lite-squashfs-sysupgrade.bin
|
|
@ -0,0 +1 @@
|
|||
../../.git/annex/objects/X4/5Q/SHA256E-s5899062--8a3ac6e4f3a01e51b0c6afdbf4c98340904c496b61d0843a0695a2cb4e83a70a.bin/SHA256E-s5899062--8a3ac6e4f3a01e51b0c6afdbf4c98340904c496b61d0843a0695a2cb4e83a70a.bin
|
6
images/v0.20230908/ubnt_unifiac-lite.image-manifest
Normal file
6
images/v0.20230908/ubnt_unifiac-lite.image-manifest
Normal file
|
@ -0,0 +1,6 @@
|
|||
Date: Fri, 08 Sep 2023 23:45:55 +0200
|
||||
Image-Builder: https://downloads.openwrt.org/releases/22.03.5/targets/ath79/generic/openwrt-imagebuilder-22.03.5-ath79-generic.Linux-x86_64.tar.xz
|
||||
|
||||
Checksums-Sha512:
|
||||
6f6c09d77d4df840d4889cae4b6c51dd92b2d3c30f0b55b0e1dfc3397fafabcce383028ce6c78718b5b588977a84a08625a70405834a7503d6d3135d75b6a4ab openwrt-imagebuilder-22.03.5-ath79-generic.Linux-x86_64.tar.xz
|
||||
631313b2aabce61bcdb8b872d1fa3a2d31fa7a85d5f8a2ad8cb2fec24c2f80f31949b560cb891a56ad9d813f310f74419fd7160a94be8f25270a6f85b6c9ef9e openwrt-22.03.5-ath79-generic-ubnt_unifiac-lite-squashfs-sysupgrade.bin
|
54
keys/15807931.asc
Normal file
54
keys/15807931.asc
Normal file
|
@ -0,0 +1,54 @@
|
|||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
Comment: OpenWrt 18.06 public key v2
|
||||
|
||||
mQINBF0sHYQBEADiZLXk11VHTLxdYlYalbN+hOfIRYdMras9EQDQac4hYGnWPvlH
|
||||
TUuorTtrlvuEF1puYqU0achbCn8Fcop/UFOzyCD3MfjqTAbmG9kYVJz2pce6HqXY
|
||||
q2sDlxyLOCs6AJD/DQqbYKq6rOtBbbUkE8EHXFMP0x42F7x4uW8p7FnYhuoBds2H
|
||||
wNZja+LCH3BDJ+wmqNfA2T0JLqWe7o8pAUFNJ/5KVS//o755Jy3MOv7PPqVyB264
|
||||
OlvUYIJD7a14o+b/7wPbCFkOnCVvJ+may3muG950z0BCJs4s5Zq+V3Z6Mnx/q8Cg
|
||||
J+ICRecRp/X8EFYNUpmOWhuk980usiBaywcnPUkPknHZdz7d+4KonzErTta1LmSG
|
||||
dtQQU1zTNCDKaZGLYgfvOITIWj643IbbObqN+fLif/q2nXcxCaEF6BnnDyBguAw0
|
||||
sz40g0v+xeEgSgvUplgy7oPVd1QrsILLk4VnNXyOet3c81MuVXf32vqgA8H3eKnv
|
||||
t8ApY7KB2I+0Bac+XIpSJ+tklXDc7nCW+e6wFqKIt76cXTkZtrvdx1/ExJ4oN5oI
|
||||
37rWvk5MNlyBksuQVQ8Ghbpy09PawJSeG0eKlN6qDNjhNdurNmdSWQYSF8L2e9gh
|
||||
FgTms8iwHjA5+Kof7clBJtGwIaxgO3t0JEJh/QC/afbxrw2zHX1/apHQ7QARAQAB
|
||||
tFNPcGVuV3J0IEJ1aWxkIFN5c3RlbSAoUEdQIGtleSBmb3IgMTguMDYgcmVsZWFz
|
||||
ZSBidWlsZHMpIDxwZ3BzaWduLTE4LjA2QG9wZW53cnQub3JnPokCVwQTAQgAQQIb
|
||||
AwUJA8JnAAULCQgHAgYVCAkKCwIEFgIDAQIeAQIXgBYhBK0FBzY9K86cnjbOxPvL
|
||||
ePAVgHkxBQJdN1D0AhkBAAoJEPvLePAVgHkxJpcP/2zGIsgfnzatXkivwJqoUSwu
|
||||
JTGjUptQ4/dnP4Nn2y11E3USD4SyVTeEaPjCyg6C4tsKqeI/o+HalJJHy10f/7DM
|
||||
zC5QhdA5zBZALDsBzHp+TIpsE0eeGSO3qBWsqN55WVa4R5iTXck1rz3/LebB/XSD
|
||||
YHSBb65aCV8g4KCTShfUP6fepFVJnrUJITZYio2pSC2ecXw0KWgRsjp/OzDc8CFb
|
||||
xbwZRwYjZqHqSCbK16IQ/yGx9m9ZPWSkjqMVGl2TD7uvSYXgnBp9dKfbIuzQRWiO
|
||||
FbDsctI0OjjPr4ghpEwvfLgQlYsUKS8xVvlsEzwJ86JijimC+ojwo6rrKp+JDJVm
|
||||
4V+UeI8iWtF0LIqJ1e0M6mi+GWMUp/pa04epluAezF7si5zprOaiGrX7fKO85vHP
|
||||
AY3D//KRS9cO/8KJwl1dKO+hUntq1bjiPna5cLUveTHU3zXCYevAU01AKnCaCiwu
|
||||
/duF0i/NfU6t2tt9AQEL7J5yznId3NJRTnMDmtR3O5NxssJh8FRIgHI6Q4+P2Xr9
|
||||
XTPRU50DPjMmgSzMOcsbRWvNMURgKGMy5SExIH0Lay/aVAy6zSD/mqOiXMIa8fRY
|
||||
iVJpITlEyc/Zpqse0kuXoemvTsz07BZxiAoJYnNJ9tt8PiRwRwJv1ywOpM4B/ZWH
|
||||
yxJa3yr9L7iYcgvKKV68iQIzBBABCAAdFiEEVMx0MHosbcnOYYJpzYS87WJkcfEF
|
||||
Al03UrEACgkQzYS87WJkcfFXqg/9G4qGnIG7k/iSDRZUPZkyA7o4069DEQILDAJS
|
||||
GWW5nxmuPJrMZ9gW0B4MMlsH8k+vSPJuiQNNTuTIXlRSl2e/UI0KBjegkLFnIcVc
|
||||
B5W9DjfHEHsqddVwbKpRBgnhn24N13vzR+0A6L85WqgpNgITqfepe6fJGk+jB3W0
|
||||
/j0gHB3vVq/KJBd9VBjOh+6qMbUGgCr9a7D/6h1Fv7kEjpVPeNZCGJxGJaW7NiH8
|
||||
RbRtJO8jXjxpmJwS9QhtMesectI9AovUP0Flw/BjAGbp4TUnri5TaVnrMou36CP6
|
||||
qFvTl2pm2s6P3Nr/VpUGS8qtrhP03aQ51JlTWKEvg35kgwScIZN7YV7tkjgO4MdG
|
||||
z4Ol5DirG+KYNrjrpJwQIoQI0UuH67t9kw7ZVJtvnc2g0USavHZw2S8YW14+nS7T
|
||||
jve6QWp3f6Corlc7qAnUJkpeROam3AJ2tGeJ5gIB/QljeUKYI0gxKcgpGsyF/aL/
|
||||
1pHmJJU7SsyQno/p3ZPy7q1+nOudEVCc0yx1c4mws84ksxr2yy+NOwQpDnUrvMDN
|
||||
cXDdSMJsdAoIWB+c54xNAyPdcYGw+RDKYYwp55aMHKH4qi264GeAeA6bBstwJwB9
|
||||
4uFkdcsnCws6fTEDcqGVGar4a/4SDKHIpA3L8iEuLVBPmk9QVzwOm2E06u/kPVsV
|
||||
wGUh/Q2JAjMEEAEIAB0WIQSwm+eBrooM1HAv3NODPGAQ1Su7awUCXTdTEQAKCRCD
|
||||
PGAQ1Su7a9r0D/9WbLMEnmeh63H06iuWFhZfgamFjeR0kdnlwz/JKUvA19SmO7Ts
|
||||
CsVanvIOu0KidmDzfNMryAZTzC9HL4EOzWr282K2vrihqE7/ZraOoVDKS6Hf2m1l
|
||||
/BtA7JR3OkQ5O77b+hkyfwRWf0khd1h2mfyYWw8am4bPD8waY/sEY9Q3noSXdFwy
|
||||
E9emOZElwir/slh5t2sL2dV/VMi+VHqzhRBn8GbK0JYNMgq/0A/Uq4cHPSpDOwLJ
|
||||
PdePs7JVRhF94diTNbhY4LDpUb2cqeeY+OQUkW1mIHcz58RrWpFGShIAlYWQe3Vw
|
||||
RKSfC1Ouiujd6Wwx+M96azgcPQwTrbRJBK9z6Tp+733/BEpcuohQicLelFQZS/IF
|
||||
vNeWTfRC/xOh1x7gtT2a90TzvXqD7Wf/aRR0O+HcUSaYnpEZHRTaS/5VH5yAPFV1
|
||||
tcbDWu4Ah2705MnTnsmbmu4p6t0VF6o1Ia3PQFZTW/nVN1Rf68dDpkF9yOawqgSu
|
||||
+OsZFXYRElm47BQ+Y0QwCEnBFjx8U+AdKHblTdll3WjL4+1FEufK+nUUh/kacC3b
|
||||
IDhFUGAzYgl8nANgr8aQkN+YxX90QhGpwQgVLhyhqCrAFCIOs+9yyxjZfUl3GTL/
|
||||
QGPYI6bhYSenR9fffWoO3sHnknEKFe1Aswgfc+a2o7Qv+r+sS6lzAWfcDw==
|
||||
=VO4g
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
66
keys/2074BE7A.asc
Normal file
66
keys/2074BE7A.asc
Normal file
|
@ -0,0 +1,66 @@
|
|||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
Comment: OpenWrt 19.07 public key
|
||||
|
||||
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
|
||||
=u3sV
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
102
keys/626471F1.asc
Normal file
102
keys/626471F1.asc
Normal file
|
@ -0,0 +1,102 @@
|
|||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
Comment: PGP key for unattended snapshot builds
|
||||
|
||||
mQINBFeXZ7wBEAC3QZ+jhWrdj2XW9AdZpZrgHETZCW7lXxI3pJ2kS4UXNq+40KR2
|
||||
GJOdsXDnLb7ZiHNn6yio6qKLXFD/bimxK+22HSJlc3LSF2kKzNrgKoFR2rIKbL3c
|
||||
Us7GpWY8VqGTrfwR6OQNcoWqa1n5/tK9xuqKhfpoA2Eci8K+w5YCzCmnOz2vzbgS
|
||||
ptuFshTKYI2Z/DLQZyP+OQkEYPfCdani2KsISn4DTx8xFjmW/sb/zf0isemTwWyK
|
||||
Oh76FTa0tYdjTtAv3JHqyr2XkddM/oUSc09baCOfhUdo7Ep5rUqKw7BQsjreBYoZ
|
||||
WcL/hmlIksUrFlqo/HRpoBgCZpSjsF/Z9otZpSugMHVVlRCnAKQiWxWAd+V+y2FG
|
||||
q79myPgiMkbkaIrCelrUhDFRQ5wTnfAppFolw+xtT9bwdkwxZDNBe6PCYuLqD8wg
|
||||
jtDtt3q5UaUOMGJrMDKZ0Wi6ycdl/sM59kLfyBV4ybmYkwOLTlMvOATiyUZeJJZO
|
||||
2bTKBvD+izsx3Ea4VLPWYSFmk6QwaOMtj6tcXwBgtljzqMJ0S9Gubmopy3WAkP/m
|
||||
/6ETJpuIupqEtvbRTX4O/+qnBgY40aQX7B4NgJi2SypP/WML5v2B2amLlhTcN+we
|
||||
ULWyH9KvfKny5mrtG5C9xq1eAgKtB2QEDEbRyz34DWVWGpqIY1mscaNv8wARAQAB
|
||||
tF1PcGVuV3J0IEJ1aWxkIFN5c3RlbSAoUEdQIGtleSBmb3IgdW5hdHRlbmRlZCBz
|
||||
bmFwc2hvdCBidWlsZHMpIDxwZ3BzaWduLXNuYXBzaG90c0BvcGVud3J0Lm9yZz6J
|
||||
AlEEEwEIADsCGwMFCwkIBwIGFQgJCgsCBBYCAwECHgECF4AWIQRUzHQweixtyc5h
|
||||
gmnNhLztYmRx8QUCXTdRjQIZAQAKCRDNhLztYmRx8QgjEACmORm3zSoIX77q3YXg
|
||||
rjLiCaHBCT+2ViyuGbI121jUhy1mJk3+258Jl0YOddLjQovK3mECWOIU8UoucAkK
|
||||
OKRNV5bSCQtlp5sjiw8mUc6NAJ74Ef+SHEV4JYK64JDfQrQU8TuqzWUwTDHhJxhU
|
||||
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
|
||||
94igaYUvzmq0U7NziyphAaEuP2IxF+Y3
|
||||
=hW8R
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
53
keys/8F681580.asc
Normal file
53
keys/8F681580.asc
Normal file
|
@ -0,0 +1,53 @@
|
|||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
mQINBGAxDKABEADFofbu6NlHoSG+2/cp7wuTzp5iaEOWoitN1k7K7htQwJf2OHsa
|
||||
kvSAUJm1XQi/2mz+v67UnDeUY8TpFqjMW6d1h8YU/lH0rMoUV14W51xLrad4SO67
|
||||
cfEWfm4b9LNHO5gbxY3Wzh8RYgaXUdyeTUwjChilaiMmPCp6ES3ZPyjJbI0/NhNJ
|
||||
U/4Yn3/R+8rgdmWAI1CEMmVQzxT2UvS0YlgIxcI17nLGz+EQF3NAQILXSs3vA368
|
||||
scP7LqjMnGFY+FJ7ZztzlQ23agPbNml1Ii0xc0GkQYG2jTRfBYnrm03LvQOw3h6u
|
||||
1odWCVDdEz/9yhUySCq8y8YtRKRze+/mkWRA+88Vb6rn8rGo/BcAil/Foz3m5y+0
|
||||
7to8UDnKYFx0iJwDuBsEu9lkajyFrYSKBQzLuQc+UZ71E/GTBBqhyZqCkXZZmS8p
|
||||
tWBCfPe5DVBZAcCt+jkjcSrx8RjSwxur76T1ChJ7A1TCQR/hwyVOejF1QjRotDkc
|
||||
+z5kSHY3vkIaWaPx6sy53fCqoxSvtglXzXtpco0yNdrT/cgrOzIYcQFiMS1W1WS6
|
||||
UrBWXUa+FWJgT1DVUFNbKwIm/WwEmq+GjCiO+43VVxdLJtAGiooq9t6fcYq4BhyG
|
||||
Pvepdtx/wokxK7m6aqT3jWgp4XMlThcIyFhbpQbgUu1Yol7Ce9JxamHk/wARAQAB
|
||||
tFNPcGVuV3J0IEJ1aWxkIFN5c3RlbSAoUEdQIGtleSBmb3IgMjEuMDIgcmVsZWFz
|
||||
ZSBidWlsZHMpIDxwZ3BzaWduLTIxLjAyQG9wZW53cnQub3JnPokCVAQTAQoAPhYh
|
||||
BGZyBeN5uvNIhjpcZojKWeiPaBWABQJgMQygAhsDBQkDwmcABQsJCAcCBhUKCQgL
|
||||
AgQWAgMBAh4BAheAAAoJEIjKWeiPaBWAUo8P/2gNjI9KMR2gHPIKGcfJHDP2SnUU
|
||||
aBdwOn2xThdO2s6BKp1Tri3tM6cIhfQC3T/16Kp4pjD/XC6oiNnTbsHz0i7Xvjje
|
||||
rTMKoG1RaRB0habJL3E/ENPS3glPp5t7wZfLbMOkSbDbvw6oNI1p2D4N4Q1nydn4
|
||||
f14eRnn2s0tuJ2hR2P9n7qIKtnIa+E3MoVLR9v7zzWWfezyDR/PMd+UgyeSwl5z6
|
||||
sAwv1wwtH8vDNEZrqfwRn6HeeSeFXxwUaXhO18teD/fEYCvprITX5f3cY05OZPDE
|
||||
Huoy9KAHSvsn+pfqCrPnXG0kGoT8bjEPN3EbRddaVPnSzz0DJjc5AW9wa5EdCkSg
|
||||
umrBeHQYbcqyShpcjsMMzs2KezK29ptv/E9lh1wxtUmJ7kIhCpryPpcKB5PjuOWn
|
||||
iRbNML//Oea7btX0mT6MGmbMP5A4hywWUa8hSPa/1Gub0j1ixvT9a7vf1jZDrgDH
|
||||
dMpgWJCzWx/NFtg+yoaFVscnq+ULzWmGjyrZ8Oe1+2E+ytwqJleh0WXLMOEKjzR4
|
||||
ZobE9qwYdrfL1n0BOqvQqLiYEM4pAyNGRxCvnNBmQD00iN4zbYqPWiAbUTBvuhrb
|
||||
iASt9kwk/3zW6p1acAHDmQZTN40OWZum0cssPr340z8Q7WFZ2LBIMqWkwNa5x3Oi
|
||||
d4lvvwxgcNDv+KOMuQINBGAxDKABEADSQdK7L30Gz4cj76S7yDRx/HMljPRwdwoD
|
||||
pcH74WdZLzaM0cagzCXmuEfQmRgJmmG0edyL7sSL+II+wlFmU6TYnt9lM3kLmIGm
|
||||
Rl66SJVMAk0nKTX2bFnU8KP8yJC0mcfvJy57Dr999V7TXnKzTEIsFQRn93fkwp4u
|
||||
1bs/yMCsbF558TRAErfXYUDbw+sj4yZ5eV2B4eFWN2/g6BwFDxHoo3DdAc6Exg+7
|
||||
XodLEEpMElM0qXPL4wWoPbCwYZ/CDGLRYPRGXwURCRQ6ZOY++ia6QqbL7JmDXHPa
|
||||
zhcB0GIIH8r/O3wFUifLczif13+hP1L6AoWchp9M0iTwCjGqouvG68JBGUuaPhvv
|
||||
TwQ2949SDT8awDVKFEi4GlgGYOR3knKTqvNm9mtw32cWWBGjOorN1dRTqkgmoXle
|
||||
4GsHBncEjZjamaK7X9h+YA1F43WnsMuRuuS3Y6oysbClBxZgPwDvJJP3EFiIh1Hc
|
||||
T4r/G9G0FjrQHVcQl8QWk40QheS3pWd4L9VK1ijNS9Cew+d/X6OgHakESGt5weNK
|
||||
wtA/uHqcsSaeJIL2Ok2e3C7JTXNFf+XQs0SVFaswuryEiZ/t0LG8rEZY31ZAS/wK
|
||||
Xd4SW45SVXJMtybqxQuFrYTeFl0hxd5qfALVf6CiLh5uI9aJf4XBn7wD86yBHkfn
|
||||
BIACpWweawARAQABiQI8BBgBCgAmFiEEZnIF43m680iGOlxmiMpZ6I9oFYAFAmAx
|
||||
DKACGwwFCQPCZwAACgkQiMpZ6I9oFYAY6RAAwpS+42+jC8v8hHuORjaInQ7zC9RD
|
||||
VXc3c6jJRqGvyX5xww4tOurfxN88kEwWfsHXNHSUSDF6CjjNitLqSkyR351fdFby
|
||||
kiKE11Cg1VPaeLsAaSFLDpxZmhVGufqs0VJEdJAtHJUOGcC62mWA4ZuKiT3jVLrc
|
||||
EJfBSYtoqrqk2kDP4G69fD84MP2pDThq4buCTDCoQqZXh2GQJRg7C0K7u7jY9Fao
|
||||
ji73VQrf+ds3MQwA7UoXqG9tEBL+XAM7MbkphzyMFMetTGSsKHyVtNMJZsowzkrv
|
||||
JxmKm0cDgEYeZpcSqVZygWtAAVUwzsx7GEVqeGoe1+wsm8YD+HsMAzbc7cDHGLSc
|
||||
Hqx2nXsh9NWwfVB7nWsZ7QcNdkGsTLjhZk8v8+a6yIuq/yNTPexGskZft/00SI9k
|
||||
zPHO196lTeCnkdDFgbkUprhMgOi70FOw4xhhZiIa3I8150ZkoZ19fIAV/bf2RCMX
|
||||
1xQSgKFYnfb9gtP93Bz342u/P9dNy64aZxRg+Qtg2PTIMIozAIsfhEMqvAFM+I1/
|
||||
nEzqqHE3tQzZhD0y2NWVeEbJ5MBJkK0sKYJtXW9Muw3acPS1XIQ92MmjO00mFIoT
|
||||
9PrMw4utdbCUDzqpOhViiv/rCMsTJe6MnchlDACRnliv2eQuevfzRfWtfIweGfoJ
|
||||
DAT8f8syxL8GNRw=
|
||||
=Odut
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
65
keys/ADB3684D.asc
Normal file
65
keys/ADB3684D.asc
Normal file
|
@ -0,0 +1,65 @@
|
|||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
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
|
||||
pnfnQw==
|
||||
=TMB4
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
16
keys/Makefile
Normal file
16
keys/Makefile
Normal file
|
@ -0,0 +1,16 @@
|
|||
trustedkeys.kbx: FORCE
|
||||
cat *.asc | \
|
||||
gpg --no-default-keyring --no-options --trust-model=always \
|
||||
--keyring ${PWD}/trustedkeys.kbx \
|
||||
--import -
|
||||
|
||||
list:
|
||||
gpg --no-default-keyring --trust-model=always \
|
||||
--keyring ${PWD}/trustedkeys.kbx \
|
||||
--list-keys
|
||||
|
||||
clean:
|
||||
rm trustedkeys.kbx
|
||||
|
||||
FORCE:
|
||||
.PHONY: clean
|
BIN
keys/trustedkeys.kbx
Normal file
BIN
keys/trustedkeys.kbx
Normal file
Binary file not shown.
|
@ -1,59 +0,0 @@
|
|||
# sozial.asozial install guide
|
||||
|
||||
Sozial.asozial is a FW8888 (Intel Atom x86) machine with 6 network interfaces,
|
||||
eth0 throu eth5 where eth5 is a fiber slot so we're not going to use it for now.
|
||||
|
||||
## Port-eth mapping
|
||||
|
||||
Just works in OpenWRT! They sort the ethX names by MAC like they should :)
|
||||
|
||||
eth0: Port 1
|
||||
eth1: Port 2
|
||||
eth2: Port 3
|
||||
eth3: Port 4
|
||||
eth4: Port 5
|
||||
|
||||
If in doubt:
|
||||
|
||||
$ ethtool -p ethX
|
||||
|
||||
This will blink the status leds on ethX so you can identify it visually.
|
||||
|
||||
## Port Function Assignment
|
||||
|
||||
eth0: Broken causes timeouts and adapter resets occationally
|
||||
eth1: Broken --''--
|
||||
eth2: --free--
|
||||
eth3: Uplink SW0, Freifunk
|
||||
eth3.2: AP Management Plane VLAN (APCTL)
|
||||
eth4: --free--
|
||||
|
||||
## Installed stuff
|
||||
|
||||
- kmod-usb-hid
|
||||
Absolutely essential. No keyboard for VGA console otherwise!
|
||||
|
||||
- collectd - 5.4.2-1
|
||||
Statistics collection from APs.
|
||||
|
||||
- collectd-mod-interface - 5.4.2-1
|
||||
- collectd-mod-iptables - 5.4.2-1
|
||||
- collectd-mod-iwinfo - 5.4.2-1
|
||||
- collectd-mod-load - 5.4.2-1
|
||||
- collectd-mod-network - 5.4.2-1
|
||||
- collectd-mod-ping - 5.4.2-1
|
||||
- collectd-mod-rrdtool - 5.4.2-1
|
||||
- collectd-mod-wireless
|
||||
|
||||
- sqm-scripts - 1.0.3-1
|
||||
For rate limiting and (de)bufferbloat optimization on WAN
|
||||
|
||||
- ip-full - 4.0.0-1
|
||||
It's just nice to have.
|
||||
|
||||
- tcpdump
|
||||
Well you know.
|
||||
|
||||
To install use `opkg update && opkg install <package-name>`. You need to run
|
||||
`opkg update` since openwrt stores package lists in RAM so by the time you need
|
||||
them they're likely not there.
|
|
@ -1,32 +0,0 @@
|
|||
Mon Mar 14 23:00:55 2016 kern.warn kernel: [ 814.010035] ------------[ cut here ]------------
|
||||
Mon Mar 14 23:00:55 2016 kern.warn kernel: [ 814.032627] WARNING: CPU: 0 PID: 0 at net/sched/sch_generic.c:303 0xc138576b()
|
||||
Mon Mar 14 23:00:55 2016 kern.info kernel: [ 814.063157] NETDEV WATCHDOG: eth0 (e1000): transmit queue 0 timed out
|
||||
Mon Mar 14 23:00:55 2016 kern.warn kernel: [ 814.091381] Modules linked in: pppoe ppp_async iptable_nat pppox ppp_generic nf_nat_ipv6 nf_nat_ipv4 nf_conntrack_ipv6 nf_conntrack_ipv4 ipt_REJECT ipt_MASQUERADE xt_time xt_tcpudp xt_state xt_nat xt_multiport xt_mark xt_mac xt_limit xt_id xt_conntrack xt_comment xt_TCPMSS xt_REDIRECT xt_LOG xt_CT via_velocity via_rhine usbhid slhc sis900 r8169 pcnet32 nf_reject_ipv4 nf_nat_masquerade_ipv4 nf_nat_ftp nf_nat nf_log_ipv4 nf_defrag_ipv6 nf_defrag_ipv4 nf_conntrackMon Mar 14 23:00:55 2016 kern.warn kernel: [ 814.464766] CPU: 0 PID: 0 Comm: swapper Not tainted 3.18.20 #1
|
||||
Mon Mar 14 23:00:55 2016 kern.warn kernel: [ 814.492993] Hardware name: PhoenixAward 945GSE/945GSE, BIOS 6.00 PG 08/25/2009
|
||||
Mon Mar 14 23:00:55 2016 kern.warn kernel: [ 814.525431] c140194e c1030133 c14d7964 df40bf54 00000000 c14d54de 0000012f c138576b
|
||||
Mon Mar 14 23:00:55 2016 kern.warn kernel: [ 814.559901] 00000009 df5cc000 df680780 ffff392b ffffff32 c1030183 00000009 df40bf3c
|
||||
Mon Mar 14 23:00:55 2016 kern.warn kernel: [ 814.594465] c14d7964 df40bf54 c138576b c14d54de 0000012f c14d7964 df5cc000 e08de401
|
||||
Mon Mar 14 23:00:55 2016 kern.warn kernel: [ 814.628997] Call Trace:
|
||||
Mon Mar 14 23:00:55 2016 kern.warn kernel: [ 814.647116] [<c140194e>] ? 0xc140194e
|
||||
Mon Mar 14 23:00:55 2016 kern.warn kernel: [ 814.669092] [<c1030133>] ? 0xc1030133
|
||||
Mon Mar 14 23:00:55 2016 kern.warn kernel: [ 814.690998] [<c138576b>] ? 0xc138576b
|
||||
Mon Mar 14 23:00:55 2016 kern.warn kernel: [ 814.712747] [<c1030183>] ? 0xc1030183
|
||||
Mon Mar 14 23:00:55 2016 kern.warn kernel: [ 814.734379] [<c138576b>] ? 0xc138576b
|
||||
Mon Mar 14 23:00:55 2016 kern.warn kernel: [ 814.755921] [<c1385660>] ? 0xc1385660
|
||||
Mon Mar 14 23:00:55 2016 kern.warn kernel: [ 814.777369] [<c1053d41>] ? 0xc1053d41
|
||||
Mon Mar 14 23:00:55 2016 kern.warn kernel: [ 814.798769] [<e0de69d7>] ? 0xe0de69d7 [e1000e@e0dd0000+0x1dce4]
|
||||
Mon Mar 14 23:00:55 2016 kern.warn kernel: [ 814.827004] [<c1053f4e>] ? 0xc1053f4e
|
||||
Mon Mar 14 23:00:55 2016 kern.warn kernel: [ 814.848381] [<c1031ef5>] ? 0xc1031ef5
|
||||
Mon Mar 14 23:00:55 2016 kern.warn kernel: [ 814.869588] [<c1031e60>] ? 0xc1031e60
|
||||
Mon Mar 14 23:00:55 2016 kern.warn kernel: [ 814.890599] [<c10033f9>] ? 0xc10033f9
|
||||
Mon Mar 14 23:00:55 2016 kern.warn kernel: [ 814.911499] <IRQ> [<c103214e>] ? 0xc103214e
|
||||
Mon Mar 14 23:00:55 2016 kern.warn kernel: [ 814.934411] [<c100322d>] ? 0xc100322d
|
||||
Mon Mar 14 23:00:55 2016 kern.warn kernel: [ 814.955361] [<c1058417>] ? 0xc1058417
|
||||
Mon Mar 14 23:00:55 2016 kern.warn kernel: [ 814.976194] [<c1405b69>] ? 0xc1405b69
|
||||
Mon Mar 14 23:00:55 2016 kern.warn kernel: [ 814.996993] [<c1050000>] ? 0xc1050000
|
||||
Mon Mar 14 23:00:55 2016 kern.warn kernel: [ 815.017673] [<c134044d>] ? 0xc134044d
|
||||
Mon Mar 14 23:00:55 2016 kern.warn kernel: [ 815.038232] [<c104a595>] ? 0xc104a595
|
||||
Mon Mar 14 23:00:55 2016 kern.warn kernel: [ 815.058685] [<c1547a87>] ? 0xc1547a87
|
||||
Mon Mar 14 23:00:55 2016 kern.warn kernel: [ 815.079028] [<c1547560>] ? 0xc1547560
|
||||
Mon Mar 14 23:00:55 2016 kern.warn kernel: [ 815.099175] ---[ end trace d228a7100660f086 ]---
|
||||
Mon Mar 14 23:00:55 2016 kern.err kernel: [ 815.128211] e1000 0000:05:0a.0 eth0: Reset adapter
|
|
@ -1,66 +0,0 @@
|
|||
\documentclass{article}
|
||||
|
||||
\usepackage{bbold}
|
||||
\usepackage{commath}
|
||||
|
||||
\begin{document}
|
||||
|
||||
\section{VLAN Introduction}
|
||||
|
||||
For those unfamilliar with the concept of a VLAN (Virtual LAN) here is a shot
|
||||
formal specification of what such a thing does.
|
||||
|
||||
A Switch is a 8-tuple \( \mathcal{S} = (\mathbb{A}, \mathbb{P}, \mathbb{V}, t, v, a, \beta, \epsilon) \)
|
||||
consisting of
|
||||
\begin{itemize}
|
||||
\item a finite set of (MAC) addresses \(\mathbb{A}\),
|
||||
\item a finite set of physical ports \(\mathbb{P}\),
|
||||
\item a finite set of VLANs \(\mathbb{V}\),
|
||||
\item a mapping from physical ports and VLANs to two distinct symbols pronounced
|
||||
``tagged'' and ``untagged'' repectively
|
||||
\( t : \mathbb{P} \times \mathbb{V} \rightarrow \{ \tau, \upsilon \} \),
|
||||
\item a mapping from physical ports and VLANs to VLANs (Port PVID)
|
||||
\( v : \mathbb{P} \times \mathbb{V} \rightarrow \mathbb{V} \)
|
||||
with \(v(p, q) \mapsto q\) when \(q \neq \epsilon\),
|
||||
\item a mapping from addresses and VLANs to physical ports (ARP Table)
|
||||
\( a : \mathbb{A} \times \mathbb{V} \rightarrow \mathbb{P} \) and
|
||||
\item the broadcast address \(\beta \in \mathbb{A}\)
|
||||
\item the empty VLAN tag \(\epsilon \in \mathbb{V}\)
|
||||
\end{itemize}
|
||||
|
||||
A Frame processed by a Switch \(\mathcal{S}\)
|
||||
is a tuple \( \mathcal{F}_\mathcal{S} = (d, q) \)
|
||||
consisting of a destination address \(d \in \mathbb{A} \) and a VLAN tag \( q \in \mathbb{V} \).
|
||||
|
||||
When a Frame \( \mathcal{F}_\mathcal{S}' = (d, q') \)
|
||||
enters a port \( p \in \mathbb{P}\)
|
||||
the Switch first ensures the Packet has a VLAN tag for internal processing
|
||||
assigned by creating a new Frame \( \mathcal{F}_\mathcal{S} = (d, q)\) with \(q = v(p, q')\).
|
||||
|
||||
\subsection{Broadcast processing}
|
||||
|
||||
When the Frame's destination address \( d = \beta \)
|
||||
the Switch creates a new Frame for each port
|
||||
\( p \in \{\, p \mid t(p, \_) \,\} \)
|
||||
in the following manner:
|
||||
|
||||
\begin{equation}\label{eq:egress}
|
||||
\mathcal{F}_{\mathcal{S}, p}^{e} =
|
||||
\left\{
|
||||
\begin{array}{ll}
|
||||
(d,q) & \mbox{if } t(p, q) = \tau \\
|
||||
(d, \epsilon) & \mbox{if } t(p, q) = \upsilon\\
|
||||
\end{array}
|
||||
\right.
|
||||
\end{equation}
|
||||
|
||||
|
||||
\( \mathcal{F}_{\mathcal{S}, p}^{e} \)
|
||||
is then transmitted out port \(p\) and processing of this Frame is complete.
|
||||
|
||||
\subsection{Unicast processing}
|
||||
|
||||
When the Frame's destination address \(d\) is not the broadcast address the Switch first determines the egress port \(p = a(d, q)\). Then a new Frame is created as in equation \ref{eq:egress}. \( \mathcal{F}_{\mathcal{S}, p}^{e} \)
|
||||
is then transmitted out port \(p\) and processing of this Frame is complete.
|
||||
|
||||
\end{document}
|
Loading…
Reference in a new issue