Browse Source

avalonhost-raminst script to help with installing to RAM on Avalon-host routers

Luke Dashjr 12 years ago
parent
commit
c6896d71b0
1 changed files with 49 additions and 0 deletions
  1. 49 0
      avalonhost-raminst

+ 49 - 0
avalonhost-raminst

@@ -0,0 +1,49 @@
+#!/bin/sh
+# Copyright 2013 Luke Dashjr
+#
+# This program is free software; you can redistribute it and/or modify it under
+# the terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 3 of the License, or (at your option) any later
+# version.  See COPYING for more details.
+
+set -e
+if test "$#" -lt 2; then
+	echo "Usage: $0 <bfgminer-version> <temporary-packages...>"
+	echo "Example: $0 testing bfgminer screen"
+	echo "Installs <temporary-packages> to RAM, on an Avalon-host router"
+	echo "Version can be 'stable', 'testing', or any 3-digit version; eg '3.1.0'"
+	echo "Do NOT attempt to reverse (uninstall) except by rebooting"
+	echo "Do NOT attempt to use this script more than once per boot"
+	exit 1
+fi
+die() {
+	echo "$@"
+	echo 'ABORTING'
+	exit 1
+}
+if ! grep TL-WR703N /proc/cpuinfo; then
+	die 'This doesn'\''t seem to be an Avalon host system'
+fi
+if test "$USER" != "root"; then
+	die "Must be run as root"
+fi
+echo "WARNING: If anything fails other than opkg and crontab, reboot ASAP"
+source /lib/functions.sh
+mkdir -p /tmp/root/.oldroot
+mount -o noatime,lowerdir=/rom,upperdir=/tmp/root -t overlayfs "overlayfs:/tmp/root" /mnt
+pivot /mnt /.oldroot
+mount -o noatime,move /.oldroot/rom /rom
+sed -i 's/\(^option[[:space:]]\+overlay_root[[:space:]]\+\).*//;T;d' /etc/opkg.conf
+{
+	echo 'option overlay_root /'
+	echo "src/gz bfgminer http://luke.dashjr.org/programs/bitcoin/files/bfgminer/$1/openwrt/12.09/ar71xx"
+} >> /etc/opkg.conf
+shift
+set +e
+opkg update
+opkg install "$@"
+crontab -r  # disabled cgminer-monitor
+set -e
+mount -o noatime,lowerdir=/,upperdir=/overlay -t overlayfs "overlayfs:/overlay" /mnt
+pivot /mnt /.oldroot
+mount -o noatime,move /.oldroot/rom /rom