aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ar71xx/base-files/lib
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@nbd.name>2017-01-08 14:27:38 +0100
committerFelix Fietkau <nbd@nbd.name>2017-01-16 20:40:12 +0100
commit9db9072d6767e5910e01b8962171c89359ab7a14 (patch)
treec4a15bf6709870dac99d2faa3f34adfe66f0398f /target/linux/ar71xx/base-files/lib
parent0e547400fbcc4b6610d3b810f123d4963f9b2ea7 (diff)
downloadupstream-9db9072d6767e5910e01b8962171c89359ab7a14.tar.gz
upstream-9db9072d6767e5910e01b8962171c89359ab7a14.tar.bz2
upstream-9db9072d6767e5910e01b8962171c89359ab7a14.zip
ar71xx: convert mikrotik routerboard support to UBI
Remove the wget2nand script, drop the need for manual installation, use sysupgrade instead. There are now two different NAND images, one for 64 MiB flashes, the other for >= 128 MiB Signed-off-by: Felix Fietkau <nbd@nbd.name>
Diffstat (limited to 'target/linux/ar71xx/base-files/lib')
-rwxr-xr-xtarget/linux/ar71xx/base-files/lib/upgrade/platform.sh30
1 files changed, 30 insertions, 0 deletions
diff --git a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
index 6341a31791..82ed041d66 100755
--- a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
+++ b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
@@ -7,6 +7,7 @@
PART_NAME=firmware
RAMFS_COPY_DATA=/lib/ar71xx.sh
+[ -x /usr/sbin/nandwrite ] && RAMFS_COPY_BIN=/usr/sbin/nandwrite
CI_BLKSZ=65536
CI_LDADR=0x80060000
@@ -164,6 +165,15 @@ alfa_check_image() {
return 0
}
+platform_nand_board_name() {
+ local board=$(ar71xx_board_name)
+
+ case "$board" in
+ rb*) echo "routerboard";;
+ *) echo "$board";;
+ esac
+}
+
platform_check_image() {
local board=$(ar71xx_board_name)
local magic="$(get_magic_word "$1")"
@@ -443,6 +453,10 @@ platform_check_image() {
tew-673gru)
dir825b_check_image "$1" && return 0
;;
+ rb*)
+ nand_do_platform_check routerboard $1
+ return $?
+ ;;
c-60|\
nbg6716|\
r6100|\
@@ -570,6 +584,7 @@ platform_pre_upgrade() {
local board=$(ar71xx_board_name)
case "$board" in
+ rb*|\
c-60|\
nbg6716|\
r6100|\
@@ -584,6 +599,21 @@ platform_pre_upgrade() {
esac
}
+platform_nand_pre_upgrade() {
+ local board=$(ar71xx_board_name)
+
+ case "$board" in
+ rb*)
+ CI_KERNPART=none
+ local fw_mtd=$(find_mtd_part kernel)
+ fw_mtd="${fw_mtd/block/}"
+ [ -n "$fw_mtd" ] || return
+ mtd erase kernel
+ tar xf "$1" sysupgrade-routerboard/kernel -O | nandwrite -o "$fw_mtd" -
+ ;;
+ esac
+}
+
platform_do_upgrade() {
local board=$(ar71xx_board_name)