Initial commit
This commit is contained in:
55
target/linux/ath79/base-files/lib/functions/k2t.sh
Executable file
55
target/linux/ath79/base-files/lib/functions/k2t.sh
Executable file
@@ -0,0 +1,55 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Copyright (C) 2018 Weijie Gao <hackpascal@gmail.com>
|
||||
#
|
||||
# Helper function to extract mac addresses from mtd part for Phicomm K2T
|
||||
#
|
||||
|
||||
. /lib/functions.sh
|
||||
. /lib/functions/system.sh
|
||||
. /usr/share/libubox/jshn.sh
|
||||
|
||||
k2t_config_load() {
|
||||
local mtd_blk=$(find_mtd_part config)
|
||||
|
||||
if [ -z "$mtd_blk" ]; then
|
||||
echo "k2t_config_load: no mtd part named config" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
local json_size=$(dd if=$mtd_blk bs=1 count=8 2>/dev/null)
|
||||
|
||||
json_size="0x$json_size"
|
||||
json_size=$((json_size))
|
||||
|
||||
if [ "$?" -ne 0 ]; then
|
||||
echo "k2t_config_load: invalid json data size" >&2
|
||||
exit 2
|
||||
fi
|
||||
|
||||
if [ "$json_size" -eq 0 ]; then
|
||||
echo "k2t_config_load: empty json data" >&2
|
||||
exit 3
|
||||
fi
|
||||
|
||||
local json_data=$(dd if=$mtd_blk bs=1 skip=8 count=$json_size 2>/dev/null)
|
||||
|
||||
json_load "$json_data"
|
||||
}
|
||||
|
||||
k2t_get_mac() {
|
||||
local old_ns
|
||||
|
||||
json_set_namespace "k2t" old_ns
|
||||
|
||||
if k2t_config_load; then
|
||||
json_select "this_dev_info"
|
||||
json_get_var val "$1"
|
||||
json_select ..
|
||||
fi
|
||||
|
||||
json_set_namespace old_ns
|
||||
|
||||
echo $val
|
||||
}
|
||||
|
||||
54
target/linux/ath79/base-files/lib/upgrade/platform.sh
Normal file
54
target/linux/ath79/base-files/lib/upgrade/platform.sh
Normal file
@@ -0,0 +1,54 @@
|
||||
#
|
||||
# Copyright (C) 2011 OpenWrt.org
|
||||
#
|
||||
|
||||
PART_NAME=firmware
|
||||
REQUIRE_IMAGE_METADATA=1
|
||||
|
||||
redboot_fis_do_upgrade() {
|
||||
local append
|
||||
local sysup_file="$1"
|
||||
local kern_part="$2"
|
||||
local magic=$(get_magic_word "$sysup_file")
|
||||
|
||||
if [ "$magic" = "4349" ]; then
|
||||
local kern_length=0x$(dd if="$sysup_file" bs=2 skip=1 count=4 2>/dev/null)
|
||||
|
||||
[ -f "$UPGRADE_BACKUP" ] && append="-j $UPGRADE_BACKUP"
|
||||
dd if="$sysup_file" bs=64k skip=1 2>/dev/null | \
|
||||
mtd -r $append -F$kern_part:$kern_length:0x80060000,rootfs write - $kern_part:rootfs
|
||||
|
||||
elif [ "$magic" = "7379" ]; then
|
||||
local board_dir=$(tar tf $sysup_file | grep -m 1 '^sysupgrade-.*/$')
|
||||
local kern_length=$(tar xf $sysup_file ${board_dir}kernel -O | wc -c)
|
||||
|
||||
[ -f "$UPGRADE_BACKUP" ] && append="-j $UPGRADE_BACKUP"
|
||||
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
|
||||
|
||||
else
|
||||
echo "Unknown image, aborting!"
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
platform_check_image() {
|
||||
return 0
|
||||
}
|
||||
|
||||
platform_do_upgrade() {
|
||||
local board=$(board_name)
|
||||
|
||||
case "$board" in
|
||||
jjplus,ja76pf2)
|
||||
redboot_fis_do_upgrade "$1" linux
|
||||
;;
|
||||
ubnt,routerstation|\
|
||||
ubnt,routerstation-pro)
|
||||
redboot_fis_do_upgrade "$1" kernel
|
||||
;;
|
||||
*)
|
||||
default_do_upgrade "$1"
|
||||
;;
|
||||
esac
|
||||
}
|
||||
Reference in New Issue
Block a user