platform.sh 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  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-911g-5hpacd|\
  24. mikrotik,routerboard-911g-xhpnd|\
  25. mikrotik,routerboard-912uag-2hpnd|\
  26. mikrotik,routerboard-921gs-5hpacd-15s|\
  27. mikrotik,routerboard-922uags-5hpacd|\
  28. mikrotik,routerboard-951g-2hnd|\
  29. mikrotik,routerboard-951ui-2hnd|\
  30. mikrotik,routerboard-sxt-5nd-r2)
  31. platform_do_upgrade_mikrotik_nand "$1"
  32. ;;
  33. *)
  34. # NOR devices: erase firmware if booted from initramfs
  35. [ "$(rootfs_type)" = "tmpfs" ] && mtd erase firmware
  36. default_do_upgrade "$1"
  37. ;;
  38. esac
  39. }