====== How to work with kernel-autobuild ======
===== installation =====
* add to ''/etc/apt/sources.list'': ''deb http://ftp.lihas.de/debian stable main''
* ''wget -O - http://ftp.lihas.de/debian/apt-key-lihas.gpg | apt-key add -''
* ''apt-get update''
* ''apt-get install kernel-autobuild''
* I recommend creating two or more 100GB logical volumes
* one for general usage
* one for the kernel release to build
VG=$(vgs | awk 'NR==2 { print $1 }')
lvcreate $VG -n kernel-autobuild -L 100G
lvcreate $VG -n kernel-autobuild34 -L 100G
lvcreate $VG -n kernel-autobuild310 -L 100G
mkfs -t ext4 /dev/$VG/kernel-autobuild
mkfs -t ext4 /dev/$VG/kernel-autobuild34
mkfs -t ext4 /dev/$VG/kernel-autobuild310
echo "/dev/$VG/kernel-autobuild /var/lib/kernel-autobuild ext4 noatime,nodiratime 0 0" >> /etc/fstab
echo "/dev/$VG/kernel-autobuild34 /var/lib/kernel-autobuild-3.4 ext4 noatime,nodiratime 0 0" >> /etc/fstab
echo "/dev/$VG/kernel-autobuild310 /var/lib/kernel-autobuild-3.10 ext4 noatime,nodiratime 0 0" >> /etc/fstab
mkdir /var/lib/kernel-autobuild
mount /var/lib/kernel-autobuild
mkdir /var/lib/kernel-autobuild-3.4
mount /var/lib/kernel-autobuild-3.4
mkdir /var/lib/kernel-autobuild-3.10
mount /var/lib/kernel-autobuild-3.10
* next, you need a kvm template image. here is the rough sketch:
mkdir /var/lib/kernel-autobuild/00-resources
cd /var/lib/kernel-autobuild/00-resources
dd if=/dev/zero of=wheezy-kerneltest.img bs=1024k count=1024
/sbin/fdisk wheezy-kerneltest.img << EOF
x
c
130
r
n
p
1
+800M
n
p
2
a
1
t
2
82
w
EOF
fdisk -l wheezy-kerneltest.img
# Device Boot Start End Blocks Id System
# wheezy-kerneltest.img1 * 2048 1640447 819200 83 Linux
# wheezy-kerneltest.img2 1640448 2097151 228352 82 Linux swap / Solaris
KPARTX_OUT=$( kpartx -av wheezy-kerneltest.img )
PART=$( awk '{ print "PART" NR "=/dev/mapper/" $3 }' <<< "$KPARTX_OUT" )
echo $PART
# PART1=/dev/mapper/loop0p1 PART2=/dev/mapper/loop0p2
eval $PART
mkfs -t ext3 $PART1
mkswap $PART2
# install virtual engine using dhcp/tftp bootserver:
kvm -M pc -net nic,macaddr=66:66:66:66:66:15,model=rtl8139 -net tap,script=/etc/kvm/kvm-ifup wheezy-kerneltest.img -name wheezy-kerneltest -k de -boot n -vnc :2 &
vncviewer :2
# coming up: debian-basis-installation
# language: US-English
# keyboard: doesn't matter. just make sure it matches the kvm command ("-k de") line above
# everything in one disk (/dev/sda1)
# inside kvm f. Debian 8 / jessie:
# - get rid of systemd:
# cat << EOF > /etc/apt/preferences.d/sysv
# Package: systemd-sysv
# Pin: release o=Debian
# Pin-Priority: -1
# EOF
# apt-get update
# apt-get install sysvinit-core
#
# inside kvm: apt-get clean
# inside kvm: dd if=/dev/zero of=/tmp/null ; rm /tmp/null
kpartx -dv wheezy-kerneltest.img
# results in 150MB out of 1GB in 1:30 min (i7-4770 @3.4GHz, 32GB):
pxz -M 1G -9 wheezy-kerneltest.img
* your /etc/kernel-autobuild.xml might look like this
* patch-scripts-package-builddeb-v3.4.85+.diff
base64 -d << EOBASE64 | gunzip > /var/lib/kernel-autobuild/3.4/00-resources/patch-scripts-package-builddeb-v3.4.85+.diff; chmod 644 /var/lib/kernel-autobuild/3.4/00-resources/patch-scripts-package-builddeb-v3.4.85+.diff
H4sICBw8PVMCA3BhdGNoLXNjcmlwdHMtcGFja2FnZS1idWlsZGRlYi12My40Ljg1Ky5kaWZmAMVW
bU/jRhD+jH/FKJe7Avb6LQkJOXI6XtJcBQUUev3Sq8CxN4mL37Rrw6Er/e2d9TqJHRNepEpFAmzP
7LMzzzwzu4QQ4C7zk5QbiePeOjNqTDI/8Dw62bJNq03MFmlZYPX6nV6/1dPNxQ+opm2aiqqqLwEI
DDD3+x27327pe3avbXb2zXYB8PkzkG5bs/Ad/9km4Ad/Cn8AiaDRPD0ZHl1fno5+H46vfrk4b8Cf
HyGd00gBGnCqwFax5x1l3I+jQbN4IE1G73zxpMDUV1RFLQzX1qD5o3h+/17ffVxZbGdlererly0r
A3qtLbPsQWNlth71ku9jA7eGNEw8n6FXPPkrZZQayI3vRAZ+b2B4908ap/fSfEtZRIPrOXU8RL1+
0nfuMekc+BP3BdfcKL0L7iInpIPAj7LvxA/xnSxIVMj0vu4z9Vl47zAqnRX1ZZ8lIHJVS6i+uLCU
wqikVV8gzMSjd4r6SsdqQIrUW6N5OD7+0oABNLIQhQYLpW2VgTJOGQljjxIJuQxS6NjqdrU9UK1e
S+sKHbtOCgcHw4uf4RMU/LtzJ5rRIJ6JYgmALOFYHyeE7WZVyzuQRTx1JgH9CBnD7d2HQRDfi3gB
duE442kcgui1FM4EVMGsrqg32D1T0T2HR9fHXw7PR8Ozi5FI6cOHPKaa5SZHxVnQDB0/SvGXMoDm
tuekFMh4RwFMIk8RW1akaJtdmeLMT/uGgX/1YveYzYwkmxjcDY08QyM3KHARwUnOAYzOvxoyYv7A
UxpyTTANbhwmAcUNU/o9hXiaf0RfGFEMxwngMpsEvqtgti6NOIWCKLAxqQgmFKZxFnngR/Dtxsg4
M/gcNWggbogTIZCruDG6PCP2T7rMSXWYOx9gpsntDAlIGKZPxDc/pW6aMbojqHlXxIDBORhnlLI4
wLkSYFpP1Vg6SL6sDhKl2nYhiSeltlRaCayGhmFcSoH0oVmSpEIuWXzne5T3odTFWvmF2Pre4gOK
Nwtoqb3UV6wvDTj7cSMSHJaI64MTPShYc3k8oL0PX7F74FfsnopitWUlV0i5a95ohavPkfokZktl
lBEgjcFPOcT3UaEprEtQVKBlaz2sQNvULFuUoDg5/heuyVU2m1Ge4vpmZXD+B1VYGB/xUSgYz6gT
mtDIQ0jpRPzIT0kaxwFfrJ442EjbnwaAUestG8/6HQ2EG3PCKZe+ud3UO50d+HsRT8VDBE/JcjMk
E4mconPxhJTgTWFMRSdKl2ry+Qar+DGCLPUDcocSwG+KuiJN7u7FLpHxajBj2SQPK4hzGKtv23qP
9HT7HxGuMJPElSZ9f39HUY9w3N4iVi3LgwOZpVag4XsZ7WV5vyjq3+Yo4yLxfI7gpOU1NWtFuVDx
OM7cmDHKkzjy/GgGMTozqevOXj5Z9npysrBQDv363YAzV8wq3sitlZH1vPI3H9X1RiictOqrKFNd
2ht8K/J+G9tQYOARwKB5OhyfD8/Gw7Ph4dUQsATfmj+kXx/Tlb2xVoykCLGKl8/4N4Dmdem28hOy
19Gs0m2WIvnyIojH4sRY3JBK07/MfHU2rFOBk63UE2s6rowMRT3G/sOjb9U86/e3MU0Cx6Ub7evF
W7M/U5OF5xtaYbEEpgwvN/XGWAfSSzeTXlv0QwsvKPtrl6/nVb7p0qjAFTKep4V3RhrUqZJRLfSL
mGtUrdnrtVgHeJ3keZbkB2FZ8+JeyjF4KmONExy06UaRL735CuQpwnUBQPGEWET4L+ExApcwDgAA
EOBASE64
* patch-scripts-package-builddeb-v3.10.35+.diff
base64 -d << EOBASE64 | gunzip > /var/lib/kernel-autobuild/3.10/00-resources/patch-scripts-package-builddeb-v3.10.35+.diff; chmod 644 /var/lib/kernel-autobuild/3.10/00-resources/patch-scripts-package-builddeb-v3.10.35+.diff
H4sICBw8PVMCA3BhdGNoLXNjcmlwdHMtcGFja2FnZS1idWlsZGRlYi12My4xMC4zNSsuZGlmZgDF
Vm1P40YQ/ox/xSiXuwL2+i0JCTlyOl7SXAUFFHr90qvAsTeJi9+0a8OhK/3tnfU6iR0TXqRKRQJs
z+yzM888M7uEEOAu85OUG4nj3jozakwyP/A8OtmyTatNzBZpWWD1+p1ev9XTzcUPqKZtmoqqqi8B
CAww9/sdu99u6Xt2r2129s12AfD5M5BuW7PwHf/ZJuAHfwp/AImg0Tw9GR5dX56Ofh+Or365OG/A
nx8hndNIARpwqsBWsecdZdyPo0GzeCBNRu988aTA1FdURS0M19ag+aN4fv9e331cWWxnZXq3q5ct
KwN6rS2z7EFjZbYe9ZLvYwO3hjRMPJ+hVzz5K2WUGsiN70QGfm9gePdPGqf30nxLWUSD6zl1PES9
ftJ37jHpHPgT9wXX3Ci9C+4iJ6SDwI+y78QP8Z0sSFTI9L7uM/VZeO8wKp0V9WWfJSByVUuovriw
lMKopFVfIMzEo3eK+krHakCK1FujeTg+/tKAATSyEIUGC6VtlYEyThkJY48SCbkMUujY6na1PVCt
XkvrCh27TgoHB8OLn+ETFPy7cyea0SCeiWIJgCzhWB8nhO1mVcs7kEU8dSYB/QgZw+3dh0EQ34t4
AXbhOONpHILotRTOBFTBrK6oN9g9U9E9h0fXx18Oz0fDs4uRSOnDhzymmuUmR8VZ0AwdP0rxlzKA
5rbnpBTIeEcBTCJPEVtWpGibXZnizE/7hoF/9WL3mM2MJJsY3A2NPEMjNyhwEcFJzgGMzr8aMmL+
wFMack0wDW4cJgHFDVP6PYV4mn9EXxhRDMcJ4DKbBL6rYLYujTiFgiiwMakIJhSmcRZ54Efw7cbI
ODP4HDVoIG6IEyGQq7gxujwj9k+6zEl1mDsfYKbJ7QwJSBimT8Q3P6VumjG6I6h5V8SAwTkYZ5Sy
OMC5EmBaT9VYOki+rA4Spdp2IYknpbZUWgmshoZhXEqB9KFZkqRCLll853uU96HUxVr5hdj63uID
ijcLaKm91FesLw04+3EjEhyWiOuDEz0oWHN5PKC9D1+xe+BX7J6KYrVlJVdIuWveaIWrz5H6JGZL
ZZQRII3BTznE91GhKaxLUFSgZWs9rEDb1CxblKA4Of4XrslVNptRnuL6ZmVw/gdVWBgf8VEoGM+o
E5rQyENI6UT8yE9JGscBX6yeONhI258GgFHrLRvP+h0NhBtzwimXvrnd1DudHfh7EU/FQwRPyXIz
JBOJnKJz8YSU4E1hTEUnSpdq8vkGq/gxgiz1A3KHEsBviroiTe7uxS6R8WowY9kkDyuIcxirb9t6
j/R0+x8RrjCTxJUmfX9/R1GPcNzeIlYty4MDmaVWoOF7Ge1leb8o6t/mKOMi8XyO4KTlNTVrRblQ
8TjO3JgxypM48vxoBjE6M6nrzl4+WfZ6crKwUA79+t2AM1fMKt7IrZWR9bzyNx/V9UYonLTqqyhT
XdobfCvyfhvbUGDgEcCgeTocnw/PxsOz4eHVELAE35o/pF8f05W9sVaMpAixipfP+DeA5nXptvIT
stfRrNJtliL58iKIx+LEWNyQStO/zHx1NqxTgZOt1BNrOq6MDEU9xv7Do2/VPOv3tzFNAselG+3r
xVuzP1OThecbWmGxBKYMLzf1xlgH0ks3k15b9EMLLyj7a5ev51W+6dKowBUynqeFd0Ya1KmSUS30
i5hrVK3Z67VYB3id5HmW5AdhWfPiXsoxeCpjjRMctOlGkS+9+QrkKcJ1AUDxhFhE+C/hMQKXMA4A
AA==
EOBASE64
* run ''kernel-autobuild --template 3.10'' or ''kernel-autobuild --template 3.4''
===== build kernel 4.1.21 (Tue Apr 19 09:56:09 CEST 2016) =====
kernel-autobuild --kernel-base-version 4.1 --config /var/lib/kernel-autobuild/4.1/00-resources/config-4.2.0-0.bpo.1-amd64-debian-jessie-bpo --vspatch-url-template 'http://vserver.13thfloor.at/Experimental/patch-4.1.18-vs\${PVER}.diff' --pver "2.3.8.4" --dotconfig-setting EXT4_FS=y,EXT4_ENCRYPTION=y --template 4.1
===== build kernel 4.1.24 (Thu May 12 15:19:44 CEST 2016) =====
/usr/bin/kernel-autobuild --kernel-base-version 4.1 --config /var/lib/kernel-autobuild/4.1/00-resources/config-4.2.0-0.bpo.1-amd64-debian-jessie-bpo --vspatch-url-template 'http://vserver.13thfloor.at/Experimental/patch-4.1.18-vs\${PVER}.diff' --pver "2.3.8.4" --dotconfig-setting "EXT4_FS=y,EXT4_ENCRYPTION=y,UEVENT_HELPER_PATH'\"\"'" --template 4.1
===== build kernel 4.1.26 #2 (Tue Jun 14 14:24:45 CEST 2016) =====
"/usr/bin/kernel-autobuild" "--kernel-base-version" "4.1" "--config" "/var/lib/kernel-autobuild/4.1/00-resources/config-4.2.0-0.bpo.1-amd64-debian-jessie-bpo" "--vspatch-url-template" 'http://vserver.13thfloor.at/Experimental/patch-4.1.18-vs\${PVER}.diff' "--pver" "2.3.8.4" "--dotconfig-setting" "EXT4_FS=y,EXT4_ENCRYPTION=y,UEVENT_HELPER_PATH'\"\"',CONFIG_SYSTEM_TRUSTED_KEYRING=y,CONFIG_ASN1=m,CONFIG_CRYPTO_USER=m,CONFIG_CRYPTO_MCRYPTD=m,CONFIG_CRYPTO_USER_API_RNG=m,CONFIG_CRYPTO_HASH_INFO=y,CONFIG_ASYMMETRIC_KEY_TYPE=m,CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=m,CONFIG_PUBLIC_KEY_ALGO_RSA=m,CONFIG_X509_CERTIFICATE_PARSER=m,CONFIG_PKCS7_MESSAGE_PARSER=m,CONFIG_PKCS7_TEST_KEY=m,CONFIG_CLZ_TAB=y,CONFIG_MPILIB=m" "--template" "4.1" --sequential 2
note: failed to include CONFIG_CRYPTO_TEST=m
===== build kernel 4.1.26 #3 (Tue Jun 14 16:17:59 CEST 2016) =====
"/usr/bin/kernel-autobuild" "--kernel-base-version" "4.1" "--config" "/var/lib/kernel-autobuild/4.1/00-resources/config-4.2.0-0.bpo.1-amd64-debian-jessie-bpo" "--vspatch-url-template" 'http://vserver.13thfloor.at/Experimental/patch-4.1.18-vs\${PVER}.diff' "--pver" "2.3.8.4" "--dotconfig-setting" "EXT4_FS=y,EXT4_ENCRYPTION=y,UEVENT_HELPER_PATH'\"\"',CONFIG_SYSTEM_TRUSTED_KEYRING=y,CONFIG_ASN1=m,CONFIG_CRYPTO_USER=m,CONFIG_CRYPTO_MCRYPTD=m,CONFIG_CRYPTO_USER_API_RNG=m,CONFIG_CRYPTO_HASH_INFO=y,CONFIG_ASYMMETRIC_KEY_TYPE=m,CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=m,CONFIG_PUBLIC_KEY_ALGO_RSA=m,CONFIG_X509_CERTIFICATE_PARSER=m,CONFIG_PKCS7_MESSAGE_PARSER=m,CONFIG_PKCS7_TEST_KEY=m,CONFIG_CLZ_TAB=y,CONFIG_MPILIB=m,CONFIG_CRYPTO_TEST=m" "--template" "4.1" --sequential 3
===== build kernel 4.1.27 (Thu Jun 23 13:54:26 CEST 2016) =====
"/usr/bin/kernel-autobuild" "--kernel-base-version" "4.1" "--config" "/var/lib/kernel-autobuild/4.1/00-resources/config-4.2.0-0.bpo.1-amd64-debian-jessie-bpo" "--vspatch-url-template" 'http://vserver.13thfloor.at/Experimental/patch-4.1.18-vs\${PVER}.diff' "--pver" "2.3.8.4" "--dotconfig-setting" "EXT4_FS=y,EXT4_ENCRYPTION=y,UEVENT_HELPER_PATH='\"\"',CONFIG_SYSTEM_TRUSTED_KEYRING=y,CONFIG_ASN1=m,CONFIG_CRYPTO_USER=m,CONFIG_CRYPTO_MCRYPTD=m,CONFIG_CRYPTO_USER_API_RNG=m,CONFIG_CRYPTO_HASH_INFO=y,CONFIG_ASYMMETRIC_KEY_TYPE=m,CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=m,CONFIG_PUBLIC_KEY_ALGO_RSA=m,CONFIG_X509_CERTIFICATE_PARSER=m,CONFIG_PKCS7_MESSAGE_PARSER=m,CONFIG_PKCS7_TEST_KEY=m,CONFIG_CLZ_TAB=y,CONFIG_MPILIB=m,CONFIG_CRYPTO_TEST=m" "--template" "4.1"
===== build kernel 4.1.33 (Oct 25 2016) =====
/usr/bin/kernel-autobuild --template 4.1 --kernel-base-version 4.1 --dotconfig-setting 'EXT4_FS=y,EXT4_ENCRYPTION=y,UEVENT_HELPER_PATH="",CONFIG_SYSTEM_TRUSTED_KEYRING=y,CONFIG_ASN1=m,CONFIG_CRYPTO_USER=m,CONFIG_CRYPTO_MCRYPTD=m,CONFIG_CRYPTO_USER_API_RNG=m,CONFIG_CRYPTO_HASH_INFO=y,CONFIG_ASYMMETRIC_KEY_TYPE=m,CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=m,CONFIG_PUBLIC_KEY_ALGO_RSA=m,CONFIG_X509_CERTIFICATE_PARSER=m,CONFIG_PKCS7_MESSAGE_PARSER=m,CONFIG_PKCS7_TEST_KEY=m,CONFIG_CLZ_TAB=y,CONFIG_MPILIB=m,CONFIG_CRYPTO_TEST=m'