Starting with a minimal Suse 11.2 install
Define some base data
ROOTFS=/data/11.2min/image-root ROUTER_IP=10.0.0.1 VG=VM FE_IP=10.0.0.10 BE_IP=10.0.0.11
Based on http://en.opensuse.org/Build_Service/KIWI/Cookbook
zypper ar http://download.opensuse.org/repositories/Virtualization:/Appliances/openSUSE_11.2/ Virtualization:Appliances zypper refresh
zypper in kiwi kiwi-templates kiwi-desc-xenboot squashfs
Prepare the storage for LV usage
parted /ddev/sdb mklabel gpt mkpart p1 0 10% mkpart p2 10% 20% mkpart p3 20% 30% mkpart p4 30% 40% mkpart p5 40% 50% mkpart p6 50% 60% mkpart p7 60% 70% mkpart p8 70% 80% mkpart p9 80% 90% mkpart p10 90% 100% quit
Then make the VG
pvcreate /dev/sdb?* vgcreate $VG /dev/sdb1
Create some Xen volumes
lvcreate -L 10G $VG -n cfe_root lvcreate -L 2G $VG -n cfe_swap mkswap -f /dev/$VG/cfe_swap lvcreate -L 10G $VG -n cbe_root lvcreate -L 2G $VG -n cbe_swap mkswap -f /dev/$VG/cbe_swap
Prepare an openSUSE minimal image:
mkdir -p /data/11.2min kiwi --prepare suse-11.2-JeOS --root $ROOTFS --add-profile xenFlavour --add-package less --add-package iputils --add-package kernel-xen-2.6.31.12
Update the config & modules:
echo default $ROUTER_IP > $ROOTFS/etc/sysconfig/network/routes echo NETCONFIG_DNS_POLICY=\"\" >> $ROOTFS/etc/sysconfig/network/config echo nameserver 8.8.8.8 > $ROOTFS/etc/resolv.conf echo default $ROUTER_IP > $ROOTFS/etc/sysconfig/network/routes cat << EOF >$ROOTFS/etc/sysconfig/network/ifcfg-eth0 BOOTPROTO='static' BROADCAST='' STARTMODE='onboot' EOF echo /dev/xvda1 swap swap defaults 0 0 >> $ROOTFS/etc/fstab
Copy to each of the VM root disks
mkdir /mnt/lvm mkfs -text4 /dev/$VG/cfe_root mount /dev/$VG/cfe_root /mnt/lvm rsync -HAXa /data/11.2min/image-root/ /mnt/lvm/ echo cfe.meego.com > /mnt/lvm/etc/HOSTNAME echo "IPADDR='$FE_IP/24'" >> /mnt/lvm/etc/sysconfig/network/ifcfg-eth0 umount /mnt/lvm mkfs -text4 /dev/$VG/cbe_root mount /dev/$VG/cbe_root /mnt/lvm rsync -HAXa /data/11.2min/image-root/ /mnt/lvm/ echo cbe.meego.com > /mnt/lvm/etc/HOSTNAME echo "IPADDR='$BE_IP/24'" >> /mnt/lvm/etc/sysconfig/network/ifcfg-eth0 umount /mnt/lvm
Make per-machine files in /etc/xen/
GUEST=cfe cat <EOF > /etc/xen/$GUEST.cfg