platform.sh 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. #!/bin/sh
  2. #
  3. # Copyright 2015-2019 Traverse Technologies
  4. #
  5. RAMFS_COPY_BIN="/usr/sbin/fw_printenv /usr/sbin/fw_setenv /usr/sbin/ubinfo /bin/echo"
  6. RAMFS_COPY_DATA="/etc/fw_env.config /var/lock/fw_printenv.lock"
  7. platform_do_upgrade_traverse_nandubi() {
  8. bootsys=$(fw_printenv bootsys | awk -F= '{{print $2}}')
  9. newbootsys=2
  10. if [ "$bootsys" -eq "2" ]; then
  11. newbootsys=1
  12. fi
  13. # If nand_do_upgrade succeeds, we don't have an opportunity to add any actions of
  14. # our own, so do it here and set back on failure
  15. echo "Setting bootsys to #${newbootsys}"
  16. fw_setenv bootsys $newbootsys
  17. CI_UBIPART="nandubi"
  18. CI_KERNPART="kernel${newbootsys}"
  19. CI_ROOTPART="rootfs${newbootsys}"
  20. nand_do_upgrade "$1" || (echo "Upgrade failed, setting bootsys ${bootsys}" && fw_setenv bootsys $bootsys)
  21. }
  22. platform_check_image() {
  23. local board=$(board_name)
  24. case "$board" in
  25. traverse,ls1043v | \
  26. traverse,ls1043s)
  27. nand_do_platform_check "traverse-ls1043" $1
  28. return $?
  29. ;;
  30. *)
  31. echo "Sysupgrade is not currently supported on $board"
  32. ;;
  33. esac
  34. return 1
  35. }
  36. platform_do_upgrade() {
  37. local board=$(board_name)
  38. # Force the creation of fw_printenv.lock
  39. mkdir -p /var/lock
  40. touch /var/lock/fw_printenv.lock
  41. case "$board" in
  42. traverse,ls1043v | \
  43. traverse,ls1043s)
  44. platform_do_upgrade_traverse_nandubi "$1"
  45. ;;
  46. *)
  47. echo "Sysupgrade is not currently supported on $board"
  48. ;;
  49. esac
  50. }