platform.sh 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. # Copyright (C) 2011 OpenWrt.org
  2. PART_NAME=firmware
  3. REQUIRE_IMAGE_METADATA=1
  4. platform_check_image() {
  5. return 0
  6. }
  7. RAMFS_COPY_BIN='yafut'
  8. platform_do_upgrade_mikrotik_nand() {
  9. CI_KERNPART=none
  10. local fw_mtd=$(find_mtd_part kernel)
  11. fw_mtd="${fw_mtd/block/}"
  12. [ -n "$fw_mtd" ] || return
  13. local board_dir=$(tar tf "$1" | grep -m 1 '^sysupgrade-.*/$')
  14. board_dir=${board_dir%/}
  15. [ -n "$board_dir" ] || return
  16. tar xf "$1" ${board_dir}/kernel -O | yafut -d "$fw_mtd" -w -i - -o kernel -m 0755 || return
  17. nand_do_upgrade "$1"
  18. }
  19. platform_do_upgrade() {
  20. local board=$(board_name)
  21. case "$board" in
  22. mikrotik,routerboard-493g|\
  23. mikrotik,routerboard-912uag-2hpnd|\
  24. mikrotik,routerboard-921gs-5hpacd-15s|\
  25. mikrotik,routerboard-922uags-5hpacd|\
  26. mikrotik,routerboard-951g-2hnd|\
  27. mikrotik,routerboard-951ui-2hnd|\
  28. mikrotik,routerboard-sxt-5nd-r2)
  29. platform_do_upgrade_mikrotik_nand "$1"
  30. ;;
  31. *)
  32. # NOR devices: erase firmware if booted from initramfs
  33. [ "$(rootfs_type)" = "tmpfs" ] && mtd erase firmware
  34. default_do_upgrade "$1"
  35. ;;
  36. esac
  37. }