mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-27 17:18:59 +00:00
56b8ac1e86
Set the (sys)upgrade state when sourcing the stage2 script instead of setting the state for each target individual. This change fixes the, due to a missing state set, not working upgrade led on ath79 and apm821xx. Signed-off-by: Mathias Kresin <dev@kresin.me>
86 lines
1.6 KiB
Bash
86 lines
1.6 KiB
Bash
PART_NAME=firmware
|
|
REQUIRE_IMAGE_METADATA=1
|
|
|
|
RAMFS_COPY_BIN='fw_printenv fw_setenv'
|
|
RAMFS_COPY_DATA='/etc/fw_env.config /var/lock/fw_printenv.lock'
|
|
|
|
platform_check_image() {
|
|
case "$(board_name)" in
|
|
asus,rt-ac58u)
|
|
CI_UBIPART="UBI_DEV"
|
|
local ubidev=$(nand_find_ubi $CI_UBIPART)
|
|
local asus_root=$(nand_find_volume $ubidev jffs2)
|
|
|
|
[ -n "$asus_root" ] || return 0
|
|
|
|
cat << EOF
|
|
jffs2 partition is still present.
|
|
There's probably no space left
|
|
to install the filesystem.
|
|
|
|
You need to delete the jffs2 partition first:
|
|
# ubirmvol /dev/ubi0 --name=jffs2
|
|
|
|
Once this is done. Retry.
|
|
EOF
|
|
return 1
|
|
;;
|
|
esac
|
|
return 0;
|
|
}
|
|
|
|
zyxel_do_upgrade() {
|
|
local tar_file="$1"
|
|
|
|
local board_dir=$(tar tf $tar_file | grep -m 1 '^sysupgrade-.*/$')
|
|
board_dir=${board_dir%/}
|
|
|
|
tar Oxf $tar_file ${board_dir}/kernel | mtd write - kernel
|
|
|
|
if [ "$SAVE_CONFIG" -eq 1 ]; then
|
|
tar Oxf $tar_file ${board_dir}/root | mtd -j "$CONF_TAR" write - rootfs
|
|
else
|
|
tar Oxf $tar_file ${board_dir}/root | mtd write - rootfs
|
|
fi
|
|
}
|
|
|
|
platform_do_upgrade() {
|
|
case "$(board_name)" in
|
|
8dev,jalapeno)
|
|
nand_do_upgrade "$ARGV"
|
|
;;
|
|
asus,rt-ac58u)
|
|
CI_UBIPART="UBI_DEV"
|
|
CI_KERNPART="linux"
|
|
nand_do_upgrade "$1"
|
|
;;
|
|
openmesh,a42 |\
|
|
openmesh,a62)
|
|
PART_NAME="inactive"
|
|
platform_do_upgrade_openmesh "$ARGV"
|
|
;;
|
|
meraki,mr33)
|
|
CI_KERNPART="part.safe"
|
|
nand_do_upgrade "$1"
|
|
;;
|
|
zyxel,nbg6617)
|
|
zyxel_do_upgrade "$1"
|
|
;;
|
|
*)
|
|
default_do_upgrade "$ARGV"
|
|
;;
|
|
esac
|
|
}
|
|
|
|
platform_nand_pre_upgrade() {
|
|
case "$(board_name)" in
|
|
asus,rt-ac58u)
|
|
CI_UBIPART="UBI_DEV"
|
|
CI_KERNPART="linux"
|
|
;;
|
|
meraki,mr33)
|
|
CI_KERNPART="part.safe"
|
|
;;
|
|
esac
|
|
}
|