RAMFS_COPY_BIN='fw_printenv fw_setenv'
RAMFS_COPY_DATA='/etc/fw_env.config /var/lock/fw_printenv.lock'
-redboot_fis_do_upgrade() {
- local append
- local sysup_file="$1"
- local kern_part="$2"
- local magic=$(get_magic_word "$sysup_file")
-
- if [ "$magic" = "7379" ]; then
- local board_dir=$(tar tf $sysup_file | grep -m 1 '^sysupgrade-.*/$')
-
- [ -f "$UPGRADE_BACKUP" ] && append="-j $UPGRADE_BACKUP"
-
- if grep -q "mtd1.*loader" /proc/mtd; then
- tar xf $sysup_file ${board_dir}kernel ${board_dir}root -O | \
- mtd -r $append write - loader:firmware
-
- else
- local kern_length=$(tar xf $sysup_file ${board_dir}kernel -O | wc -c)
-
- tar xf $sysup_file ${board_dir}kernel ${board_dir}root -O | \
- mtd -r $append -F$kern_part:$kern_length:0x80060000,rootfs write - $kern_part:rootfs
- fi
- else
- echo "Unknown image, aborting!"
- return 1
- fi
-}
-
platform_check_image() {
- return 0
+ local board=$(board_name)
+
+ case "$board" in
+ jjplus,ja76pf2|\
+ ubnt,routerstation|\
+ ubnt,routerstation-pro)
+ platform_check_image_redboot_fis "$1"
+ ;;
+ *)
+ return 0
+ ;;
+ esac
}
platform_do_upgrade() {
case "$board" in
adtran,bsap1800-v2|\
adtran,bsap1840)
- redboot_fis_do_upgrade "$1" vmlinux_2
+ platform_do_upgrade_redboot_fis "$1" vmlinux_2
;;
allnet,all-wap02860ac|\
araknis,an-300-ap-i-n|\
platform_do_upgrade_failsafe_datachk "$1"
;;
jjplus,ja76pf2)
- redboot_fis_do_upgrade "$1" linux
+ platform_do_upgrade_redboot_fis "$1" linux
;;
openmesh,a40|\
openmesh,a60|\
;;
ubnt,routerstation|\
ubnt,routerstation-pro)
- redboot_fis_do_upgrade "$1" kernel
+ platform_do_upgrade_redboot_fis "$1" kernel
;;
*)
default_do_upgrade "$1"
--- /dev/null
+platform_check_image_redboot_fis() {
+ if [ "$(get_magic_word "$1")" != "7379" ]; then
+ v "Unknown image format, aborting!"
+ return 1
+ else
+ return 0
+ fi
+}
+
+platform_do_upgrade_redboot_fis() {
+ local append
+ local sysup_file="$1"
+ local kern_part="$2"
+
+ if [ "$(get_magic_word "$sysup_file")" = "7379" ]; then
+ local board_dir=$(tar tf $sysup_file | grep -m 1 '^sysupgrade-.*/$')
+
+ [ -f "$UPGRADE_BACKUP" ] && append="-j $UPGRADE_BACKUP"
+
+ if grep -q "mtd1.*loader" /proc/mtd; then
+ tar xf $sysup_file ${board_dir}kernel ${board_dir}root -O | \
+ mtd -r $append write - loader:firmware
+
+ else
+ local kern_length=$(tar xf $sysup_file ${board_dir}kernel -O | wc -c)
+
+ tar xf $sysup_file ${board_dir}kernel ${board_dir}root -O | \
+ mtd -r $append -F$kern_part:$kern_length:0x80060000,rootfs write - $kern_part:rootfs
+ fi
+ fi
+}