crosstests.conf 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225
  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 := arm
  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. # ia64
  88. TEST_START IF ${RUN} == ia64 || ${DO_DEFAULT}
  89. CROSS = ia64-linux
  90. ARCH = ia64
  91. # m68k fails with error?
  92. TEST_START IF ${RUN} == m68k || ${DO_DEFAULT}
  93. CROSS = m68k-linux
  94. ARCH = m68k
  95. # mips64
  96. TEST_START IF ${RUN} == mips || ${RUN} == mips64 || ${DO_DEFAULT}
  97. CROSS = mips64-linux
  98. ARCH = mips
  99. # mips32
  100. TEST_START IF ${RUN} == mips || ${RUN} == mips32 || ${DO_DEFAULT}
  101. CROSS = mips-linux
  102. ARCH = mips
  103. # parisc64 failed?
  104. TEST_START IF ${RUN} == hppa || ${RUN} == hppa64 || ${DO_FAILED}
  105. CROSS = hppa64-linux
  106. ARCH = parisc
  107. # parisc
  108. TEST_START IF ${RUN} == hppa || ${RUN} == hppa32 || ${DO_FAILED}
  109. CROSS = hppa-linux
  110. ARCH = parisc
  111. # ppc
  112. TEST_START IF ${RUN} == ppc || ${RUN} == ppc32 || ${DO_DEFAULT}
  113. CROSS = powerpc-linux
  114. ARCH = powerpc
  115. # ppc64
  116. TEST_START IF ${RUN} == ppc || ${RUN} == ppc64 || ${DO_DEFAULT}
  117. CROSS = powerpc64-linux
  118. ARCH = powerpc
  119. # s390
  120. TEST_START IF ${RUN} == s390 || ${DO_DEFAULT}
  121. CROSS = s390x-linux
  122. ARCH = s390
  123. # sh
  124. TEST_START IF ${RUN} == sh || ${DO_DEFAULT}
  125. CROSS = sh4-linux
  126. ARCH = sh
  127. # sparc64
  128. TEST_START IF ${RUN} == sparc || ${RUN} == sparc64 || ${DO_DEFAULT}
  129. CROSS = sparc64-linux
  130. ARCH = sparc64
  131. # sparc
  132. TEST_START IF ${RUN} == sparc || ${RUN} == sparc32 || ${DO_DEFAULT}
  133. CROSS = sparc-linux
  134. ARCH = sparc
  135. # xtensa failed
  136. TEST_START IF ${RUN} == xtensa || ${DO_FAILED}
  137. CROSS = xtensa-linux
  138. ARCH = xtensa
  139. # UML
  140. TEST_START IF ${RUN} == uml || ${DO_DEFAULT}
  141. MAKE_CMD = make ARCH=um SUBARCH=x86_64
  142. ARCH = uml
  143. CROSS =
  144. TEST_START IF ${RUN} == x86 || ${RUN} == i386 || ${DO_DEFAULT}
  145. MAKE_CMD = make ARCH=i386
  146. ARCH = i386
  147. CROSS =
  148. TEST_START IF ${RUN} == x86 || ${RUN} == x86_64 || ${DO_DEFAULT}
  149. MAKE_CMD = make ARCH=x86_64
  150. ARCH = x86_64
  151. CROSS =
  152. #################################
  153. # This is a bisect if needed. You need to give it a MIN_CONFIG that
  154. # will be the config file it uses. Basically, just copy the created defconfig
  155. # for the arch someplace and point MIN_CONFIG to it.
  156. TEST_START IF ${RUN} == bisect
  157. MIN_CONFIG = ${THIS_DIR}/min-config
  158. CROSS = s390x-linux
  159. ARCH = s390
  160. TEST_TYPE = bisect
  161. BISECT_TYPE = build
  162. BISECT_GOOD = v3.1
  163. BISECT_BAD = v3.2
  164. CHECKOUT = v3.2
  165. #################################
  166. # These defaults are needed to keep ktest.pl from complaining. They are
  167. # ignored because the test does not go pass the build. No install or
  168. # booting of the target images.
  169. DEFAULTS
  170. MACHINE = crosstest
  171. SSH_USER = root
  172. BUILD_TARGET = cross
  173. TARGET_IMAGE = image
  174. POWER_CYCLE = cycle
  175. CONSOLE = console
  176. LOCALVERSION = version
  177. GRUB_MENU = grub
  178. REBOOT_ON_ERROR = 0
  179. POWEROFF_ON_ERROR = 0
  180. POWEROFF_ON_SUCCESS = 0
  181. REBOOT_ON_SUCCESS = 0