ftp21

Untitled

Jan 29th, 2024
347
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.45 KB | None | 0 0
  1. REQUIRE_IMAGE_METADATA=1
  2.  
  3. xiaomi_initial_setup()
  4. {
  5. # initialize UBI and setup uboot-env if it's running on initramfs
  6. [ "$(rootfs_type)" = "tmpfs" ] || return 0
  7.  
  8. local mtdnum="$( find_mtd_index ubi )"
  9. if [ ! "$mtdnum" ]; then
  10. echo "unable to find mtd partition ubi"
  11. return 1
  12. fi
  13.  
  14. local kern_mtdnum="$( find_mtd_index ubi_kernel )"
  15. if [ ! "$kern_mtdnum" ]; then
  16. echo "unable to find mtd partition ubi_kernel"
  17. return 1
  18. fi
  19.  
  20. ubidetach -m "$mtdnum"
  21. ubiformat /dev/mtd$mtdnum -y
  22.  
  23. ubidetach -m "$kern_mtdnum"
  24. ubiformat /dev/mtd$kern_mtdnum -y
  25.  
  26. if ! fw_printenv -n flag_try_sys2_failed &>/dev/null; then
  27. echo "failed to access u-boot-env. skip env setup."
  28. return 0
  29. fi
  30.  
  31. fw_setenv boot_wait on
  32. fw_setenv uart_en 1
  33. fw_setenv flag_boot_rootfs 0
  34. fw_setenv flag_last_success 1
  35. fw_setenv flag_boot_success 1
  36. fw_setenv flag_try_sys1_failed 8
  37. fw_setenv flag_try_sys2_failed 8
  38.  
  39. local board=$(board_name)
  40. case "$board" in
  41. xiaomi,mi-router-wr30u-stock)
  42. fw_setenv mtdparts "nmbm0:1024k(bl2),256k(Nvram),256k(Bdata),2048k(factory),2048k(fip),256k(crash),256k(crash_log),34816k(ubi),34816k(ubi1),32768k(overlay),12288k(data),256k(KF)"
  43. ;;
  44. xiaomi,redmi-router-ax6000-stock)
  45. fw_setenv mtdparts "nmbm0:1024k(bl2),256k(Nvram),256k(Bdata),2048k(factory),2048k(fip),256k(crash),256k(crash_log),30720k(ubi),30720k(ubi1),51200k(overlay)"
  46. ;;
  47. esac
  48. }
  49.  
  50. platform_do_upgrade() {
  51. local board=$(board_name)
  52.  
  53. case "$board" in
  54. acer,predator-w6)
  55. CI_KERNPART="kernel"
  56. CI_ROOTPART="rootfs"
  57. emmc_do_upgrade "$1"
  58. ;;
  59. asus,tuf-ax4200)
  60. CI_UBIPART="UBI_DEV"
  61. CI_KERNPART="linux"
  62. nand_do_upgrade "$1"
  63. ;;
  64. bananapi,bpi-r3)
  65. local rootdev="$(cmdline_get_var root)"
  66. rootdev="${rootdev##*/}"
  67. rootdev="${rootdev%p[0-9]*}"
  68. case "$rootdev" in
  69. mmc*)
  70. CI_ROOTDEV="$rootdev"
  71. CI_KERNPART="production"
  72. emmc_do_upgrade "$1"
  73. ;;
  74. mtdblock*)
  75. PART_NAME="fit"
  76. default_do_upgrade "$1"
  77. ;;
  78. ubiblock*)
  79. CI_KERNPART="fit"
  80. nand_do_upgrade "$1"
  81. ;;
  82. esac
  83. ;;
  84. cudy,wr3000-v1)
  85. default_do_upgrade "$1"
  86. ;;
  87. mercusys,mr90x-v1)
  88. CI_UBIPART="ubi0"
  89. nand_do_upgrade "$1"
  90. ;;
  91. h3c,magic-nx30-pro|\
  92. qihoo,360t7|\
  93. tplink,tl-xdr4288|\
  94. tplink,tl-xdr6086|\
  95. tplink,tl-xdr6088|\
  96. xiaomi,mi-router-wr30u-112m-nmbm|\
  97. xiaomi,mi-router-wr30u-ubootmod|\
  98. xiaomi,redmi-router-ax6000-ubootmod)
  99. CI_KERNPART="fit"
  100. nand_do_upgrade "$1"
  101. ;;
  102. xiaomi,mi-router-wr30u-stock|\
  103. xiaomi,redmi-router-ax6000-stock)
  104. CI_KERN_UBIPART=ubi_kernel
  105. CI_ROOT_UBIPART=ubi
  106. nand_do_upgrade "$1"
  107. ;;
  108. zyxel,ex5601-t0-ubootmod)
  109. CI_KERNPART="fit"
  110. CI_ROOTPART="ubi_rootfs"
  111. nand_do_upgrade "$1"
  112. ;;
  113. *)
  114. nand_do_upgrade "$1"
  115. ;;
  116. esac
  117. }
  118.  
  119. PART_NAME=firmware
  120.  
  121. platform_check_image() {
  122. local board=$(board_name)
  123. local magic="$(get_magic_long "$1")"
  124.  
  125. [ "$#" -gt 1 ] && return 1
  126.  
  127. case "$board" in
  128. bananapi,bpi-r3)
  129. [ "$magic" != "d00dfeed" ] && {
  130. echo "Invalid image type."
  131. return 1
  132. }
  133. return 0
  134. ;;
  135. *)
  136. nand_do_platform_check "$board" "$1"
  137. return $?
  138. ;;
  139. esac
  140.  
  141. return 0
  142. }
  143.  
  144. platform_copy_config() {
  145. case "$(board_name)" in
  146. bananapi,bpi-r3)
  147. case "$(cmdline_get_var root)" in
  148. /dev/mmc*)
  149. emmc_copy_config
  150. ;;
  151. esac
  152. ;;
  153. esac
  154. }
  155.  
  156. platform_pre_upgrade() {
  157. local board=$(board_name)
  158.  
  159. case "$board" in
  160. xiaomi,mi-router-wr30u-stock|\
  161. xiaomi,redmi-router-ax6000-stock)
  162. xiaomi_initial_setup
  163. ;;
  164. esac
  165. }
Advertisement
Add Comment
Please, Sign In to add comment