====== 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'