crosstests.conf 6.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254
  1. #
  2. # Example config for cross compiling
  3. #
  4. # In this config, it is expected that the tool chains from:
  5. #
  6. # http://kernel.org/pub/tools/crosstool/files/bin/x86_64/
  7. #
  8. # running on a x86_64 system have been downloaded and installed into:
  9. #
  10. # /usr/local/
  11. #
  12. # such that the compiler binaries are something like:
  13. #
  14. # /usr/local/gcc-4.5.2-nolibc/mips-linux/bin/mips-linux-gcc
  15. #
  16. # Some of the archs will use gcc-4.5.1 instead of gcc-4.5.2
  17. # this config uses variables to differentiate them.
  18. #
  19. # Comments describe some of the options, but full descriptions of
  20. # options are described in the samples.conf file.
  21. # ${PWD} is defined by ktest.pl to be the directory that the user
  22. # was in when they executed ktest.pl. It may be better to hardcode the
  23. # path name here. THIS_DIR is the variable used through out the config file
  24. # in case you want to change it.
  25. THIS_DIR := ${PWD}
  26. # Update the BUILD_DIR option to the location of your git repo you want to test.
  27. BUILD_DIR = ${THIS_DIR}/linux.git
  28. # The build will go into this directory. It will be created when you run the test.
  29. OUTPUT_DIR = ${THIS_DIR}/cross-compile
  30. # The build will be compiled with -j8
  31. BUILD_OPTIONS = -j8
  32. # The test will not stop when it hits a failure.
  33. DIE_ON_FAILURE = 0
  34. # If you want to have ktest.pl store the failure somewhere, uncomment this option
  35. # and change the directory where ktest should store the failures.
  36. #STORE_FAILURES = ${THIS_DIR}/failures
  37. # The log file is stored in the OUTPUT_DIR called cross.log
  38. # If you enable this, you need to create the OUTPUT_DIR. It wont be created for you.
  39. LOG_FILE = ${OUTPUT_DIR}/cross.log
  40. # The log file will be cleared each time you run ktest.
  41. CLEAR_LOG = 1
  42. # As some archs do not build with the defconfig, they have been marked
  43. # to be ignored. If you want to test them anyway, change DO_FAILED to 1.
  44. # If a test that has been marked as DO_FAILED passes, then you should change
  45. # that test to be DO_DEFAULT
  46. DO_FAILED := 0
  47. DO_DEFAULT := 1
  48. # By setting both DO_FAILED and DO_DEFAULT to zero, you can pick a single
  49. # arch that you want to test. (uncomment RUN and chose your arch)
  50. #RUN := m32r
  51. # At the bottom of the config file exists a bisect test. You can update that
  52. # test and set DO_FAILED and DO_DEFAULT to zero, and uncomment this variable
  53. # to run the bisect on the arch.
  54. #RUN := bisect
  55. # By default all tests will be running gcc 4.5.2. Some tests are using 4.5.1
  56. # and they select that in the test.
  57. # Note: GCC_VER is declared as on option and not a variable ('=' instead of ':=')
  58. # This is important. A variable is used only in the config file and if it is set
  59. # it stays that way for the rest of the config file until it is change again.
  60. # Here we want GCC_VER to remain persistent and change for each test, as it is used in
  61. # the MAKE_CMD. By using '=' instead of ':=' we achieve our goal.
  62. GCC_VER = 4.5.2
  63. MAKE_CMD = PATH=/usr/local/gcc-${GCC_VER}-nolibc/${CROSS}/bin:$PATH CROSS_COMPILE=${CROSS}- make ARCH=${ARCH}
  64. # all tests are only doing builds.
  65. TEST_TYPE = build
  66. # If you want to add configs on top of the defconfig, you can add those configs into
  67. # the add-config file and uncomment this option. This is useful if you want to test
  68. # all cross compiles with PREEMPT set, or TRACING on, etc.
  69. #ADD_CONFIG = ${THIS_DIR}/add-config
  70. # All tests are using defconfig
  71. BUILD_TYPE = defconfig
  72. # The test names will have the arch and cross compiler used. This will be shown in
  73. # the results.
  74. TEST_NAME = ${ARCH} ${CROSS}
  75. # alpha
  76. TEST_START IF ${RUN} == alpha || ${DO_DEFAULT}
  77. # Notice that CROSS and ARCH are also options and not variables (again '=' instead
  78. # of ':='). This is because TEST_NAME and MAKE_CMD wil use them for each test.
  79. # Only options are available during runs. Variables are only present in parsing the
  80. # config file.
  81. CROSS = alpha-linux
  82. ARCH = alpha
  83. # arm
  84. TEST_START IF ${RUN} == arm || ${DO_DEFAULT}
  85. CROSS = arm-unknown-linux-gnueabi
  86. ARCH = arm
  87. # black fin
  88. TEST_START IF ${RUN} == bfin || ${DO_DEFAULT}
  89. CROSS = bfin-uclinux
  90. ARCH = blackfin
  91. BUILD_OPTIONS = -j8 vmlinux
  92. # cris - FAILS?
  93. TEST_START IF ${RUN} == cris || ${RUN} == cris64 || ${DO_FAILED}
  94. CROSS = cris-linux
  95. ARCH = cris
  96. # cris32 - not right arch?
  97. TEST_START IF ${RUN} == cris || ${RUN} == cris32 || ${DO_FAILED}
  98. CROSS = crisv32-linux
  99. ARCH = cris
  100. # ia64
  101. TEST_START IF ${RUN} == ia64 || ${DO_DEFAULT}
  102. CROSS = ia64-linux
  103. ARCH = ia64
  104. # frv
  105. TEST_START IF ${RUN} == frv || ${DO_FAILED}
  106. CROSS = frv-linux
  107. ARCH = frv
  108. GCC_VER = 4.5.1
  109. # m68k fails with error?
  110. TEST_START IF ${RUN} == m68k || ${DO_DEFAULT}
  111. CROSS = m68k-linux
  112. ARCH = m68k
  113. # mips64
  114. TEST_START IF ${RUN} == mips || ${RUN} == mips64 || ${DO_DEFAULT}
  115. CROSS = mips64-linux
  116. ARCH = mips
  117. # mips32
  118. TEST_START IF ${RUN} == mips || ${RUN} == mips32 || ${DO_DEFAULT}
  119. CROSS = mips-linux
  120. ARCH = mips
  121. # m32r
  122. TEST_START IF ${RUN} == m32r || ${DO_FAILED}
  123. CROSS = m32r-linux
  124. ARCH = m32r
  125. GCC_VER = 4.5.1
  126. BUILD_OPTIONS = -j8 vmlinux
  127. # parisc64 failed?
  128. TEST_START IF ${RUN} == hppa || ${RUN} == hppa64 || ${DO_FAILED}
  129. CROSS = hppa64-linux
  130. ARCH = parisc
  131. # parisc
  132. TEST_START IF ${RUN} == hppa || ${RUN} == hppa32 || ${DO_FAILED}
  133. CROSS = hppa-linux
  134. ARCH = parisc
  135. # ppc
  136. TEST_START IF ${RUN} == ppc || ${RUN} == ppc32 || ${DO_DEFAULT}
  137. CROSS = powerpc-linux
  138. ARCH = powerpc
  139. # ppc64
  140. TEST_START IF ${RUN} == ppc || ${RUN} == ppc64 || ${DO_DEFAULT}
  141. CROSS = powerpc64-linux
  142. ARCH = powerpc
  143. # s390
  144. TEST_START IF ${RUN} == s390 || ${DO_DEFAULT}
  145. CROSS = s390x-linux
  146. ARCH = s390
  147. # sh
  148. TEST_START IF ${RUN} == sh || ${DO_DEFAULT}
  149. CROSS = sh4-linux
  150. ARCH = sh
  151. # sparc64
  152. TEST_START IF ${RUN} == sparc || ${RUN} == sparc64 || ${DO_DEFAULT}
  153. CROSS = sparc64-linux
  154. ARCH = sparc64
  155. # sparc
  156. TEST_START IF ${RUN} == sparc || ${RUN} == sparc32 || ${DO_DEFAULT}
  157. CROSS = sparc-linux
  158. ARCH = sparc
  159. # xtensa failed
  160. TEST_START IF ${RUN} == xtensa || ${DO_FAILED}
  161. CROSS = xtensa-linux
  162. ARCH = xtensa
  163. # UML
  164. TEST_START IF ${RUN} == uml || ${DO_DEFAULT}
  165. MAKE_CMD = make ARCH=um SUBARCH=x86_64
  166. ARCH = uml
  167. CROSS =
  168. TEST_START IF ${RUN} == x86 || ${RUN} == i386 || ${DO_DEFAULT}
  169. MAKE_CMD = make ARCH=i386
  170. ARCH = i386
  171. CROSS =
  172. TEST_START IF ${RUN} == x86 || ${RUN} == x86_64 || ${DO_DEFAULT}
  173. MAKE_CMD = make ARCH=x86_64
  174. ARCH = x86_64
  175. CROSS =
  176. #################################
  177. # This is a bisect if needed. You need to give it a MIN_CONFIG that
  178. # will be the config file it uses. Basically, just copy the created defconfig
  179. # for the arch someplace and point MIN_CONFIG to it.
  180. TEST_START IF ${RUN} == bisect
  181. MIN_CONFIG = ${THIS_DIR}/min-config
  182. CROSS = s390x-linux
  183. ARCH = s390
  184. TEST_TYPE = bisect
  185. BISECT_TYPE = build
  186. BISECT_GOOD = v3.1
  187. BISECT_BAD = v3.2
  188. CHECKOUT = v3.2
  189. #################################
  190. # These defaults are needed to keep ktest.pl from complaining. They are
  191. # ignored because the test does not go pass the build. No install or
  192. # booting of the target images.
  193. DEFAULTS
  194. MACHINE = crosstest
  195. SSH_USER = root
  196. BUILD_TARGET = cross
  197. TARGET_IMAGE = image
  198. POWER_CYCLE = cycle
  199. CONSOLE = console
  200. LOCALVERSION = version
  201. GRUB_MENU = grub
  202. REBOOT_ON_ERROR = 0
  203. POWEROFF_ON_ERROR = 0
  204. POWEROFF_ON_SUCCESS = 0
  205. REBOOT_ON_SUCCESS = 0