project:kernel-autobuild:announcement:howto
This is an old revision of the document!
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 updateapt-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: 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/squeeze-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>
project/kernel-autobuild/announcement/howto.1408534222.txt.gz · Last modified: 2014/08/20 13:30 by 109.192.164.44