mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-22 23:12:32 +00:00
57c8708d64
As explained in recent sysupgrade/nand.sh commits, current NAND sysupgrade is a bit misleading because of nand_do_platform_check behavior. It leaves a special mark in /tmp/sysupgrade-nand-path triggering some diffent code path in nand_upgrade_stage1. The plan is to have the check function only check the image and nothing else. Then platform code (platform_pre_upgrade) should trigger NAND specific upgrade path. This is what this patch implements. Please note that because of current nand_upgrade_stage1 implementation this patch doesn't change any behaior yet. It only prepares lantiq target for changing nand_do_platform_check (it will be possible after preparing all other targets as well). Signed-off-by: Rafał Miłecki <zajec5@gmail.com> SVN-Revision: 46939
48 lines
810 B
Bash
Executable File
48 lines
810 B
Bash
Executable File
. /lib/functions/lantiq.sh
|
|
|
|
PART_NAME=firmware
|
|
|
|
platform_check_image() {
|
|
[ "$#" -gt 1 ] && return 1
|
|
local board=$(lantiq_board_name)
|
|
|
|
case "$board" in
|
|
BTHOMEHUBV2B|BTHOMEHUBV3A|BTHOMEHUBV5A|P2812HNUF* )
|
|
nand_do_platform_check $board $1
|
|
return $?;
|
|
;;
|
|
esac
|
|
|
|
case "$(get_magic_word "$1")" in
|
|
# uImage
|
|
2705) return 0;;
|
|
# tplink
|
|
0200) return 0;;
|
|
*)
|
|
echo "Invalid image type"
|
|
return 1
|
|
;;
|
|
esac
|
|
}
|
|
|
|
platform_pre_upgrade() {
|
|
local board=$(lantiq_board_name)
|
|
|
|
case "$board" in
|
|
BTHOMEHUBV2B|BTHOMEHUBV3A|P2812HNUF* )
|
|
nand_do_upgrade $1
|
|
;;
|
|
esac
|
|
}
|
|
|
|
# use default for platform_do_upgrade()
|
|
|
|
disable_watchdog() {
|
|
killall watchdog
|
|
( ps | grep -v 'grep' | grep '/dev/watchdog' ) && {
|
|
echo 'Could not disable watchdog'
|
|
return 1
|
|
}
|
|
}
|
|
append sysupgrade_pre_upgrade disable_watchdog
|