Guest User

update script

a guest
Jun 19th, 2015
55
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.57 KB | None | 0 0
  1. setenv update_image '<update_image_file>'
  2. setenv update_image_version '<update_image_version>'
  3. setenv check_version_local 'NO'
  4. setenv version_uboot_new '3.1.3'
  5.  
  6.  
  7. ##
  8. # sending some infos
  9. ##
  10. netecho device.update.progress.0: Product Type: ${product_type}, Serial Number: ${serial_number}, MAC: ${ethaddr}, XLOADER: ${version_xload}, UBOOT: ${version_uboot}, PACKAGE: ${version_package}
  11.  
  12.  
  13. ##
  14. # checking software package version_package
  15. ##
  16. setenv compare_version 'if test -n ${version_package} && test -n ${update_image_version} && test ${version_package} != ${update_image_version};then netecho device.update.progress.5: Actual Package Version: ${version_package}, Update Package Version: ${update_image_version}, Starting Update...;else netecho device.update.progress.100: Actual Package Version: ${version_package}, Update Package Version: ${update_image_version}, Update not necessary! Starting Linux!;run default_startup;fi'
  17.  
  18. if test -n ${check_version_local} && test ${check_version_local} = YES;then run compare_version;else netecho device.update.progress.5: Starting Update...;fi
  19.  
  20.  
  21. ##
  22. # downloading update image via tftp
  23. ##
  24. echo
  25. echo
  26. echo ------------------------------------------------------------------
  27. netecho device.update.progress.10: Loading Update Image ${update_image}
  28. echo ------------------------------------------------------------------
  29. if tftp 0x80F00000 ${update_image};then netecho device.update.progress.20: Update Image ${update_image} loaded successfully;else netecho device.update.progress.100: ERROR: Update Image ${update_image} not loaded successfully! Rebooting!;reset;fi
  30.  
  31.  
  32. ##
  33. # check for uboot update
  34. ##
  35. setenv erase_uboot 'echo;echo;echo ----------------------------------------------------------;netecho device.update.progress.25: Erasing U-Boot Partition;echo ----------------------------------------------------------;nand unlock 0x80000 0x80000;nand erase 0x80000 0x80000'
  36. setenv flash_uboot 'echo;echo;echo --------------------------------------------------------;netecho device.update.progress.30: Flashing U-Boot to NAND;echo --------------------------------------------------------;nand write.i 0x80F00000 0x80000 0x80000;nand lock 0x80000 0x80000'
  37. setenv flash_uboot_ok 'echo;echo;echo ----------------------------------------------------;netecho device.update.progress.35: Flashing U-Boot: OK;echo ----------------------------------------------------'
  38.  
  39. if test -n ${version_uboot} && test -n ${version_uboot_new} && test ${version_uboot} != ${version_uboot_new};then run erase_uboot;run flash_uboot;run flash_uboot_ok;setenv version_uboot ${version_uboot_new};saveenv;fi
  40.  
  41.  
  42. ##
  43. # erasing linux logging partition
  44. ##
  45. echo
  46. echo
  47. echo ----------------------------------------------------------
  48. netecho device.update.progress.40: Erasing Linux Logging Partition
  49. echo ----------------------------------------------------------
  50. nand unlock 0x00280000 0x500000
  51. nand erase 0x00280000 0x500000
  52. nand lock 0x00280000 0x500000
  53.  
  54.  
  55. ##
  56. # erasing linux kernel partition
  57. ##
  58. echo
  59. echo
  60. echo ----------------------------------------------------------
  61. netecho device.update.progress.45: Preparing NAND for Linux-Kernel
  62. echo ----------------------------------------------------------
  63. nand unlock 0x01200000 0x500000
  64. nand erase 0x01200000 0x500000
  65.  
  66.  
  67. ##
  68. # flashing linux kernel
  69. ##
  70. echo
  71. echo
  72. echo --------------------------------------------------------
  73. netecho device.update.progress.50: Flashing Linux-Kernel to NAND
  74. echo --------------------------------------------------------
  75. nand write.i 0x80F80000 0x01200000 0x500000
  76. nand lock 0x01200000 0x500000
  77.  
  78. echo
  79. echo
  80. echo ----------------------------------------------------
  81. netecho device.update.progress.55: Flashing Linux-Kernel: OK
  82. echo ----------------------------------------------------
  83.  
  84.  
  85. ##
  86. # erasing rootfs partition
  87. ##
  88. echo
  89. echo
  90. echo ----------------------------------------------------------------
  91. netecho device.update.progress.60: Preparing NAND for JFFS2 RootFS Image
  92. echo ----------------------------------------------------------------
  93. nand unlock 0x01700000 0x0E900000
  94. nand erase 0x01700000 0x0E900000
  95.  
  96.  
  97. ##
  98. # flashing rootfs
  99. ##
  100. echo
  101. echo
  102. echo --------------------------------------------------------------
  103. netecho device.update.progress.70: Flashing JFFS2 RootFS Image to NAND
  104. echo --------------------------------------------------------------
  105. setexpr filesize_rootfs ${filesize} - 0x580000
  106. nand write.jffs2 0x81480000 0x01700000 ${filesize_rootfs}
  107. nand lock 0x01700000 0x0E900000
  108.  
  109. echo
  110. echo
  111. echo ----------------------------------------------------------
  112. netecho device.update.progress.80: Flashing JFFS2 RootFS Image: OK
  113. echo ----------------------------------------------------------
  114.  
  115.  
  116. ##
  117. # setting new package version and deleting temporary used environment variables
  118. ##
  119. echo
  120. echo
  121. echo ----------------------------------------------------------------------
  122. netecho device.update.progress.90: Setting new Package Version to ${update_image_version}
  123. echo ----------------------------------------------------------------------
  124. setenv version_package ${update_image_version}
  125. setenv update_image
  126. setenv update_image_version
  127. setenv fileaddr
  128. setenv filesize
  129. setenv filesize_nand
  130. setenv filesize_rootfs
  131. setenv ipaddr
  132. setenv netmask
  133. setenv serverip
  134. setenv bootfile
  135. setenv check_version_local
  136. setenv compare_version
  137. saveenv
  138.  
  139.  
  140. ##
  141. # rebooting
  142. ##
  143. echo
  144. echo
  145. echo -------------------------------------------------------
  146. netecho device.update.progress.100: Update Finished - Rebooting
  147. echo -------------------------------------------------------
  148.  
  149. echo
  150. echo
  151. echo PAUSE!
  152. sleep 1
  153.  
  154. reset
Advertisement
Add Comment
Please, Sign In to add comment