User Tools

Site Tools


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 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: 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