User Tools

Site Tools


project:kernel-autobuild:announcement:howto

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
# </debian-jessie>
# 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
<?xml version="1.0" encoding="utf-8"?>
<!-- Stand: Fri Mar 16 13:36:58 CET 2012 -->
<applicationconfig version="0.2">
        <application name="kernel-autobuild">
                <general>
                        <opt name="TOOL_DIR"     v="/usr/share/kernel-autobuild"/>
                        <opt name="KERNEL_AUTOBUILD_BASEDIR" v="/var/lib/kernel-autobuild"/>
                        <opt name="SOURCE_IMG"   v="/var/lib/kernel-autobuild/00-resources/wheezy-kerneltest.img.xz"/>
                        <opt name="USE_CPUS"     v="8"/>
                        <opt name="PROVIDER_TAG" v="lihas" />
                </general>
                <templates>
                        <template name="3.4">
                                <opt name="--add-patch" v="/var/lib/kernel-autobuild/3.4/00-resources/patch-scripts-package-builddeb-v3.4.85+.diff" />
                        </template>
                        <template name="3.10">
                                <opt name="--kernel-base-version" v="3.10" />
                                <opt name="--add-patch" v="/var/lib/kernel-autobuild/3.10/00-resources/patch-scripts-package-builddeb-v3.10.35+.diff" />
                        </template>
                </templates>
        </application>
</applicationconfig>
  • 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'
project/kernel-autobuild/announcement/howto.txt · Last modified: 2016/10/26 20:14 by 37.209.107.175