16d76f469SSteven Rostedt# This file holds defaults for most the tests. It defines the options that 26d76f469SSteven Rostedt# are most common to tests that are likely to be shared. 36d76f469SSteven Rostedt# 46d76f469SSteven Rostedt# Note, after including this file, a config file may override any option 56d76f469SSteven Rostedt# with a DEFAULTS OVERRIDE section. 66d76f469SSteven Rostedt# 76d76f469SSteven Rostedt 86d76f469SSteven Rostedt# For those cases that use the same machine to boot a 64 bit 96d76f469SSteven Rostedt# and a 32 bit version. The MACHINE is the DNS name to get to the 106d76f469SSteven Rostedt# box (usually different if it was 64 bit or 32 bit) but the 116d76f469SSteven Rostedt# BOX here is defined as a variable that will be the name of the box 126d76f469SSteven Rostedt# itself. It is useful for calling scripts that will power cycle 136d76f469SSteven Rostedt# the box, as only one script needs to be created to power cycle 146d76f469SSteven Rostedt# even though the box itself has multiple operating systems on it. 156d76f469SSteven Rostedt# By default, BOX and MACHINE are the same. 166d76f469SSteven Rostedt 176d76f469SSteven RostedtDEFAULTS IF NOT DEFINED BOX 186d76f469SSteven RostedtBOX := ${MACHINE} 196d76f469SSteven Rostedt 206d76f469SSteven Rostedt 216d76f469SSteven Rostedt# Consider each box as 64 bit box, unless the config including this file 226d76f469SSteven Rostedt# has defined BITS = 32 236d76f469SSteven Rostedt 246d76f469SSteven RostedtDEFAULTS IF NOT DEFINED BITS 256d76f469SSteven RostedtBITS := 64 266d76f469SSteven Rostedt 276d76f469SSteven Rostedt 286d76f469SSteven RostedtDEFAULTS 296d76f469SSteven Rostedt 306d76f469SSteven Rostedt# THIS_DIR is used through out the configs and defaults to ${PWD} which 316d76f469SSteven Rostedt# is the directory that ktest.pl was called from. 326d76f469SSteven Rostedt 336d76f469SSteven RostedtTHIS_DIR := ${PWD} 346d76f469SSteven Rostedt 356d76f469SSteven Rostedt 36ce8283d5SMasanari Iida# to organize your configs, having each machine save their configs 376d76f469SSteven Rostedt# into a separate directly is useful. 386d76f469SSteven RostedtCONFIG_DIR := ${THIS_DIR}/configs/${MACHINE} 396d76f469SSteven Rostedt 406d76f469SSteven Rostedt# Reset the log before running each test. 416d76f469SSteven RostedtCLEAR_LOG = 1 426d76f469SSteven Rostedt 436d76f469SSteven Rostedt# As installing kernels usually requires root privilege, default the 446d76f469SSteven Rostedt# user on the target as root. It is also required that the target 456d76f469SSteven Rostedt# allows ssh to root from the host without asking for a password. 466d76f469SSteven Rostedt 476d76f469SSteven RostedtSSH_USER = root 486d76f469SSteven Rostedt 49*f3a30016SWangYuli# For accessing the machine, we will ssh to root@machine. 506d76f469SSteven RostedtSSH := ssh ${SSH_USER}@${MACHINE} 516d76f469SSteven Rostedt 526d76f469SSteven Rostedt# Update this. The default here is ktest will ssh to the target box 536d76f469SSteven Rostedt# and run a script called 'run-test' located on that box. 546d76f469SSteven RostedtTEST = ${SSH} run-test 556d76f469SSteven Rostedt 566d76f469SSteven Rostedt# Point build dir to the git repo you use 576d76f469SSteven RostedtBUILD_DIR = ${THIS_DIR}/linux.git 586d76f469SSteven Rostedt 596d76f469SSteven Rostedt# Each machine will have its own output build directory. 606d76f469SSteven RostedtOUTPUT_DIR = ${THIS_DIR}/build/${MACHINE} 616d76f469SSteven Rostedt 626d76f469SSteven Rostedt# Yes this config is focused on x86 (but ktest works for other archs too) 636d76f469SSteven RostedtBUILD_TARGET = arch/x86/boot/bzImage 646d76f469SSteven RostedtTARGET_IMAGE = /boot/vmlinuz-test 656d76f469SSteven Rostedt 666d76f469SSteven Rostedt# have directory for the scripts to reboot and power cycle the boxes 676d76f469SSteven RostedtSCRIPTS_DIR := ${THIS_DIR}/scripts 686d76f469SSteven Rostedt 696d76f469SSteven Rostedt# You can have each box/machine have a script to power cycle it. 706d76f469SSteven Rostedt# Name your script <box>-cycle. 716d76f469SSteven RostedtPOWER_CYCLE = ${SCRIPTS_DIR}/${BOX}-cycle 726d76f469SSteven Rostedt 736d76f469SSteven Rostedt# This script is used to power off the box. 746d76f469SSteven RostedtPOWER_OFF = ${SCRIPTS_DIR}/${BOX}-poweroff 756d76f469SSteven Rostedt 766d76f469SSteven Rostedt# Keep your test kernels separate from your other kernels. 776d76f469SSteven RostedtLOCALVERSION = -test 786d76f469SSteven Rostedt 796d76f469SSteven Rostedt# The /boot/grub/menu.lst is searched for the line: 806d76f469SSteven Rostedt# title Test Kernel 816d76f469SSteven Rostedt# and ktest will use that kernel to reboot into. 826d76f469SSteven Rostedt# For grub2 or other boot loaders, you need to set BOOT_TYPE 836d76f469SSteven Rostedt# to 'script' and define other ways to load the kernel. 846d76f469SSteven Rostedt# See snowball.conf example. 856d76f469SSteven Rostedt# 866d76f469SSteven RostedtGRUB_MENU = Test Kernel 876d76f469SSteven Rostedt 886d76f469SSteven Rostedt# The kernel build will use this option. 896d76f469SSteven RostedtBUILD_OPTIONS = -j8 906d76f469SSteven Rostedt 916d76f469SSteven Rostedt# Keeping the log file with the output dir is convenient. 926d76f469SSteven RostedtLOG_FILE = ${OUTPUT_DIR}/${MACHINE}.log 936d76f469SSteven Rostedt 946d76f469SSteven Rostedt# Each box should have their own minum configuration 956d76f469SSteven Rostedt# See min-config.conf 966d76f469SSteven RostedtMIN_CONFIG = ${CONFIG_DIR}/config-min 976d76f469SSteven Rostedt 986d76f469SSteven Rostedt# For things like randconfigs, there may be configs you find that 996d76f469SSteven Rostedt# are already broken, or there may be some configs that you always 1006d76f469SSteven Rostedt# want set. Uncomment ADD_CONFIG and point it to the make config files 1016d76f469SSteven Rostedt# that set the configs you want to keep on (or off) in your build. 1026d76f469SSteven Rostedt# ADD_CONFIG is usually something to add configs to all machines, 1036d76f469SSteven Rostedt# where as, MIN_CONFIG is specific per machine. 1046d76f469SSteven Rostedt#ADD_CONFIG = ${THIS_DIR}/config-broken ${THIS_DIR}/config-general 1056d76f469SSteven Rostedt 1066d76f469SSteven Rostedt# To speed up reboots for bisects and patchcheck, instead of 1076d76f469SSteven Rostedt# waiting 60 seconds for the console to be idle, if this line is 1086d76f469SSteven Rostedt# seen in the console output, ktest will know the good kernel has 1096d76f469SSteven Rostedt# finished rebooting and it will be able to continue the tests. 1106d76f469SSteven RostedtREBOOT_SUCCESS_LINE = ${MACHINE} login: 1116d76f469SSteven Rostedt 1126d76f469SSteven Rostedt# The following is different ways to end the test. 1136d76f469SSteven Rostedt# by setting the variable REBOOT to: none, error, fail or 1146d76f469SSteven Rostedt# something else, ktest will power cycle or reboot the target box 1156d76f469SSteven Rostedt# at the end of the tests. 1166d76f469SSteven Rostedt# 1176d76f469SSteven Rostedt# REBOOT := none 1186d76f469SSteven Rostedt# Don't do anything at the end of the test. 1196d76f469SSteven Rostedt# 1206d76f469SSteven Rostedt# REBOOT := error 1216d76f469SSteven Rostedt# Reboot the box if ktest detects an error 1226d76f469SSteven Rostedt# 1236d76f469SSteven Rostedt# REBOOT := fail 1246d76f469SSteven Rostedt# Do not stop on failure, and after all tests are complete 1256d76f469SSteven Rostedt# power off the box (for both success and error) 1266d76f469SSteven Rostedt# This is good to run over a weekend and you don't want to waste 1276d76f469SSteven Rostedt# electricity. 1286d76f469SSteven Rostedt# 1296d76f469SSteven Rostedt 1306d76f469SSteven RostedtDEFAULTS IF ${REBOOT} == none 1316d76f469SSteven RostedtREBOOT_ON_SUCCESS = 0 1326d76f469SSteven RostedtREBOOT_ON_ERROR = 0 1336d76f469SSteven RostedtPOWEROFF_ON_ERROR = 0 1346d76f469SSteven RostedtPOWEROFF_ON_SUCCESS = 0 1356d76f469SSteven Rostedt 1366d76f469SSteven RostedtDEFAULTS ELSE IF ${REBOOT} == error 1376d76f469SSteven RostedtREBOOT_ON_SUCCESS = 0 1386d76f469SSteven RostedtREBOOT_ON_ERROR = 1 1396d76f469SSteven RostedtPOWEROFF_ON_ERROR = 0 1406d76f469SSteven RostedtPOWEROFF_ON_SUCCESS = 0 1416d76f469SSteven Rostedt 1426d76f469SSteven RostedtDEFAULTS ELSE IF ${REBOOT} == fail 1436d76f469SSteven RostedtREBOOT_ON_SUCCESS = 0 1446d76f469SSteven RostedtPOWEROFF_ON_ERROR = 1 1456d76f469SSteven RostedtPOWEROFF_ON_SUCCESS = 1 1466d76f469SSteven RostedtPOWEROFF_AFTER_HALT = 120 1476d76f469SSteven RostedtDIE_ON_FAILURE = 0 1486d76f469SSteven Rostedt 1496d76f469SSteven Rostedt# Store the failure information into this directory 1506d76f469SSteven Rostedt# such as the .config, dmesg, and build log. 1516d76f469SSteven RostedtSTORE_FAILURES = ${THIS_DIR}/failures 1526d76f469SSteven Rostedt 1536d76f469SSteven RostedtDEFAULTS ELSE 1546d76f469SSteven RostedtREBOOT_ON_SUCCESS = 1 1556d76f469SSteven RostedtREBOOT_ON_ERROR = 1 1566d76f469SSteven RostedtPOWEROFF_ON_ERROR = 0 1576d76f469SSteven RostedtPOWEROFF_ON_SUCCESS = 0 158