123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254 |
- #
- # Example config for cross compiling
- #
- # In this config, it is expected that the tool chains from:
- #
- # http://kernel.org/pub/tools/crosstool/files/bin/x86_64/
- #
- # running on a x86_64 system have been downloaded and installed into:
- #
- # /usr/local/
- #
- # such that the compiler binaries are something like:
- #
- # /usr/local/gcc-4.5.2-nolibc/mips-linux/bin/mips-linux-gcc
- #
- # Some of the archs will use gcc-4.5.1 instead of gcc-4.5.2
- # this config uses variables to differentiate them.
- #
- # Comments describe some of the options, but full descriptions of
- # options are described in the samples.conf file.
- # ${PWD} is defined by ktest.pl to be the directory that the user
- # was in when they executed ktest.pl. It may be better to hardcode the
- # path name here. THIS_DIR is the variable used through out the config file
- # in case you want to change it.
- THIS_DIR := ${PWD}
- # Update the BUILD_DIR option to the location of your git repo you want to test.
- BUILD_DIR = ${THIS_DIR}/linux.git
- # The build will go into this directory. It will be created when you run the test.
- OUTPUT_DIR = ${THIS_DIR}/cross-compile
- # The build will be compiled with -j8
- BUILD_OPTIONS = -j8
- # The test will not stop when it hits a failure.
- DIE_ON_FAILURE = 0
- # If you want to have ktest.pl store the failure somewhere, uncomment this option
- # and change the directory where ktest should store the failures.
- #STORE_FAILURES = ${THIS_DIR}/failures
- # The log file is stored in the OUTPUT_DIR called cross.log
- # If you enable this, you need to create the OUTPUT_DIR. It wont be created for you.
- LOG_FILE = ${OUTPUT_DIR}/cross.log
- # The log file will be cleared each time you run ktest.
- CLEAR_LOG = 1
- # As some archs do not build with the defconfig, they have been marked
- # to be ignored. If you want to test them anyway, change DO_FAILED to 1.
- # If a test that has been marked as DO_FAILED passes, then you should change
- # that test to be DO_DEFAULT
- DO_FAILED := 0
- DO_DEFAULT := 1
- # By setting both DO_FAILED and DO_DEFAULT to zero, you can pick a single
- # arch that you want to test. (uncomment RUN and chose your arch)
- #RUN := m32r
- # At the bottom of the config file exists a bisect test. You can update that
- # test and set DO_FAILED and DO_DEFAULT to zero, and uncomment this variable
- # to run the bisect on the arch.
- #RUN := bisect
- # By default all tests will be running gcc 4.5.2. Some tests are using 4.5.1
- # and they select that in the test.
- # Note: GCC_VER is declared as on option and not a variable ('=' instead of ':=')
- # This is important. A variable is used only in the config file and if it is set
- # it stays that way for the rest of the config file until it is change again.
- # Here we want GCC_VER to remain persistent and change for each test, as it is used in
- # the MAKE_CMD. By using '=' instead of ':=' we achieve our goal.
- GCC_VER = 4.5.2
- MAKE_CMD = PATH=/usr/local/gcc-${GCC_VER}-nolibc/${CROSS}/bin:$PATH CROSS_COMPILE=${CROSS}- make ARCH=${ARCH}
- # all tests are only doing builds.
- TEST_TYPE = build
- # If you want to add configs on top of the defconfig, you can add those configs into
- # the add-config file and uncomment this option. This is useful if you want to test
- # all cross compiles with PREEMPT set, or TRACING on, etc.
- #ADD_CONFIG = ${THIS_DIR}/add-config
- # All tests are using defconfig
- BUILD_TYPE = defconfig
- # The test names will have the arch and cross compiler used. This will be shown in
- # the results.
- TEST_NAME = ${ARCH} ${CROSS}
- # alpha
- TEST_START IF ${RUN} == alpha || ${DO_DEFAULT}
- # Notice that CROSS and ARCH are also options and not variables (again '=' instead
- # of ':='). This is because TEST_NAME and MAKE_CMD wil use them for each test.
- # Only options are available during runs. Variables are only present in parsing the
- # config file.
- CROSS = alpha-linux
- ARCH = alpha
- # arm
- TEST_START IF ${RUN} == arm || ${DO_DEFAULT}
- CROSS = arm-unknown-linux-gnueabi
- ARCH = arm
- # black fin
- TEST_START IF ${RUN} == bfin || ${DO_DEFAULT}
- CROSS = bfin-uclinux
- ARCH = blackfin
- BUILD_OPTIONS = -j8 vmlinux
- # cris - FAILS?
- TEST_START IF ${RUN} == cris || ${RUN} == cris64 || ${DO_FAILED}
- CROSS = cris-linux
- ARCH = cris
- # cris32 - not right arch?
- TEST_START IF ${RUN} == cris || ${RUN} == cris32 || ${DO_FAILED}
- CROSS = crisv32-linux
- ARCH = cris
- # ia64
- TEST_START IF ${RUN} == ia64 || ${DO_DEFAULT}
- CROSS = ia64-linux
- ARCH = ia64
- # frv
- TEST_START IF ${RUN} == frv || ${DO_FAILED}
- CROSS = frv-linux
- ARCH = frv
- GCC_VER = 4.5.1
- # m68k fails with error?
- TEST_START IF ${RUN} == m68k || ${DO_DEFAULT}
- CROSS = m68k-linux
- ARCH = m68k
- # mips64
- TEST_START IF ${RUN} == mips || ${RUN} == mips64 || ${DO_DEFAULT}
- CROSS = mips64-linux
- ARCH = mips
- # mips32
- TEST_START IF ${RUN} == mips || ${RUN} == mips32 || ${DO_DEFAULT}
- CROSS = mips-linux
- ARCH = mips
- # m32r
- TEST_START IF ${RUN} == m32r || ${DO_FAILED}
- CROSS = m32r-linux
- ARCH = m32r
- GCC_VER = 4.5.1
- BUILD_OPTIONS = -j8 vmlinux
- # parisc64 failed?
- TEST_START IF ${RUN} == hppa || ${RUN} == hppa64 || ${DO_FAILED}
- CROSS = hppa64-linux
- ARCH = parisc
- # parisc
- TEST_START IF ${RUN} == hppa || ${RUN} == hppa32 || ${DO_FAILED}
- CROSS = hppa-linux
- ARCH = parisc
- # ppc
- TEST_START IF ${RUN} == ppc || ${RUN} == ppc32 || ${DO_DEFAULT}
- CROSS = powerpc-linux
- ARCH = powerpc
- # ppc64
- TEST_START IF ${RUN} == ppc || ${RUN} == ppc64 || ${DO_DEFAULT}
- CROSS = powerpc64-linux
- ARCH = powerpc
- # s390
- TEST_START IF ${RUN} == s390 || ${DO_DEFAULT}
- CROSS = s390x-linux
- ARCH = s390
- # sh
- TEST_START IF ${RUN} == sh || ${DO_DEFAULT}
- CROSS = sh4-linux
- ARCH = sh
- # sparc64
- TEST_START IF ${RUN} == sparc || ${RUN} == sparc64 || ${DO_DEFAULT}
- CROSS = sparc64-linux
- ARCH = sparc64
- # sparc
- TEST_START IF ${RUN} == sparc || ${RUN} == sparc32 || ${DO_DEFAULT}
- CROSS = sparc-linux
- ARCH = sparc
- # xtensa failed
- TEST_START IF ${RUN} == xtensa || ${DO_FAILED}
- CROSS = xtensa-linux
- ARCH = xtensa
- # UML
- TEST_START IF ${RUN} == uml || ${DO_DEFAULT}
- MAKE_CMD = make ARCH=um SUBARCH=x86_64
- ARCH = uml
- CROSS =
- TEST_START IF ${RUN} == x86 || ${RUN} == i386 || ${DO_DEFAULT}
- MAKE_CMD = make ARCH=i386
- ARCH = i386
- CROSS =
- TEST_START IF ${RUN} == x86 || ${RUN} == x86_64 || ${DO_DEFAULT}
- MAKE_CMD = make ARCH=x86_64
- ARCH = x86_64
- CROSS =
- #################################
- # This is a bisect if needed. You need to give it a MIN_CONFIG that
- # will be the config file it uses. Basically, just copy the created defconfig
- # for the arch someplace and point MIN_CONFIG to it.
- TEST_START IF ${RUN} == bisect
- MIN_CONFIG = ${THIS_DIR}/min-config
- CROSS = s390x-linux
- ARCH = s390
- TEST_TYPE = bisect
- BISECT_TYPE = build
- BISECT_GOOD = v3.1
- BISECT_BAD = v3.2
- CHECKOUT = v3.2
- #################################
- # These defaults are needed to keep ktest.pl from complaining. They are
- # ignored because the test does not go pass the build. No install or
- # booting of the target images.
- DEFAULTS
- MACHINE = crosstest
- SSH_USER = root
- BUILD_TARGET = cross
- TARGET_IMAGE = image
- POWER_CYCLE = cycle
- CONSOLE = console
- LOCALVERSION = version
- GRUB_MENU = grub
- REBOOT_ON_ERROR = 0
- POWEROFF_ON_ERROR = 0
- POWEROFF_ON_SUCCESS = 0
- REBOOT_ON_SUCCESS = 0
|