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@
( /root/internal-tests ) 2>&1 | tee /dev/ttyS0
The redirection accomplishes logging to file:$WORKDIR/logs/kvm.log-2 outside the kvm instance.
kernel-autobuild –config some-dotconfig-file –dotconfig-setting DEF=val –dotconfig-setting-file file
kab_identify_kernel_config_file
$LASTVERSION
$LASTCONFIG
isn't set (this would be by –config
) source/config-${LASTVERSION}*
, sets $__LAST_VERSIONED_CONFIG
$__LAST_VERSIONED_CONFIG
is a file and exists set $LASTVERSION
to $__LAST_VERSIONED_CONFIG
source/config
is a file and exists set $LASTVERSION
to source/config
/boot/config-$(uname -r)
is a file and exists set $LASTVERSION
to /boot/config-$(uname -r)
kernel-autobuild
reports $LASTCONFIG
to $INFO_DIR/LASTCONFIG
kab_downloads
copies $LASTCONFIG
to $SRC_DIR/config
kab_apply_dotconfigsettings
calls kab_modify_dotconfig
which$SRC_DIR/config
–dotconfig-setting-file
(if present)–dotconfig-setting
(if present)$SRC_DIR/config
to $SRC_DIR/config-orig-YYYYMMDD-HHMMDD
$SRC_DIR/config
with applied changes$SRC_DIR/dotconfig.changelog
listing applied changes suitable for debian/changelog
kab_compile_and_package
$BUILD_DIR/linux-*/.config
to $SRC_DIR/config-orig
$SRC_DIR/config
to $BUILD_DIR/linux-*/.config
make oldconfig
$BUILD_DIR/linux-*/.config
to $SRC_DIR/config-oldconfig
$BUILD_DIR/linux-*/.config
to $SRC_DIR/config-$KSRCVER–${PVER}-$GLOBAL_DATE
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
patch-scripts-package-builddeb-v3.10.35+.diff
patches script/package/builddeb
$KAB_CHANGELOG
(see below)kab_apply_dotconfigsettings
$SRC_DIR/dotconfig.changelog
listing applied changes suitable for debian/changelog
kernel-autobuild
KAB_CHANGELOG
to kab_compile_and_package
kab_compile_and_package
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