1
0
Fork 0
mirror of https://github.com/Ysurac/openmptcprouter.git synced 2025-03-09 15:40:20 +00:00
This commit is contained in:
suyuan168 2022-06-23 10:40:08 +08:00
parent 45aa78d8bd
commit 2f1f5669da
2 changed files with 85 additions and 4 deletions

View file

View file

@ -6,8 +6,8 @@ RAMFS_COPY_DATA='/etc/fw_env.config /var/lock/fw_printenv.lock'
platform_check_image() { platform_check_image() {
case "$(board_name)" in case "$(board_name)" in
asus,rt-ac42u |\
asus,rt-ac58u) asus,rt-ac58u)
CI_UBIPART="UBI_DEV"
local ubidev=$(nand_find_ubi $CI_UBIPART) local ubidev=$(nand_find_ubi $CI_UBIPART)
local asus_root=$(nand_find_volume $ubidev jffs2) local asus_root=$(nand_find_volume $ubidev jffs2)
@ -21,6 +21,32 @@ to install the filesystem.
You need to delete the jffs2 partition first: You need to delete the jffs2 partition first:
# ubirmvol /dev/ubi0 --name=jffs2 # ubirmvol /dev/ubi0 --name=jffs2
Once this is done. Retry.
EOF
return 1
;;
teltonika,rutx)
platform_check_image_ipq "$1"
;;
zte,mf286d)
CI_UBIPART="rootfs"
local mtdnum="$( find_mtd_index $CI_UBIPART )"
[ ! "$mtdnum" ] && return 1
ubiattach -m "$mtdnum" || true
local ubidev="$( nand_find_ubi $CI_UBIPART )"
local ubi_rootfs=$(nand_find_volume $ubidev ubi_rootfs)
local ubi_rootfs_data=$(nand_find_volume $ubidev ubi_rootfs_data)
[ -n "$ubi_rootfs" ] || [ -n "$ubi_rootfs_data" ] || return 0
cat << EOF
ubi_rootfs partition is still present.
You need to delete the stock partition first:
# ubirmvol /dev/ubi0 -N ubi_rootfs
Please also delete ubi_rootfs_data, if exist:
# ubirmvol /dev/ubi0 -N ubi_rootfs_data
Once this is done. Retry. Once this is done. Retry.
EOF EOF
return 1 return 1
@ -55,13 +81,29 @@ zyxel_do_upgrade() {
fi fi
} }
platform_do_upgrade_mikrotik_nand() {
local fw_mtd=$(find_mtd_part kernel)
fw_mtd="${fw_mtd/block/}"
[ -n "$fw_mtd" ] || return
local board_dir=$(tar tf "$1" | grep -m 1 '^sysupgrade-.*/$')
board_dir=${board_dir%/}
[ -n "$board_dir" ] || return
local kernel_len=$(tar xf "$1" ${board_dir}/kernel -O | wc -c)
[ -n "$kernel_len" ] || return
tar xf "$1" ${board_dir}/kernel -O | ubiformat "$fw_mtd" -y -S $kernel_len -f -
CI_KERNPART="none"
nand_do_upgrade "$1"
}
platform_do_upgrade() { platform_do_upgrade() {
case "$(board_name)" in case "$(board_name)" in
8dev,jalapeno |\ 8dev,jalapeno |\
aruba,ap-303 |\ aruba,ap-303 |\
aruba,ap-303h |\ aruba,ap-303h |\
pangu,l1000 |\
zbt,z4019 |\
aruba,ap-365 |\ aruba,ap-365 |\
avm,fritzbox-7530 |\ avm,fritzbox-7530 |\
avm,fritzrepeater-1200 |\ avm,fritzrepeater-1200 |\
@ -74,9 +116,18 @@ platform_do_upgrade() {
glinet,gl-ap1300 |\ glinet,gl-ap1300 |\
luma,wrtq-329acn |\ luma,wrtq-329acn |\
mobipromo,cm520-79f |\ mobipromo,cm520-79f |\
netgear,wac510 |\
p2w,r619ac-64m |\
p2w,r619ac-128m |\
qxwlan,e2600ac-c2) qxwlan,e2600ac-c2)
nand_do_upgrade "$1" nand_do_upgrade "$1"
;; ;;
glinet,gl-b2200)
CI_KERNPART="0:HLOS"
CI_ROOTPART="rootfs"
CI_DATAPART="rootfs_data"
emmc_do_upgrade "$1"
;;
alfa-network,ap120c-ac) alfa-network,ap120c-ac)
part="$(awk -F 'ubi.mtd=' '{printf $2}' /proc/cmdline | sed -e 's/ .*$//')" part="$(awk -F 'ubi.mtd=' '{printf $2}' /proc/cmdline | sed -e 's/ .*$//')"
if [ "$part" = "rootfs1" ]; then if [ "$part" = "rootfs1" ]; then
@ -92,8 +143,8 @@ platform_do_upgrade() {
CI_KERNPART="linux" CI_KERNPART="linux"
nand_do_upgrade "$1" nand_do_upgrade "$1"
;; ;;
asus,rt-ac42u |\
asus,rt-ac58u) asus,rt-ac58u)
CI_UBIPART="UBI_DEV"
CI_KERNPART="linux" CI_KERNPART="linux"
nand_do_upgrade "$1" nand_do_upgrade "$1"
;; ;;
@ -113,11 +164,22 @@ platform_do_upgrade() {
CI_KERNPART="part.safe" CI_KERNPART="part.safe"
nand_do_upgrade "$1" nand_do_upgrade "$1"
;; ;;
mikrotik,cap-ac|\
mikrotik,hap-ac2|\ mikrotik,hap-ac2|\
mikrotik,lhgg-60ad|\
mikrotik,sxtsq-5-ac) mikrotik,sxtsq-5-ac)
[ "$(rootfs_type)" = "tmpfs" ] && mtd erase firmware [ "$(rootfs_type)" = "tmpfs" ] && mtd erase firmware
default_do_upgrade "$1" default_do_upgrade "$1"
;; ;;
mikrotik,hap-ac3)
platform_do_upgrade_mikrotik_nand "$1"
;;
netgear,rbr50 |\
netgear,rbs50 |\
netgear,srr60 |\
netgear,srs60)
platform_do_upgrade_netgear_orbi_upgrade "$1"
;;
openmesh,a42 |\ openmesh,a42 |\
openmesh,a62 |\ openmesh,a62 |\
plasmacloud,pa1200 |\ plasmacloud,pa1200 |\
@ -125,6 +187,13 @@ platform_do_upgrade() {
PART_NAME="inactive" PART_NAME="inactive"
platform_do_upgrade_dualboot_datachk "$1" platform_do_upgrade_dualboot_datachk "$1"
;; ;;
teltonika,rutx)
platform_do_upgrade_ipq "$1"
;;
zte,mf286d)
CI_UBIPART="rootfs"
nand_do_upgrade "$1"
;;
zyxel,nbg6617) zyxel,nbg6617)
zyxel_do_upgrade "$1" zyxel_do_upgrade "$1"
;; ;;
@ -133,3 +202,15 @@ platform_do_upgrade() {
;; ;;
esac esac
} }
platform_copy_config() {
case "$(board_name)" in
glinet,gl-b2200)
emmc_copy_config
;;
teltonika,rutx)
platform_copy_config_ipq
;;
esac
return 0;
}