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