aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ar71xx/base-files/lib/upgrade/openmesh.sh
diff options
context:
space:
mode:
authorAdrian Schmutzler <freifunk@adrianschmutzler.de>2020-08-07 15:25:12 +0200
committerAdrian Schmutzler <freifunk@adrianschmutzler.de>2020-08-30 22:18:35 +0200
commit4e4ee4649553ab536225060a27fc320bf54e458c (patch)
tree711fbf5485f94baec8b708edba00c7250b923872 /target/linux/ar71xx/base-files/lib/upgrade/openmesh.sh
parent47b2ee2d9a9a1790f9bf8a528640c333af39e4ba (diff)
downloadupstream-4e4ee4649553ab536225060a27fc320bf54e458c.tar.gz
upstream-4e4ee4649553ab536225060a27fc320bf54e458c.tar.bz2
upstream-4e4ee4649553ab536225060a27fc320bf54e458c.zip
ar71xx: drop target
This target has been mostly replaced by ath79 and won't be included in the upcoming release anymore. Finally put it to rest. This also removes all references in packages, tools, etc. as well as the uboot-ar71xx and vsc73x5-ucode packages. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Diffstat (limited to 'target/linux/ar71xx/base-files/lib/upgrade/openmesh.sh')
-rw-r--r--target/linux/ar71xx/base-files/lib/upgrade/openmesh.sh232
1 files changed, 0 insertions, 232 deletions
diff --git a/target/linux/ar71xx/base-files/lib/upgrade/openmesh.sh b/target/linux/ar71xx/base-files/lib/upgrade/openmesh.sh
deleted file mode 100644
index f43bdcea7f..0000000000
--- a/target/linux/ar71xx/base-files/lib/upgrade/openmesh.sh
+++ /dev/null
@@ -1,232 +0,0 @@
-# The U-Boot loader of the OpenMesh devices requires image sizes and
-# checksums to be provided in the U-Boot environment.
-# The OpenMesh devices come with 2 main partitions - while one is active
-# sysupgrade will flash the other. The boot order is changed to boot the
-# newly flashed partition. If the new partition can't be booted due to
-# upgrade failures the previously used partition is loaded.
-
-trim()
-{
- echo $1
-}
-
-cfg_value_get()
-{
- local cfg=$1 cfg_opt
- local section=$2 our_section=0
- local param=$3 our_param=
-
- for cfg_opt in $cfg
- do
- [ "$cfg_opt" = "[$section]" ] && our_section=1 && continue
- [ "$our_section" = "1" ] || continue
-
- our_param=$(echo ${cfg_opt%%=*})
- [ "$param" = "$our_param" ] && echo ${cfg_opt##*=} && break
- done
-}
-
-platform_check_image_target_openmesh()
-{
- img_board_target="$1"
-
- case "$img_board_target" in
- A60)
- [ "$board" = "a40" ] && return 0
- [ "$board" = "a60" ] && return 0
- echo "Invalid image board target ($img_board_target) for this platform: $board. Use the correct image for this platform"
- return 1
- ;;
- OM2P)
- [ "$board" = "om2p" ] && return 0
- [ "$board" = "om2pv2" ] && return 0
- [ "$board" = "om2pv4" ] && return 0
- [ "$board" = "om2p-lc" ] && return 0
- [ "$board" = "om2p-hs" ] && return 0
- [ "$board" = "om2p-hsv2" ] && return 0
- [ "$board" = "om2p-hsv3" ] && return 0
- [ "$board" = "om2p-hsv4" ] && return 0
- echo "Invalid image board target ($img_board_target) for this platform: $board. Use the correct image for this platform"
- return 1
- ;;
- OM5P)
- [ "$board" = "om5p" ] && return 0
- [ "$board" = "om5p-an" ] && return 0
- echo "Invalid image board target ($img_board_target) for this platform: $board. Use the correct image for this platform"
- return 1
- ;;
- OM5PAC)
- [ "$board" = "om5p-ac" ] && return 0
- [ "$board" = "om5p-acv2" ] && return 0
- echo "Invalid image board target ($img_board_target) for this platform: $board. Use the correct image for this platform"
- return 1
- ;;
- MR1750)
- [ "$board" = "mr1750" ] && return 0
- [ "$board" = "mr1750v2" ] && return 0
- echo "Invalid image board target ($img_board_target) for this platform: $board. Use the correct image for this platform"
- return 1
- ;;
- MR600)
- [ "$board" = "mr600" ] && return 0
- [ "$board" = "mr600v2" ] && return 0
- echo "Invalid image board target ($img_board_target) for this platform: $board. Use the correct image for this platform"
- return 1
- ;;
- MR900)
- [ "$board" = "mr900" ] && return 0
- [ "$board" = "mr900v2" ] && return 0
- echo "Invalid image board target ($img_board_target) for this platform: $board. Use the correct image for this platform"
- return 1
- ;;
- *)
- echo "Invalid board target ($img_board_target). Use the correct image for this platform"
- return 1
- ;;
- esac
-}
-
-platform_check_image_openmesh()
-{
- local img_magic=$1
- local img_path=$2
- local fw_printenv=/usr/sbin/fw_printenv
- local img_board_target= img_num_files= i=0
- local cfg_name= kernel_name= rootfs_name=
-
- case "$img_magic" in
- # Combined Extended Image v1
- 43453031)
- img_board_target=$(trim $(dd if="$img_path" bs=4 skip=1 count=8 2>/dev/null))
- img_num_files=$(trim $(dd if="$img_path" bs=2 skip=18 count=1 2>/dev/null))
- ;;
- *)
- echo "Invalid image ($img_magic). Use combined extended images on this platform"
- return 1
- ;;
- esac
-
- platform_check_image_target_openmesh "$img_board_target" || return 1
-
- [ $img_num_files -lt 3 ] && {
- echo "Invalid number of embedded images ($img_num_files). Use the correct image for this platform"
- return 1
- }
-
- cfg_name=$(trim $(dd if="$img_path" bs=2 skip=19 count=16 2>/dev/null))
-
- [ "$cfg_name" != "fwupgrade.cfg" ] && {
- echo "Invalid embedded config file ($cfg_name). Use the correct image for this platform"
- return 1
- }
-
- kernel_name=$(trim $(dd if="$img_path" bs=2 skip=55 count=16 2>/dev/null))
-
- [ "$kernel_name" != "kernel" ] && {
- echo "Invalid embedded kernel file ($kernel_name). Use the correct image for this platform"
- return 1
- }
-
- rootfs_name=$(trim $(dd if="$img_path" bs=2 skip=91 count=16 2>/dev/null))
-
- [ "$rootfs_name" != "rootfs" ] && {
- echo "Invalid embedded kernel file ($rootfs_name). Use the correct image for this platform"
- return 1
- }
-
- [ ! -x "$fw_printenv" ] && {
- echo "Please install uboot-envtools!"
- return 1
- }
-
- [ ! -r "/etc/fw_env.config" ] && {
- echo "/etc/fw_env.config is missing"
- return 1
- }
-
- return 0
-}
-
-platform_do_upgrade_openmesh()
-{
- local img_path=$1 img_board_target=
- local kernel_start_addr= kernel_start_addr1= kernel_start_addr2=
- local kernel_size= kernel_md5=
- local rootfs_size= rootfs_checksize= rootfs_md5=
- local kernel_bsize= total_size=
- local data_offset=$((64 * 1024)) block_size= offset=
- local uboot_env_upgrade="/tmp/fw_env_upgrade"
- local cfg_size= kernel_size= rootfs_size=
- local append=""
-
- [ -f "$UPGRADE_BACKUP" ] && append="-j $UPGRADE_BACKUP"
-
- cfg_size=$(dd if="$img_path" bs=2 skip=35 count=4 2>/dev/null)
- kernel_size=$(dd if="$img_path" bs=2 skip=71 count=4 2>/dev/null)
- rootfs_size=$(dd if="$img_path" bs=2 skip=107 count=4 2>/dev/null)
-
- img_board_target=$(trim $(dd if="$img_path" bs=4 skip=1 count=8 2>/dev/null))
- cfg_content=$(dd if="$img_path" bs=1 skip=$data_offset count=$(echo $((0x$cfg_size))) 2>/dev/null)
-
- case $img_board_target in
- OM2P)
- block_size=$((256 * 1024))
- total_size=7340032
- kernel_start_addr1=0x9f1c0000
- kernel_start_addr2=0x9f8c0000
- ;;
- OM5P|OM5PAC|MR600|MR900|MR1750|A60)
- block_size=$((64 * 1024))
- total_size=7995392
- kernel_start_addr1=0x9f0b0000
- kernel_start_addr2=0x9f850000
- ;;
- esac
-
- kernel_md5=$(cfg_value_get "$cfg_content" "vmlinux" "md5sum")
- rootfs_md5=$(cfg_value_get "$cfg_content" "rootfs" "md5sum")
- rootfs_checksize=$(cfg_value_get "$cfg_content" "rootfs" "checksize")
-
- if [ "$((0x$kernel_size % $block_size))" = "0" ]
- then
- kernel_bsize=$(echo $((0x$kernel_size)))
- else
- kernel_bsize=$((0x$kernel_size + ($block_size - (0x$kernel_size % $block_size))))
- fi
-
- mtd -q erase inactive
-
- offset=$(echo $(($data_offset + 0x$cfg_size + 0x$kernel_size)))
- dd if="$img_path" bs=1 skip=$offset count=$(echo $((0x$rootfs_size))) 2>&- | mtd -n -p $kernel_bsize $append write - "inactive"
-
- offset=$(echo $(($data_offset + 0x$cfg_size)))
- dd if="$img_path" bs=1 skip=$offset count=$(echo $((0x$kernel_size))) 2>&- | mtd -n write - "inactive"
-
- rm $uboot_env_upgrade 2>&-
-
- if [ "$(grep 'mtd3:.*inactive' /proc/mtd)" ]
- then
- printf "kernel_size_1 %u\n" $(($kernel_bsize / 1024)) >> $uboot_env_upgrade
- printf "rootfs_size_1 %u\n" $((($total_size - $kernel_bsize) / 1024)) >> $uboot_env_upgrade
- printf "bootseq 1,2\n" >> $uboot_env_upgrade
- kernel_start_addr=$kernel_start_addr1
- else
- printf "kernel_size_2 %u\n" $(($kernel_bsize / 1024)) >> $uboot_env_upgrade
- printf "rootfs_size_2 %u\n" $((($total_size - $kernel_bsize) / 1024)) >> $uboot_env_upgrade
- printf "bootseq 2,1\n" >> $uboot_env_upgrade
- kernel_start_addr=$kernel_start_addr2
- fi
-
- printf "vmlinux_start_addr %s\n" $kernel_start_addr >> $uboot_env_upgrade
- printf "vmlinux_size 0x%s\n" $kernel_size >> $uboot_env_upgrade
- printf "vmlinux_checksum %s\n" $kernel_md5 >> $uboot_env_upgrade
- printf "rootfs_start_addr 0x%x\n" $(($kernel_start_addr + $kernel_bsize)) >> $uboot_env_upgrade
- printf "rootfs_size %s\n" $rootfs_checksize >> $uboot_env_upgrade
- printf "rootfs_checksum %s\n" $rootfs_md5 >> $uboot_env_upgrade
-
- mkdir -p /var/lock
- fw_setenv -s $uboot_env_upgrade || {
- echo "failed to update U-Boot environment"
- return 1
- }
-}