====== kernel-autobuild - intrinsics ====== ===== re-starting kvm for debugging ===== WORKDIR="/var/lib/kernel-autobuild/3.4/3.4.63--vs2.3.3.9--2" IMGFILE="squeeze-kerneltest-20130930-182510.img" IMG="$WORKDIR/img/$IMGFILE" kvm -M pc -net nic,macaddr=66:66:66:66:66:15,model=rtl8139 -net tap,script=/etc/kvm/kvm-ifup "$IMG" -name squeeze-kerneltest -k de -daemonize -pidfile $WORKDIR/logs/kvm.pid -serial file:$WORKDIR/logs/kvm.log-2 -monitor unix:$WORKDIR/logs/kvm-socket,server,nowait -nographic -vnc 127.0.0.1:15 /usr/bin/vncviewer 127.0.0.1:15 ip a l ssh root@ ===== re-running tests inside kvm ===== ( /root/internal-tests ) 2>&1 | tee /dev/ttyS0 The redirection accomplishes logging to file:$WORKDIR/logs/kvm.log-2 outside the kvm instance. ===== .config lifecycle (as of kernel-autobuild 0.7-devel6) ===== * ''kernel-autobuild --config some-dotconfig-file --dotconfig-setting DEF=val --dotconfig-setting-file file'' * ''kab_identify_kernel_config_file'' * looks for the latest (time) kernel build tree, sets ''$LASTVERSION'' * if ''$LASTCONFIG'' isn't set (this would be by ''--config'' ) * checks for the latest ''source/config-${LASTVERSION}*'', sets ''$__LAST_VERSIONED_CONFIG'' * if ''$__LAST_VERSIONED_CONFIG'' is a file and exists set ''$LASTVERSION'' to ''$__LAST_VERSIONED_CONFIG'' * elsif ''source/config'' is a file and exists set ''$LASTVERSION'' to ''source/config'' * elsif ''/boot/config-$(uname -r)'' is a file and exists set ''$LASTVERSION'' to ''/boot/config-$(uname -r)'' * else error && abort * ''kernel-autobuild'' reports ''$LASTCONFIG'' to ''$INFO_DIR/LASTCONFIG'' * ''kab_downloads'' copies ''$LASTCONFIG'' to ''$SRC_DIR/config'' * ''kab_apply_dotconfigsettings'' calls ''kab_modify_dotconfig'' which * reads ''$SRC_DIR/config'' * applies changes from ''--dotconfig-setting-file'' (if present) * applies changes from ''--dotconfig-setting'' (if present) * moves ''$SRC_DIR/config'' to ''$SRC_DIR/config-orig-YYYYMMDD-HHMMDD'' * creates ''$SRC_DIR/config'' with applied changes * creates ''$SRC_DIR/dotconfig.changelog'' listing applied changes suitable for ''debian/changelog'' * ''kab_compile_and_package'' * backups an existing ''$BUILD_DIR/linux-*/.config'' to ''$SRC_DIR/config-orig'' * copies ''$SRC_DIR/config'' to ''$BUILD_DIR/linux-*/.config'' * runs ''make oldconfig'' * backups ''$BUILD_DIR/linux-*/.config'' to ''$SRC_DIR/config-oldconfig'' * ( build kernel ) * backups ''$BUILD_DIR/linux-*/.config'' to ''$SRC_DIR/config-$KSRCVER--${PVER}-$GLOBAL_DATE'' ==== samples ==== **If called without none of ''--dotconfig-setting-file'' or ''--dotconfig-setting'':** /var/lib/kernel-autobuild/3.10/3.10.40--vs2.3.6.8--1/source# ls -ltrc total 74184 -rw-r--r-- 1 root root 73247024 May 13 14:03 linux-3.10.40.tar.xz <- kernel source archive as downloaded from kernel.org -rw-r--r-- 1 root root 748146 May 20 07:06 patch-3.10.40-vs2.3.6.8.diff <- vserver-patch as downloaded from linux-vserver.org -rw-r--r-- 1 root root 3632 Apr 3 12:46 patch-scripts-package-builddeb-v3.10.35+.diff <- patch to make scripts/package/builddeb suitable -rw-r--r-- 1 root root 748146 May 20 07:06 patch-3.10.40-vs2.3.6.8.diff-as-downloaded <- vserver-patch as downloaded from linux-vserver.org -rw-r--r-- 1 root root 748153 Jun 10 14:29 patch-3.10.40-vs2.3.6.8.diff.mod <- vserver-patch modified to match actual kernel version -rw-r--r-- 1 root root 149009 May 12 17:19 config <- config as inherited from the last build -rw-r--r-- 1 root root 149009 Jun 10 14:29 config-oldconfig <- result of make oldconfig -rw-r--r-- 1 root root 149009 Jun 10 14:46 config-3.10.40--vs2.3.6.8-20140610-142847 <- result of make oldconfig **If called with one or both of ''--dotconfig-setting-file'' or ''--dotconfig-setting'':** **Note:** ''config-orig-20140610-164228'' takes the place of ''config'' here. /var/lib/kernel-autobuild/3.10/3.10.40--vs2.3.6.8--1/source# ls -ltrc total 74324 -rw-r--r-- 1 root root 73247024 Jun 10 16:42 linux-3.10.40.tar.xz <- kernel source archive as downloaded from kernel.org -rw-r--r-- 1 root root 748146 Jun 10 16:42 patch-3.10.40-vs2.3.6.8.diff <- vserver-patch as downloaded from linux-vserver.org -rw-r--r-- 1 root root 3632 Jun 10 16:42 patch-scripts-package-builddeb-v3.10.35+.diff <- patch to make scripts/package/builddeb suitable -rw-r--r-- 1 root root 748146 Jun 10 16:42 patch-3.10.40-vs2.3.6.8.diff-as-downloaded <- vserver-patch as downloaded from linux-vserver.org -rw-r--r-- 1 root root 748153 Jun 10 16:42 patch-3.10.40-vs2.3.6.8.diff.mod <- vserver-patch modified to match actual kernel version -rw-r--r-- 1 root root 149009 Jun 10 16:42 config-orig-20140610-164228 <- config as inherited from the last build -rw-r--r-- 1 root root 149440 Jun 10 16:42 config <- config as modified by --dotconfig-setting(-file) -rw-r--r-- 1 root root 9845 Jun 10 16:42 dotconfig.changelog <- changelog: what changes were made by --dotconfig-setting(-file) to config -rw-r--r-- 1 root root 142549 Jun 10 16:42 config-oldconfig <- result of make oldconfig -rw-r--r-- 1 root root 142549 Jun 10 16:58 config-3.10.40--vs2.3.6.8-20140610-164136 <- result of make oldconfig ===== .config-changes lifecycle (as of kernel-autobuild 0.7-devel6) ===== * ''patch-scripts-package-builddeb-v3.10.35+.diff'' patches ''script/package/builddeb'' * now recognizes ''$KAB_CHANGELOG'' (see below) * ''kab_apply_dotconfigsettings'' * creates ''$SRC_DIR/dotconfig.changelog'' listing applied changes suitable for ''debian/changelog'' * returns KAB_CHANGELOG variable * ''kernel-autobuild '' * assigns ''KAB_CHANGELOG'' to ''kab_compile_and_package'' * ''kab_compile_and_package'' * export ''KAB_CHANGELOG'' * ''make ..'' calls ''script/package/builddeb'' * ''script/package/builddeb'' checks ''$KAB_CHANGELOG'' * ''script/package/builddeb'' creates ''debian/changelog'', including the file indicated by ''$KAB_CHANGELOG''