GfA-buildroot-MakeDTSupdate.patch 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263
  1. diff --git a/MakeDTSUpdate.sh b/MakeDTSUpdate.sh
  2. new file mode 100755
  3. index 0000000000..f25b04b975
  4. --- /dev/null
  5. +++ b/MakeDTSUpdate.sh
  6. @@ -0,0 +1,58 @@
  7. +#!/bin/bash
  8. +WRKDIR=/tmp/XXXUpdateDTS
  9. +BUILD=`cat ../GfA/board/GfA/Display001/BUILD`
  10. +UPDATE_BINARY=$WRKDIR/dest/UpdateDTS.tar.Z
  11. +UPDATE_FILENAME="../UpdateDTS_$BUILD.sh"
  12. +UPDATE_IN_SCRIPT="UpdateDTS.sh.in"
  13. +
  14. +rm -rf $WRKDIR
  15. +mkdir -p $WRKDIR/dest
  16. +
  17. +cp ./output/images/*.dtb $WRKDIR
  18. +
  19. +tar -C $WRKDIR --exclude=./dest -czvf $UPDATE_BINARY ./
  20. +
  21. +# Check for payload format option (default is binary).
  22. +binary=1
  23. +uuencode=0
  24. +
  25. +if [[ "$1" == '--binary' ]]; then
  26. + binary=1
  27. + uuencode=0
  28. + shift
  29. +fi
  30. +if [[ "$1" == '--uuencode' ]]; then
  31. + binary=0
  32. + uuencode=1
  33. + shift
  34. +fi
  35. +
  36. +if [[ ! -f $UPDATE_BINARY ]]; then
  37. + echo " UPDATE_BINARY $UPDATE_BINARY doesn't exist!"
  38. + echo "Usage: $0 [--binary | --uuencode]"
  39. + exit 1
  40. +fi
  41. +
  42. +
  43. +if [[ $binary -ne 0 ]]; then
  44. + # Append binary data.
  45. + sed \
  46. + -e 's/uuencode=./uuencode=0/' \
  47. + -e 's/binary=./binary=1/' \
  48. + $UPDATE_IN_SCRIPT > $UPDATE_FILENAME
  49. + echo "PAYLOAD:" >> $UPDATE_FILENAME
  50. +
  51. + cat $UPDATE_BINARY >> $UPDATE_FILENAME
  52. +fi
  53. +if [[ $uuencode -ne 0 ]]; then
  54. + # Append uuencoded data.
  55. + sed \
  56. + -e 's/uuencode=./uuencode=1/' \
  57. + -e 's/binary=./binary=0/' \
  58. + $UPDATE_IN_SCRIPT > $UPDATE_FILENAME
  59. + echo "PAYLOAD:" >> $UPDATE_FILENAME
  60. +
  61. + cat $UPDATE_BINARY | uuencode - >> $UPDATE_FILENAME
  62. +fi
  63. +
  64. +chmod a+x $UPDATE_FILENAME
  65. diff --git a/UpdateDTS.sh.in b/UpdateDTS.sh.in
  66. new file mode 100644
  67. index 0000000000..e123282a66
  68. --- /dev/null
  69. +++ b/UpdateDTS.sh.in
  70. @@ -0,0 +1,120 @@
  71. +#!/bin/sh
  72. +
  73. +uuencode=0
  74. +binary=1
  75. +
  76. +##TAR_PARAMETERS="-C / --exclude=./opt --exclude=./etc/inittab -xzvf -"
  77. +TMP_PATH="/__GfA_UpdateDTS"
  78. +TAR_PARAMETERS="-C $TMP_PATH -xzvf -"
  79. +
  80. +untar_payload ()
  81. +{
  82. +
  83. + echo "remove $TMP_PATH : "
  84. + rm -rf $TMP_PATH
  85. + echo ">> $? "
  86. + mkdir -p $TMP_PATH
  87. +
  88. + match=$(grep -n -m 1 '^PAYLOAD:$' $0 | cut -d ':' -f 1)
  89. + payload_start=$((match + 1))
  90. + if [[ $binary -ne 0 ]]; then
  91. + tail -n +$payload_start $0 | tar $TAR_PARAMETERS
  92. + fi
  93. + if [[ $uuencode -ne 0 ]]; then
  94. + tail -n +$payload_start $0 | uudecode | tar $TAR_PARAMETERS
  95. + fi
  96. +}
  97. +
  98. +## --- Kommandos zum Installieren
  99. +## -- get bootpartition
  100. +such="root=/dev/mmcblk1"
  101. +grep -q $such /proc/cmdline
  102. +if [ $? == 0 ]
  103. +then
  104. + bootpart="/dev/mmcblk1p1"
  105. +else
  106. + bootpart="/dev/mmcblk0p1"
  107. +fi
  108. +
  109. +umount /mnt
  110. +mount $bootpart /mnt
  111. +
  112. +#--- Kernel MLO und Rootfs-Tarball entpacken
  113. +untar_payload
  114. +# ---
  115. +
  116. +cp $TMP_PATH/*.dtb /mnt
  117. +
  118. +echo "sync mmc be patient ...."
  119. +sync
  120. +sync
  121. +
  122. +# Get Graphics resolution and set dtb to the right resolution
  123. +BASEBOARD=`cat /tmp/BASEBOARD`
  124. +
  125. +DONE=0
  126. +YRES="$(fbset | awk '/geom/ {print $3}')"
  127. +XRES="$(fbset | awk '/geom/ {print $2}')"
  128. +
  129. +echo "XRES $XRES, YRES $YRES"
  130. +
  131. +if [ "$XRES" == "480" -a "$YRES" == "272" ]; then
  132. +if [ "$BASEBOARD" == "DISPLAY002_DI4" ]; then
  133. + echo "4.3 Inch Display 2"
  134. + sh /root/Display2To_4_3inch.sh
  135. + DONE=1
  136. +else
  137. + echo "4.3 Inch"
  138. + sh /root/DisplayTo_4_3inch.sh
  139. + DONE=1
  140. +fi
  141. +fi
  142. +
  143. +if [ "$XRES" == "800" -a "$YRES" == "480" ]; then
  144. +if [ "$BASEBOARD" == "DISPLAY002_DI4" ]; then
  145. + echo "7 Inch Display 2"
  146. + sh /root/Display2To_7inch.sh
  147. + DONE=1
  148. +else
  149. + echo "7 Inch"
  150. + sh /root/DisplayTo_7inch.sh
  151. + DONE=1
  152. +fi
  153. +fi
  154. +
  155. +if [ "$XRES" == "1280" -a "$YRES" == "800" ]; then
  156. +if [ "$BASEBOARD" == "DISPLAY002_DI4" ]; then
  157. + echo "10 Inch Display 2"
  158. + sh /root/Display2To_10inch.sh
  159. + DONE=1
  160. +else
  161. + echo "10 Inch"
  162. + sh /root/DisplayTo_10inch.sh
  163. + DONE=1
  164. +fi
  165. +fi
  166. +
  167. +if [ "$XRES" == "1920" -a "$YRES" == "1080" ]; then
  168. +if [ "$BASEBOARD" == "DISPLAY002_DI4" ]; then
  169. + echo "10 Inch Display 2"
  170. + sh /root/Display2To_15inch.sh
  171. + DONE=1
  172. +else
  173. + echo "10 Inch"
  174. + sh /root/DisplayTo_15inch.sh
  175. + DONE=1
  176. +fi
  177. +fi
  178. +
  179. +if [ "$DONE" == "0" ]; then
  180. + echo "Unknown Display Resolution"
  181. +fi
  182. +
  183. +
  184. +
  185. +
  186. +#=================
  187. +echo "Update Done, pls. reboot System"
  188. +umount /mnt
  189. +echo "."
  190. +exit 0
  191. diff --git a/UpdateRootfs.sh.in b/UpdateRootfs.sh.in
  192. index e53210dbdb..76a75fb9b8 100644
  193. --- a/UpdateRootfs.sh.in
  194. +++ b/UpdateRootfs.sh.in
  195. @@ -124,6 +124,7 @@ chown -Rv mysql:nogroup /var/mysql
  196. chown -Rv postgres:postgres /var/lib/pgsql
  197. #==============================================================================
  198. # Get Graphics resolution and set dtb to the right resolution
  199. +BASEBOARD=`cat /tmp/BASEBOARD`
  200. DONE=0
  201. YRES="$(fbset | awk '/geom/ {print $3}')"
  202. @@ -132,36 +133,57 @@ XRES="$(fbset | awk '/geom/ {print $2}')"
  203. echo "XRES $XRES, YRES $YRES"
  204. if [ "$XRES" == "480" -a "$YRES" == "272" ]; then
  205. +if [ "$BASEBOARD" == "DISPLAY002_DI4" ]; then
  206. + echo "4.3 Inch Display 2"
  207. + sh /root/Display2To_4_3inch.sh
  208. + DONE=1
  209. +else
  210. echo "4.3 Inch"
  211. sh /root/DisplayTo_4_3inch.sh
  212. DONE=1
  213. fi
  214. +fi
  215. if [ "$XRES" == "800" -a "$YRES" == "480" ]; then
  216. +if [ "$BASEBOARD" == "DISPLAY002_DI4" ]; then
  217. + echo "7 Inch Display 2"
  218. + sh /root/Display2To_7inch.sh
  219. + DONE=1
  220. +else
  221. echo "7 Inch"
  222. sh /root/DisplayTo_7inch.sh
  223. DONE=1
  224. fi
  225. +fi
  226. if [ "$XRES" == "1280" -a "$YRES" == "800" ]; then
  227. +if [ "$BASEBOARD" == "DISPLAY002_DI4" ]; then
  228. + echo "10 Inch Display 2"
  229. + sh /root/Display2To_10inch.sh
  230. + DONE=1
  231. +else
  232. echo "10 Inch"
  233. sh /root/DisplayTo_10inch.sh
  234. DONE=1
  235. fi
  236. +fi
  237. if [ "$XRES" == "1920" -a "$YRES" == "1080" ]; then
  238. +if [ "$BASEBOARD" == "DISPLAY002_DI4" ]; then
  239. + echo "10 Inch Display 2"
  240. + sh /root/Display2To_15inch.sh
  241. + DONE=1
  242. +else
  243. echo "10 Inch"
  244. sh /root/DisplayTo_15inch.sh
  245. DONE=1
  246. fi
  247. +fi
  248. if [ "$DONE" == "0" ]; then
  249. echo "Unknown Display Resolution"
  250. fi
  251. -
  252. -
  253. -
  254. #=================
  255. echo "Update Done, pls. reboot System"
  256. umount /mnt