imx6.sh 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  1. #
  2. # Copyright (C) 2010-2013 OpenWrt.org
  3. #
  4. IMX6_BOARD_NAME=
  5. IMX6_MODEL=
  6. rootpartuuid() {
  7. local cmdline=$(cat /proc/cmdline)
  8. local bootpart=${cmdline##*root=}
  9. bootpart=${bootpart%% *}
  10. local uuid=${bootpart#PARTUUID=}
  11. echo ${uuid%-02}
  12. }
  13. bootdev_from_uuid() {
  14. blkid | grep "PTUUID=\"$(rootpartuuid)\"" | cut -d : -f1
  15. }
  16. bootpart_from_uuid() {
  17. blkid | grep $(rootpartuuid)-01 | cut -d : -f1
  18. }
  19. rootpart_from_uuid() {
  20. blkid | grep $(rootpartuuid)-02 | cut -d : -f1
  21. }
  22. apalis_mount_boot() {
  23. mkdir -p /boot
  24. [ -f /boot/uImage ] || {
  25. mount -o rw,noatime $(bootpart_from_uuid) /boot > /dev/null
  26. }
  27. }
  28. imx6_board_detect() {
  29. local machine
  30. local name
  31. machine=$(cat /proc/device-tree/model)
  32. case "$machine" in
  33. "Gateworks Ventana i.MX6 DualLite/Solo GW51XX" |\
  34. "Gateworks Ventana i.MX6 Dual/Quad GW51XX")
  35. name="gw51xx"
  36. ;;
  37. "Gateworks Ventana i.MX6 DualLite/Solo GW52XX" |\
  38. "Gateworks Ventana i.MX6 Dual/Quad GW52XX")
  39. name="gw52xx"
  40. ;;
  41. "Gateworks Ventana i.MX6 DualLite/Solo GW53XX" |\
  42. "Gateworks Ventana i.MX6 Dual/Quad GW53XX")
  43. name="gw53xx"
  44. ;;
  45. "Gateworks Ventana i.MX6 DualLite/Solo GW54XX" |\
  46. "Gateworks Ventana i.MX6 Dual/Quad GW54XX" |\
  47. "Gateworks Ventana GW5400-A")
  48. name="gw54xx"
  49. ;;
  50. "Gateworks Ventana i.MX6 Dual/Quad GW551X" |\
  51. "Gateworks Ventana i.MX6 DualLite/Solo GW551X")
  52. name="gw551x"
  53. ;;
  54. "Gateworks Ventana i.MX6 DualLite/Solo GW552X" |\
  55. "Gateworks Ventana i.MX6 Dual/Quad GW552X")
  56. name="gw552x"
  57. ;;
  58. "Gateworks Ventana i.MX6 DualLite/Solo GW553X" |\
  59. "Gateworks Ventana i.MX6 Dual/Quad GW553X")
  60. name="gw553x"
  61. ;;
  62. "Gateworks Ventana i.MX6 DualLite/Solo GW5904" |\
  63. "Gateworks Ventana i.MX6 Dual/Quad GW5904")
  64. name="gw5904"
  65. ;;
  66. "Gateworks Ventana i.MX6 DualLite/Solo GW5907" |\
  67. "Gateworks Ventana i.MX6 Dual/Quad GW5907")
  68. name="gw5907"
  69. ;;
  70. "Gateworks Ventana i.MX6 DualLite/Solo GW5910" |\
  71. "Gateworks Ventana i.MX6 Dual/Quad GW5910")
  72. name="gw5910"
  73. ;;
  74. "Gateworks Ventana i.MX6 DualLite/Solo GW5912" |\
  75. "Gateworks Ventana i.MX6 Dual/Quad GW5912")
  76. name="gw5912"
  77. ;;
  78. "Gateworks Ventana i.MX6 DualLite/Solo GW5913" |\
  79. "Gateworks Ventana i.MX6 Dual/Quad GW5913")
  80. name="gw5913"
  81. ;;
  82. "SolidRun Cubox-i Solo/DualLite" |\
  83. "SolidRun Cubox-i Dual/Quad")
  84. name="cubox-i"
  85. ;;
  86. "Toradex Apalis iMX6Q/D Module on Ixora Carrier Board" |\
  87. "Toradex Apalis iMX6Q/D Module on Ixora Carrier Board V1.1")
  88. name="apalis,ixora"
  89. ;;
  90. "Toradex Apalis iMX6Q/D Module on Apalis Evaluation Board")
  91. name="apalis,eval"
  92. ;;
  93. "Wandboard i.MX6 Dual Lite Board")
  94. name="wandboard"
  95. ;;
  96. *)
  97. name="generic"
  98. ;;
  99. esac
  100. [ -z "$IMX6_BOARD_NAME" ] && IMX6_BOARD_NAME="$name"
  101. [ -z "$IMX6_MODEL" ] && IMX6_MODEL="$machine"
  102. [ -e "/tmp/sysinfo/" ] || mkdir -p "/tmp/sysinfo/"
  103. echo "$IMX6_BOARD_NAME" > /tmp/sysinfo/board_name
  104. echo "$IMX6_MODEL" > /tmp/sysinfo/model
  105. }