All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/4] xen 4.3.0 recipe and updated xen-image-minimal
@ 2013-09-11  1:02 Chris Patterson
  2013-09-11  1:02 ` [PATCH v2 1/4] linux-yocto: add kernel fragment and scc to support xen on linux 3.4, 3.8, and 3.10 Chris Patterson
                   ` (4 more replies)
  0 siblings, 5 replies; 10+ messages in thread
From: Chris Patterson @ 2013-09-11  1:02 UTC (permalink / raw)
  To: meta-virtualization

This set of patches should provide a user with the ability to generate a xen 4.3.0 based dom0 image.

[NOTES]

With these patches, xen-image-minimal requires "xen" and "aufs" to be present in DISTRO_FEATURES to function correctly.  This means that xen-image-minimal has only been tested with 3.8 and 3.10 since 3.4 does not have aufs patches available.

v1 -> v2 changelog:
xen-image-initramfs: removed image and related init script
xen-image-minimal: use core-image-minimal-initramfs
xen-image-minimal: minimalized package set, add xen-pciback module
xen-4.3.0: minimize RDEPENDS - anyone interested in using the python toolstack bits will likely have to fill in some blanks
linux-yocto/xen.cfg: update to support 3.4, 3.8, 3.10 (may include some spurious options for 3.4 & 3.8 used for 3.10)
linux-yocto/xen.cfg: remove PCI_STUB
linux-yocto/xen.cfg: include PCIDEV_BACKEND as module instead of built-in
linux-yocto_3.4.bbappend: remove aufs option since it's not available in 3.4 anyways

these patches are available for your convenience at:
repo: https://github.com/cjp256/meta-virtualization.git
branch: patches-xen-v2

[DISTRO TESTING]

This image has been tested using:

machine=sugarbay
DISTRO_FEATURES += " aufs xen"

[BUILDING IMAGE]

bitbake xen-image-minimal

[QEMU BUILD TESTING]

To start up and test core-image-xen using kvm on hardware supporting nested virtualization:

kvm -hda deploy/images/xen-image-minimal-sugarbay.hddimg -cpu host -no-kvm-irqchip -m 4096 -net nic,model=e1000 -net user -serial stdio

..or..

kvm -hdc deploy/images/xen-image-minimal-sugarbay.iso -cpu host -no-kvm-irqchip -m 4096 -net nic,model=e1000 -net user -serial stdio

[XEN TESTING]

To test the runtime core-image-xen and boot a debian PV virtual machine:

#!/bin/sh -x

# bring up networking
ifconfig eth0 up
brctl addbr br0
brctl addif br0 eth0
udhcpc -i br0

# place vm in debian
mkdir -p /test/debian
cd /test/debian

# pull example kernel, initrd
wget http://ftp.debian.org/debian/dists/wheezy/main/installer-amd64/current/images/netboot/xen/initrd.gz
wget http://ftp.debian.org/debian/dists/wheezy/main/installer-amd64/current/images/netboot/xen/vmlinuz

# create empty disk
dd if=/dev/zero of=disk.img bs=1M skip=4000 count=1

cat > debian.cfg << EOF
kernel = "/test/debian/vmlinuz"
ramdisk = "/test/debian/initrd.gz"
extra = "debian-installer/exit/always_halt=true -- console=hvc0"
vif = ['bridge=br0']
memory = "256"
name = "debian"
disk = ['file:/test/debian/disk.img,xvda,w']
EOF

xl -v create -d debian.cfg

xl console debian

Chris Patterson (4):
  linux-yocto: add kernel fragment and scc to support xen on linux 3.4,
    3.8, and 3.10.
  linux-yocto: add optional support for aufs and xen using
    DISTRO_FEATURES.
  xen: add 4.3.0 recipe.
  xen-image-minimal: update image to support xen 4.3.0 base with xl
    toolstack.

 recipes-extended/images/xen-image-minimal.bb   |  52 +-
 recipes-extended/xen/xen_4.3.0.bb              | 626 +++++++++++++++++++++++++
 recipes-kernel/linux/linux-yocto/xen.cfg       |  55 +++
 recipes-kernel/linux/linux-yocto/xen.scc       |   4 +
 recipes-kernel/linux/linux-yocto_3.10.bbappend |   6 +
 recipes-kernel/linux/linux-yocto_3.4.bbappend  |   3 +
 recipes-kernel/linux/linux-yocto_3.8.bbappend  |   6 +
 7 files changed, 746 insertions(+), 6 deletions(-)
 create mode 100644 recipes-extended/xen/xen_4.3.0.bb
 create mode 100644 recipes-kernel/linux/linux-yocto/xen.cfg
 create mode 100644 recipes-kernel/linux/linux-yocto/xen.scc

-- 
1.8.4.rc3



^ permalink raw reply	[flat|nested] 10+ messages in thread

* [PATCH v2 1/4] linux-yocto: add kernel fragment and scc to support xen on linux 3.4, 3.8, and 3.10.
  2013-09-11  1:02 [PATCH v2 0/4] xen 4.3.0 recipe and updated xen-image-minimal Chris Patterson
@ 2013-09-11  1:02 ` Chris Patterson
  2013-09-11  1:02 ` [PATCH v2 2/4] linux-yocto: add optional support for aufs and xen using DISTRO_FEATURES Chris Patterson
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 10+ messages in thread
From: Chris Patterson @ 2013-09-11  1:02 UTC (permalink / raw)
  To: meta-virtualization

Signed-off-by: Chris Patterson <cjp256@gmail.com>
---
 recipes-kernel/linux/linux-yocto/xen.cfg | 55 ++++++++++++++++++++++++++++++++
 recipes-kernel/linux/linux-yocto/xen.scc |  4 +++
 2 files changed, 59 insertions(+)
 create mode 100644 recipes-kernel/linux/linux-yocto/xen.cfg
 create mode 100644 recipes-kernel/linux/linux-yocto/xen.scc

diff --git a/recipes-kernel/linux/linux-yocto/xen.cfg b/recipes-kernel/linux/linux-yocto/xen.cfg
new file mode 100644
index 0000000..e7d774e
--- /dev/null
+++ b/recipes-kernel/linux/linux-yocto/xen.cfg
@@ -0,0 +1,55 @@
+###
+# linux 3.4, 3.8
+CONFIG_PARAVIRT_GUEST=y
+###
+
+###
+# linux 3.10
+CONFIG_HYPERVISOR_GUEST=y
+###
+
+CONFIG_PARAVIRT=y
+CONFIG_XEN=y
+CONFIG_XEN_DOM0=y
+CONFIG_XEN_PRIVILEGED_GUEST=y
+CONFIG_XEN_PVHVM=y
+CONFIG_XEN_MAX_DOMAIN_MEMORY=500
+CONFIG_XEN_SAVE_RESTORE=y
+CONFIG_KVM_GUEST=y
+CONFIG_PARAVIRT_CLOCK=y
+CONFIG_HIBERNATE_CALLBACKS=y
+CONFIG_PCI_XEN=y
+CONFIG_XEN_PCIDEV_FRONTEND=m
+CONFIG_SYS_HYPERVISOR=y
+CONFIG_XEN_BLKDEV_FRONTEND=m
+CONFIG_XEN_BLKDEV_BACKEND=m
+CONFIG_XEN_NETDEV_FRONTEND=m
+CONFIG_XEN_NETDEV_BACKEND=m
+CONFIG_INPUT_MISC=y
+CONFIG_INPUT_XEN_KBDDEV_FRONTEND=y
+CONFIG_HVC_IRQ=y
+CONFIG_HVC_XEN=y
+CONFIG_HVC_XEN_FRONTEND=y
+CONFIG_XEN_WDT=m
+CONFIG_FB_SYS_FILLRECT=y
+CONFIG_FB_SYS_COPYAREA=y
+CONFIG_FB_SYS_IMAGEBLIT=y
+CONFIG_FB_SYS_FOPS=y
+CONFIG_FB_DEFERRED_IO=y
+CONFIG_XEN_FBDEV_FRONTEND=y
+CONFIG_XEN_BALLOON=y
+CONFIG_XEN_SCRUB_PAGES=y
+CONFIG_XEN_DEV_EVTCHN=m
+CONFIG_XEN_BACKEND=y
+CONFIG_XENFS=m
+CONFIG_XEN_COMPAT_XENFS=y
+CONFIG_XEN_SYS_HYPERVISOR=y
+CONFIG_XEN_XENBUS_FRONTEND=y
+CONFIG_XEN_GNTDEV=m
+CONFIG_XEN_GRANT_DEV_ALLOC=m
+CONFIG_SWIOTLB_XEN=y
+CONFIG_XEN_PCIDEV_BACKEND=m
+CONFIG_XEN_PRIVCMD=m
+CONFIG_XEN_ACPI_PROCESSOR=m
+CONFIG_XEN_MCE_LOG=y
+CONFIG_XEN_HAVE_PVMMU=y
diff --git a/recipes-kernel/linux/linux-yocto/xen.scc b/recipes-kernel/linux/linux-yocto/xen.scc
new file mode 100644
index 0000000..6c68bda
--- /dev/null
+++ b/recipes-kernel/linux/linux-yocto/xen.scc
@@ -0,0 +1,4 @@
+define KFEATURE_DESCRIPTION "Xen Dom0 Support"
+define KFEATURE_COMPATIBILITY board
+
+kconf non-hardware xen.cfg
-- 
1.8.4.rc3



^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH v2 2/4] linux-yocto: add optional support for aufs and xen using DISTRO_FEATURES.
  2013-09-11  1:02 [PATCH v2 0/4] xen 4.3.0 recipe and updated xen-image-minimal Chris Patterson
  2013-09-11  1:02 ` [PATCH v2 1/4] linux-yocto: add kernel fragment and scc to support xen on linux 3.4, 3.8, and 3.10 Chris Patterson
@ 2013-09-11  1:02 ` Chris Patterson
  2013-09-11  1:02 ` [PATCH v2 3/4] xen: add 4.3.0 recipe Chris Patterson
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 10+ messages in thread
From: Chris Patterson @ 2013-09-11  1:02 UTC (permalink / raw)
  To: meta-virtualization

Signed-off-by: Chris Patterson <cjp256@gmail.com>
---
 recipes-kernel/linux/linux-yocto_3.10.bbappend | 6 ++++++
 recipes-kernel/linux/linux-yocto_3.4.bbappend  | 3 +++
 recipes-kernel/linux/linux-yocto_3.8.bbappend  | 6 ++++++
 3 files changed, 15 insertions(+)

diff --git a/recipes-kernel/linux/linux-yocto_3.10.bbappend b/recipes-kernel/linux/linux-yocto_3.10.bbappend
index 2893a01..cc7fd98 100644
--- a/recipes-kernel/linux/linux-yocto_3.10.bbappend
+++ b/recipes-kernel/linux/linux-yocto_3.10.bbappend
@@ -11,3 +11,9 @@ KERNEL_FEATURES_append = " features/kvm/qemu-kvm-enable.scc"
 module_autoload_kvm = "kvm"
 module_autoload_kvm-amd = "kvm-amd"
 module_autoload_kvm-intel = "kvm-intel"
+
+# aufs kernel support required for xen-image-minimal
+KERNEL_FEATURES_append += "${@base_contains('DISTRO_FEATURES', 'aufs', ' features/aufs/aufs-enable.scc', '', d)}"
+
+# xen dom0 kernel support
+SRC_URI += "${@base_contains('DISTRO_FEATURES', 'xen', ' file://xen.scc', '', d)}"
diff --git a/recipes-kernel/linux/linux-yocto_3.4.bbappend b/recipes-kernel/linux/linux-yocto_3.4.bbappend
index 2893a01..448d57f 100644
--- a/recipes-kernel/linux/linux-yocto_3.4.bbappend
+++ b/recipes-kernel/linux/linux-yocto_3.4.bbappend
@@ -11,3 +11,6 @@ KERNEL_FEATURES_append = " features/kvm/qemu-kvm-enable.scc"
 module_autoload_kvm = "kvm"
 module_autoload_kvm-amd = "kvm-amd"
 module_autoload_kvm-intel = "kvm-intel"
+
+# xen dom0 kernel support
+SRC_URI += "${@base_contains('DISTRO_FEATURES', 'xen', ' file://xen.scc', '', d)}"
diff --git a/recipes-kernel/linux/linux-yocto_3.8.bbappend b/recipes-kernel/linux/linux-yocto_3.8.bbappend
index 2893a01..cc7fd98 100644
--- a/recipes-kernel/linux/linux-yocto_3.8.bbappend
+++ b/recipes-kernel/linux/linux-yocto_3.8.bbappend
@@ -11,3 +11,9 @@ KERNEL_FEATURES_append = " features/kvm/qemu-kvm-enable.scc"
 module_autoload_kvm = "kvm"
 module_autoload_kvm-amd = "kvm-amd"
 module_autoload_kvm-intel = "kvm-intel"
+
+# aufs kernel support required for xen-image-minimal
+KERNEL_FEATURES_append += "${@base_contains('DISTRO_FEATURES', 'aufs', ' features/aufs/aufs-enable.scc', '', d)}"
+
+# xen dom0 kernel support
+SRC_URI += "${@base_contains('DISTRO_FEATURES', 'xen', ' file://xen.scc', '', d)}"
-- 
1.8.4.rc3



^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH v2 3/4] xen: add 4.3.0 recipe.
  2013-09-11  1:02 [PATCH v2 0/4] xen 4.3.0 recipe and updated xen-image-minimal Chris Patterson
  2013-09-11  1:02 ` [PATCH v2 1/4] linux-yocto: add kernel fragment and scc to support xen on linux 3.4, 3.8, and 3.10 Chris Patterson
  2013-09-11  1:02 ` [PATCH v2 2/4] linux-yocto: add optional support for aufs and xen using DISTRO_FEATURES Chris Patterson
@ 2013-09-11  1:02 ` Chris Patterson
  2013-09-12 17:28   ` Bruce Ashfield
                     ` (2 more replies)
  2013-09-11  1:02 ` [PATCH v2 4/4] xen-image-minimal: update image to support xen 4.3.0 base with xl toolstack Chris Patterson
  2013-09-24 15:48 ` [PATCH v2 0/4] xen 4.3.0 recipe and updated xen-image-minimal Bruce Ashfield
  4 siblings, 3 replies; 10+ messages in thread
From: Chris Patterson @ 2013-09-11  1:02 UTC (permalink / raw)
  To: meta-virtualization

Signed-off-by: Chris Patterson <cjp256@gmail.com>
---
 recipes-extended/xen/xen_4.3.0.bb | 626 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 626 insertions(+)
 create mode 100644 recipes-extended/xen/xen_4.3.0.bb

diff --git a/recipes-extended/xen/xen_4.3.0.bb b/recipes-extended/xen/xen_4.3.0.bb
new file mode 100644
index 0000000..00394b9
--- /dev/null
+++ b/recipes-extended/xen/xen_4.3.0.bb
@@ -0,0 +1,626 @@
+DESCRIPTION = "Xen hypervisor"
+HOMEPAGE = "http://xen.org"
+LICENSE = "GPLv2"
+SECTION = "console/tools"
+PR = "r0"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=e0f0f3ac55608719a82394cc353928df"
+
+SRC_URI = "http://bits.xensource.com/oss-xen/release/${PV}/xen-${PV}.tar.gz"
+
+SRC_URI[md5sum] = "7b18cfb58f1ac2ce39cf35a1867f0c0a"
+SRC_URI[sha256sum] = "e1e9faabe4886e2227aacdbde74410653b233d66642ca1972a860cbec6439961"
+
+S = "${WORKDIR}/xen-${PV}"
+
+COMPATIBLE_HOST = '(x86_64.*).*-linux'
+
+inherit autotools gettext setuptools update-rc.d
+
+DEPENDS = "util-linux util-linux-native file-native zlib ncurses openssl bison-native flex-native gettext dev86-native iasl-native pciutils virtual/libgl virtual/libsdl bridge-utils iproute2 procps yajl pixman python python-setuptools-native xz xz-native"
+
+# inherit setuptools adds python to RDEPENDS, override it
+RDEPENDS_${PN} = ""
+
+RDEPENDS_${PN}-base = "\
+    libgcc udev bash perl xz \
+    ${PN}-blktap \
+    ${PN}-console \
+    ${PN}-libblktapctl \
+    ${PN}-libxenguest \
+    ${PN}-libxenlight \
+    ${PN}-libxenvchan \
+    ${PN}-libxenctrl \
+    ${PN}-libxlutil \
+    ${PN}-libvhd \
+    ${PN}-libxenstat \
+    ${PN}-libxenstore \
+    ${PN}-libblktap \
+    ${PN}-libfsimage \
+    ${PN}-flask \
+    ${PN}-fsimage \
+    ${PN}-hvmloader \
+    ${PN}-scripts-block \
+    ${PN}-scripts-network \
+    ${PN}-udev \
+    ${PN}-xenpaging \
+    ${PN}-xen-watchdog \
+    ${PN}-xencommons \
+    ${PN}-xendomains \
+    ${PN}-xenstore \
+    ${PN}-xenstored \
+    ${PN}-xl \
+    "
+
+RDEPENDS_${PN}-scripts-block = "\
+    ${PN}-scripts-common \
+    ${PN}-udev \
+    "
+
+RDEPENDS_${PN}-scripts-network = "\
+    bridge-utils \
+    ${PN}-scripts-common \
+    ${PN}-udev \
+    "
+
+PACKAGES = "\
+    ${PN}-base \
+    ${PN}-blktap \
+    ${PN}-console \
+    ${PN}-dbg \
+    ${PN}-dev \
+    ${PN}-doc \
+    ${PN}-flask \
+    ${PN}-fsimage \
+    ${PN}-gdbsx \
+    ${PN}-hvmloader \
+    ${PN}-hypervisor \
+    ${PN}-kdd \
+    ${PN}-libblktap \
+    ${PN}-libblktapctl \
+    ${PN}-libblktapctl-dev \
+    ${PN}-libblktap-dev \
+    ${PN}-libfsimage \
+    ${PN}-libfsimage-dev \
+    ${PN}-libvhd \
+    ${PN}-libvhd-dev \
+    ${PN}-libxenctrl \
+    ${PN}-libxenctrl-dev \
+    ${PN}-libxenguest \
+    ${PN}-libxenguest-dev \
+    ${PN}-libxenlight \
+    ${PN}-libxenlight-dev \
+    ${PN}-libxenstat \
+    ${PN}-libxenstat-dev \
+    ${PN}-libxenstore \
+    ${PN}-libxenstore-dev \
+    ${PN}-libxenvchan \
+    ${PN}-libxenvchan-dev \
+    ${PN}-libxlutil \
+    ${PN}-libxlutil-dev \
+    ${PN}-misc \
+    ${PN}-pygrub \
+    ${PN}-python \
+    ${PN}-qemu \
+    ${PN}-remus \
+    ${PN}-scripts-block \
+    ${PN}-scripts-common \
+    ${PN}-scripts-network \
+    ${PN}-staticdev \
+    ${PN}-udev \
+    ${PN}-xcutils \
+    ${PN}-xencommons \
+    ${PN}-xend \
+    ${PN}-xend-examples \
+    ${PN}-xendomains \
+    ${PN}-xenmon \
+    ${PN}-xenpaging \
+    ${PN}-xenpmd \
+    ${PN}-xenstat \
+    ${PN}-xenstore \
+    ${PN}-xenstored \
+    ${PN}-xentrace \
+    ${PN}-xen-watchdog \
+    ${PN}-xl \
+    ${PN}-xl-examples \
+    ${PN}-xm \
+    ${PN}-xm-examples \
+    "
+
+FILES_${PN}-dbg += "\
+    ${libdir}/.debug \
+    ${libdir}/xen/bin/.debug \
+    ${libdir}/python2.7/site-packages/.debug \
+    ${libdir}/python2.7/site-packages/xen/lowlevel/.debug \
+    ${libdir}/fs/xfs/.debug \
+    ${libdir}/fs/ufs/.debug \
+    ${libdir}/fs/ext2fs-lib/.debug \
+    ${libdir}/fs/fat/.debug \
+    ${libdir}/fs/zfs/.debug \
+    ${libdir}/fs/reiserfs/.debug \
+    ${libdir}/fs/iso9660/.debug \
+    ${sbindir}/.debug \
+    ${libdir}exec/.debug \
+    ${bindir}/.debug \
+    ${libdir}/python2.7/dist-packages/.debug \
+    ${libdir}/python2.7/dist-packages/xen/lowlevel/.debug \
+    "
+
+FILES_${PN}-dev = "\
+    ${includedir} \
+    "
+
+FILES_${PN}-doc = "\
+    ${sysconfdir}/xen/README \
+    ${sysconfdir}/xen/README.incompatibilities \
+    ${datadir}/doc \
+    ${datadir}/man \
+    "
+
+FILES_${PN}-staticdev += "\
+    ${libdir}/libblktapctl.a \
+    ${libdir}/libxenguest.a \
+    ${libdir}/libxenlight.a \
+    ${libdir}/libxenvchan.a \
+    ${libdir}/libxenctrl.a \
+    ${libdir}/libxlutil.a \
+    ${libdir}/libvhd.a \
+    ${libdir}/libxenstat.a \
+    ${libdir}/libxenstore.a \
+    ${libdir}/libblktap.a \
+    "
+
+FILES_${PN}-libblktapctl = "${libdir}/libblktapctl.so.*"
+FILES_${PN}-libblktapctl-dev = "${libdir}/libblktapctl.so"
+
+FILES_${PN}-libxenguest = "${libdir}/libxenguest.so.*"
+FILES_${PN}-libxenguest-dev = "${libdir}/libxenguest.so"
+
+FILES_${PN}-libxenlight = "${libdir}/libxenlight.so.*"
+FILES_${PN}-libxenlight-dev = "${libdir}/libxenlight.so"
+
+FILES_${PN}-libxenvchan = "${libdir}/libxenvchan.so.*"
+FILES_${PN}-libxenvchan-dev = "${libdir}/libxenvchan.so"
+
+FILES_${PN}-libxenctrl = "${libdir}/libxenctrl.so.*"
+FILES_${PN}-libxenctrl-dev = "${libdir}/libxenctrl.so"
+
+FILES_${PN}-libxlutil = "${libdir}/libxlutil.so.*"
+FILES_${PN}-libxlutil-dev = "${libdir}/libxlutil.so"
+
+FILES_${PN}-libvhd = "${libdir}/libvhd.so.*"
+FILES_${PN}-libvhd-dev = "${libdir}/libvhd.so"
+
+FILES_${PN}-libxenstat = "${libdir}/libxenstat.so.*"
+FILES_${PN}-libxenstat-dev = "${libdir}/libxenstat.so"
+
+FILES_${PN}-libxenstore = "${libdir}/libxenstore.so.*"
+FILES_${PN}-libxenstore-dev = "${libdir}/libxenstore.so"
+
+FILES_${PN}-libblktap = "${libdir}/libblktap.so.*"
+FILES_${PN}-libblktap-dev = "${libdir}/libblktap.so"
+
+FILES_${PN}-libfsimage = "${libdir}/libfsimage.so.*"
+FILES_${PN}-libfsimage-dev = "${libdir}/libfsimage.so"
+
+FILES_${PN}-fsimage = "${libdir}/fs/*/*fsimage.so"
+
+FILES_${PN}-hypervisor = "\
+    /boot/xen-4.3.0.gz \
+    /boot/xen-4.3.gz \
+    /boot/xen-4.gz \
+    /boot/xen.gz \
+    /boot/xen-syms-4.3.0 \
+    "
+
+FILES_${PN}-base = "\
+    ${sysconfdir}/default/volatiles/99_xen \
+    ${sysconfdir}/default/xencommons \
+    ${sysconfdir}/default/xendomains \
+    ${sysconfdir}/xen/auto \
+    ${sysconfdir}/xen/cpupool \
+    ${sysconfdir}/sysconfig/xendomains \
+    ${localstatedir}/xen/dump \
+    "
+
+FILES_${PN}-blktap = "\
+    ${sbindir}/blktapctrl \
+    ${sbindir}/img2qcow \
+    ${sbindir}/lock-util \
+    ${sbindir}/qcow2raw \
+    ${sbindir}/qcow-create \
+    ${sbindir}/tap-ctl \
+    ${sbindir}/tapdisk \
+    ${sbindir}/tapdisk2 \
+    ${sbindir}/tapdisk-client \
+    ${sbindir}/tapdisk-diff \
+    ${sbindir}/tapdisk-stream \
+    ${sbindir}/td-util \
+    ${sbindir}/vhd-update \
+    ${sbindir}/vhd-util \
+    "
+
+FILES_${PN}-console = "\
+    ${libdir}/xen/bin/xenconsole \
+    ${sbindir}/xenconsoled \
+    "
+
+FILES_${PN}-flask = "\
+    ${sbindir}/flask-get-bool \
+    ${sbindir}/flask-getenforce \
+    ${sbindir}/flask-label-pci \
+    ${sbindir}/flask-loadpolicy \
+    ${sbindir}/flask-set-bool \
+    ${sbindir}/flask-setenforce \
+    "
+
+FILES_${PN}-gdbsx = "\
+    ${sbindir}/gdbsx \
+    "
+
+INSANE_SKIP_${PN}-hvmloader = "arch"
+FILES_${PN}-hvmloader = "\
+    ${libdir}/xen/boot/hvmloader \
+    "
+
+FILES_${PN}-kdd = "\
+    ${sbindir}/kdd \
+    "
+
+FILES_${PN}-misc = "\
+    ${bindir}/xencons \
+    ${bindir}/xencov_split \
+    ${bindir}/xen-detect \
+    ${libdir}/xen/bin/xenpvnetboot \
+    ${sbindir}/gtracestat \
+    ${sbindir}/gtraceview \
+    ${sbindir}/xen-bugtool \
+    ${sbindir}/xencov \
+    ${sbindir}/xend \
+    ${sbindir}/xenperf \
+    ${sbindir}/xenpm \
+    ${sbindir}/xsview \
+    ${sbindir}/xen-tmem-list-parse \
+    ${sbindir}/xen-python-path \
+    ${sbindir}/xen-ringwatch \
+    ${sbindir}/xen-hptool \
+    ${sbindir}/xen-hvmcrash \
+    ${sbindir}/xen-hvmctx \
+    ${sbindir}/xenlockprof \
+    ${sbindir}/xen-lowmemd \
+    "
+
+FILES_${PN}-pygrub = "\
+    ${bindir}/pygrub \
+    ${libdir}/xen/bin/pygrub \
+    "
+
+FILES_${PN}-python = "\
+    ${libdir}/python2.7 \
+    "
+
+INSANE_SKIP_${PN}-qemu = "arch"
+FILES_${PN}-qemu = " \
+    ${datadir}/xen/qemu \
+    ${libdir}/xen/bin/qemu-system-i386 \
+    ${libdir}/xen/bin/qemu-system-x86_64 \
+    ${libdir}/xen/bin/qemu-img \
+    ${libdir}/xen/bin/qemu-nbd \
+    ${libdir}/xen/bin/qemu-ga \
+    ${libdir}/xen/bin/qemu-io \
+    ${libdir}/xen/bin/qemu-dm \
+    ${libdir}/xen/bin/virtfs-proxy-helper \
+    /usr/libexec/qemu-bridge-helper \
+    /usr/etc/qemu \
+    /usr/etc/qemu/target-x86_64.conf \
+    ${datadir}/qemu-xen \
+    ${datadir}/qemu-xen/qemu \
+    ${datadir}/qemu-xen/qemu/bamboo.dtb \
+    ${datadir}/qemu-xen/qemu/pxe-pcnet.rom \
+    ${datadir}/qemu-xen/qemu/vgabios-vmware.bin \
+    ${datadir}/qemu-xen/qemu/pxe-eepro100.rom \
+    ${datadir}/qemu-xen/qemu/pxe-e1000.rom \
+    ${datadir}/qemu-xen/qemu/openbios-ppc \
+    ${datadir}/qemu-xen/qemu/multiboot.bin \
+    ${datadir}/qemu-xen/qemu/vgabios-cirrus.bin \
+    ${datadir}/qemu-xen/qemu/bios.bin \
+    ${datadir}/qemu-xen/qemu/vgabios-stdvga.bin \
+    ${datadir}/qemu-xen/qemu/palcode-clipper \
+    ${datadir}/qemu-xen/qemu/pxe-ne2k_pci.rom \
+    ${datadir}/qemu-xen/qemu/spapr-rtas.bin \
+    ${datadir}/qemu-xen/qemu/slof.bin \
+    ${datadir}/qemu-xen/qemu/vgabios-qxl.bin \
+    ${datadir}/qemu-xen/qemu/pxe-rtl8139.rom \
+    ${datadir}/qemu-xen/qemu/openbios-sparc64 \
+    ${datadir}/qemu-xen/qemu/pxe-virtio.rom \
+    ${datadir}/qemu-xen/qemu/kvmvapic.bin \
+    ${datadir}/qemu-xen/qemu/openbios-sparc32 \
+    ${datadir}/qemu-xen/qemu/petalogix-s3adsp1800.dtb \
+    ${datadir}/qemu-xen/qemu/sgabios.bin \
+    ${datadir}/qemu-xen/qemu/linuxboot.bin \
+    ${datadir}/qemu-xen/qemu/qemu-icon.bmp \
+    ${datadir}/qemu-xen/qemu/ppc_rom.bin \
+    ${datadir}/qemu-xen/qemu/vgabios.bin \
+    ${datadir}/qemu-xen/qemu/s390-zipl.rom \
+    ${datadir}/qemu-xen/qemu/petalogix-ml605.dtb \
+    ${datadir}/qemu-xen/qemu/keymaps \
+    ${datadir}/qemu-xen/qemu/keymaps/common \
+    ${datadir}/qemu-xen/qemu/keymaps/th \
+    ${datadir}/qemu-xen/qemu/keymaps/is \
+    ${datadir}/qemu-xen/qemu/keymaps/en-gb \
+    ${datadir}/qemu-xen/qemu/keymaps/ar \
+    ${datadir}/qemu-xen/qemu/keymaps/fr-be \
+    ${datadir}/qemu-xen/qemu/keymaps/ru \
+    ${datadir}/qemu-xen/qemu/keymaps/hu \
+    ${datadir}/qemu-xen/qemu/keymaps/de-ch \
+    ${datadir}/qemu-xen/qemu/keymaps/no \
+    ${datadir}/qemu-xen/qemu/keymaps/fr \
+    ${datadir}/qemu-xen/qemu/keymaps/pl \
+    ${datadir}/qemu-xen/qemu/keymaps/fr-ca \
+    ${datadir}/qemu-xen/qemu/keymaps/de \
+    ${datadir}/qemu-xen/qemu/keymaps/fr-ch \
+    ${datadir}/qemu-xen/qemu/keymaps/bepo \
+    ${datadir}/qemu-xen/qemu/keymaps/lv \
+    ${datadir}/qemu-xen/qemu/keymaps/ja \
+    ${datadir}/qemu-xen/qemu/keymaps/da \
+    ${datadir}/qemu-xen/qemu/keymaps/lt \
+    ${datadir}/qemu-xen/qemu/keymaps/hr \
+    ${datadir}/qemu-xen/qemu/keymaps/es \
+    ${datadir}/qemu-xen/qemu/keymaps/modifiers \
+    ${datadir}/qemu-xen/qemu/keymaps/sl \
+    ${datadir}/qemu-xen/qemu/keymaps/it \
+    ${datadir}/qemu-xen/qemu/keymaps/nl \
+    ${datadir}/qemu-xen/qemu/keymaps/fo \
+    ${datadir}/qemu-xen/qemu/keymaps/mk \
+    ${datadir}/qemu-xen/qemu/keymaps/pt-br \
+    ${datadir}/qemu-xen/qemu/keymaps/tr \
+    ${datadir}/qemu-xen/qemu/keymaps/sv \
+    ${datadir}/qemu-xen/qemu/keymaps/fi \
+    ${datadir}/qemu-xen/qemu/keymaps/en-us \
+    ${datadir}/qemu-xen/qemu/keymaps/et \
+    ${datadir}/qemu-xen/qemu/keymaps/nl-be \
+    ${datadir}/qemu-xen/qemu/keymaps/pt \
+    ${bindir}/qemu-nbd-xen \
+    ${bindir}/qemu-img-xen \
+    "
+
+FILES_${PN}-remus = "\
+    ${bindir}/remus \
+    "
+
+FILES_${PN}-scripts-network = " \
+    ${sysconfdir}/xen/scripts/network-bridge \
+    ${sysconfdir}/xen/scripts/network-nat \
+    ${sysconfdir}/xen/scripts/network-route \
+    ${sysconfdir}/xen/scripts/qemu-ifup \
+    ${sysconfdir}/xen/scripts/vif2 \
+    ${sysconfdir}/xen/scripts/vif-bridge \
+    ${sysconfdir}/xen/scripts/vif-common.sh \
+    ${sysconfdir}/xen/scripts/vif-nat \
+    ${sysconfdir}/xen/scripts/vif-openvswitch \
+    ${sysconfdir}/xen/scripts/vif-route \
+    ${sysconfdir}/xen/scripts/vif-setup \
+    "
+
+FILES_${PN}-scripts-block = " \
+    ${sysconfdir}/xen/scripts/blktap \
+    ${sysconfdir}/xen/scripts/block \
+    ${sysconfdir}/xen/scripts/block-common.sh \
+    ${sysconfdir}/xen/scripts/block-enbd \
+    ${sysconfdir}/xen/scripts/block-iscsi \
+    ${sysconfdir}/xen/scripts/block-nbd \
+    ${sysconfdir}/xen/scripts/vscsi \
+    "
+
+FILES_${PN}-scripts-common = " \
+    ${sysconfdir}/xen/scripts/external-device-migrate \
+    ${sysconfdir}/xen/scripts/hotplugpath.sh \
+    ${sysconfdir}/xen/scripts/locking.sh \
+    ${sysconfdir}/xen/scripts/logging.sh \
+    ${sysconfdir}/xen/scripts/xen-hotplug-cleanup \
+    ${sysconfdir}/xen/scripts/xen-hotplug-common.sh \
+    ${sysconfdir}/xen/scripts/xen-network-common.sh \
+    ${sysconfdir}/xen/scripts/xen-script-common.sh \
+    "
+
+FILES_${PN}-udev = "\
+    ${sysconfdir}/udev/rules.d/xen-backend.rules \
+    ${sysconfdir}/udev/rules.d/xend.rules \
+    "
+
+FILES_${PN}-xcutils = "\
+    ${libdir}/xen/bin/lsevtchn \
+    ${libdir}/xen/bin/readnotes \
+    ${libdir}/xen/bin/xc_restore \
+    ${libdir}/xen/bin/xc_save \
+    "
+
+FILES_${PN}-xend-examples = "\
+    ${sysconfdir}/xen/xend-config.sxp \
+    ${sysconfdir}/xen/xend-pci-permissive.sxp \
+    ${sysconfdir}/xen/xend-pci-quirks.sxp \
+    "
+
+FILES_${PN}-xenpaging = "\
+    ${libdir}/xen/bin/xenpaging \
+    ${localstatedir}/lib/xen/xenpaging \
+    "
+
+FILES_${PN}-xenpmd = "\
+    ${sbindir}/xenpmd \
+    "
+
+FILES_${PN}-xenstat = "\
+    ${sbindir}/xentop \
+    "
+
+FILES_${PN}-xenstore = "\
+    ${bindir}/xenstore \
+    ${bindir}/xenstore-chmod \
+    ${bindir}/xenstore-control \
+    ${bindir}/xenstore-exists \
+    ${bindir}/xenstore-list \
+    ${bindir}/xenstore-ls \
+    ${bindir}/xenstore-read \
+    ${bindir}/xenstore-rm \
+    ${bindir}/xenstore-watch \
+    ${bindir}/xenstore-write \
+    "
+
+FILES_${PN}-xenstored = "\
+    ${sbindir}/xenstored \
+    ${localstatedir}/lib/xenstored \
+    "
+
+FILES_${PN}-xentrace = "\
+    ${bindir}/xentrace \
+    ${bindir}/xentrace_format \
+    ${bindir}/xentrace_setsize \
+    ${libdir}/xen/bin/xenctx \
+    "
+
+FILES_${PN}-xen-watchdog = "\
+    ${sbindir}/xenwatchdogd \
+    "
+
+FILES_${PN}-xl = "\
+    ${sysconfdir}/bash_completion.d/xl.sh \
+    ${sysconfdir}/xen/xl.conf \
+    ${libdir}/xen/bin/libxl-save-helper \
+    ${sbindir}/xl \
+    "
+
+FILES_${PN}-xl-examples = "\
+    ${sysconfdir}/xen/xlexample.hvm \
+    ${sysconfdir}/xen/xlexample.pvlinux \
+    "
+
+FILES_${PN}-xm-examples = "\
+    ${sysconfdir}/xen/xmexample1 \
+    ${sysconfdir}/xen/xmexample2 \
+    ${sysconfdir}/xen/xmexample3 \
+    ${sysconfdir}/xen/xmexample.hvm \
+    ${sysconfdir}/xen/xmexample.hvm-stubdom \
+    ${sysconfdir}/xen/xmexample.nbd \
+    ${sysconfdir}/xen/xmexample.pv-grub \
+    ${sysconfdir}/xen/xmexample.vti \
+    "
+
+FILES_${PN}-xenmon = "\
+    ${sbindir}/xenbaked \
+    ${sbindir}/xentrace_setmask \
+    ${sbindir}/xenmon.py \
+    "
+
+FILES_${PN}-xm = "\
+    ${sysconfdir}/xen/xm-config.xml \
+    ${datadir}/xen/create.dtd \
+    ${sbindir}/xm \
+    "
+
+FILES_${PN}-xencommons += "${sysconfdir}/init.d/xencommons"
+FILES_${PN}-xend += "${sysconfdir}/init.d/xend"
+FILES_${PN}-xendomains += "${sysconfdir}/init.d/xendomains"
+FILES_${PN}-xen-watchdog += "${sysconfdir}/init.d/xen-watchdog"
+
+# configure init.d scripts
+INITSCRIPT_PACKAGES = "${PN}-xend ${PN}-xencommons ${PN}-xen-watchdog ${PN}-xendomains"
+INITSCRIPT_NAME_${PN}-xencommons = "xencommons"
+INITSCRIPT_PARAMS_${PN}-xencommons = "defaults 80"
+INITSCRIPT_NAME_${PN}-xen-watchdog = "xen-watchdog"
+INITSCRIPT_PARAMS_${PN}-xen-watchdog = "defaults 81"
+INITSCRIPT_NAME_${PN}-xend = "xend"
+INITSCRIPT_PARAMS_${PN}-xend = "defaults 82"
+INITSCRIPT_NAME_${PN}-xendomains = "xendomains"
+INITSCRIPT_PARAMS_${PN}-xendomains = "defaults 83"
+
+#### REQUIRED ENVIRONMENT VARIABLES ####
+export BUILD_SYS
+export HOST_SYS
+export STAGING_INCDIR
+export STAGING_LIBDIR
+
+# specify xen hypervisor to target x86_64 (x86_32 not supported)
+export XEN_TARGET_ARCH="x86_64"
+export XEN_COMPILE_ARCH="x86_64"
+
+# this is used for the header (#!${bindir}/python) of the install python scripts
+export PYTHONPATH="${bindir}/python"
+
+# seabios forcefully sets HOSTCC to CC - fixup to allow it to build native conf executable
+export HOSTCC="${BUILD_CC}"
+
+# make xen requires CROSS_COMPILE set by hand as it does not abide by ./configure
+export CROSS_COMPILE="${TARGET_PREFIX}"
+
+# overide LDFLAGS to allow xen to build without: "x86_64-oe-linux-ld: unrecognized option '-Wl,-O1'"
+export LDFLAGS=""
+
+do_configure() {
+    # fixup qemu-xen-traditional pciutils check hardcoded to test ${includedir}/pci
+    sed -i 's/\/usr\/include\/pci/$(STAGING_INCDIR)\/pci/g' ${S}/tools/qemu-xen-traditional/xen-hooks.mak
+
+    # fixup for qemu to cross compile
+    sed -i 's/configure --d/configure --cross-prefix=${TARGET_PREFIX} --d/g' ${S}/tools/qemu-xen-traditional/xen-setup
+
+    # no stubs-32.h in our 64-bit sysroot - hack it into tools/include/gnu
+    test -d ${S}/tools/include/gnu || mkdir ${S}/tools/include/gnu
+    if ! test -f ${STAGING_DIR_TARGET}/usr/include/gnu/stubs-32.h ; then
+        cat ${STAGING_DIR_TARGET}/usr/include/gnu/stubs-64.h | grep -v stub_bdflush | grep -v stub_getmsg | grep -v stub_putmsg > ${S}/tools/include/gnu/stubs-32.h
+        echo \#define __stub___kernel_cosl >> ${S}/tools/include/gnu/stubs-32.h
+        echo \#define __stub___kernel_sinl >> ${S}/tools/include/gnu/stubs-32.h
+        echo \#define __stub___kernel_tanl >> ${S}/tools/include/gnu/stubs-32.h
+    fi
+
+    # do configure
+    ./configure --exec-prefix=/usr --prefix=/usr --host=${HOST_SYS} --disable-stubdom --disable-ioemu-stubdom --disable-pv-grub --disable-xenstore-stubdom
+
+    # seabios needs a patch to specify correct compiler - pull and patch Makefile
+    make -C ${S}/tools/firmware seabios-dir
+    sed -i 's/export HOSTCC.*$(CC)/export HOSTCC ?= $(CC)/g' ${S}/tools/firmware/seabios-dir/Makefile
+}
+
+do_compile() {
+    oe_runmake
+}
+
+do_install() {
+    oe_runmake DESTDIR="${D}" install
+
+    # remove installed volatiles
+    rm -rf ${D}${localstatedir}/run ${D}${localstatedir}/lock ${D}${localstatedir}/log ${D}${localstatedir}/volatile
+
+    # install volatiles using populate_volatiles mechanism
+    install -d ${D}${sysconfdir}/default/volatiles
+    echo "d root root 0755 ${localstatedir}/run/xenstored none" \
+         > ${D}${sysconfdir}/default/volatiles/99_xen
+    echo "d root root 0755 ${localstatedir}/run/xend none" \
+         >> ${D}${sysconfdir}/default/volatiles/99_xen
+    echo "d root root 0755 ${localstatedir}/run/xend/boot none" \
+         >> ${D}${sysconfdir}/default/volatiles/99_xen
+    echo "d root root 0755 ${localstatedir}/run/xen none" \
+         >> ${D}${sysconfdir}/default/volatiles/99_xen
+    echo "d root root 0755 ${localstatedir}/log/xen none" \
+         >> ${D}${sysconfdir}/default/volatiles/99_xen
+    echo "d root root 0755 ${localstatedir}/lock/xen none" \
+         >> ${D}${sysconfdir}/default/volatiles/99_xen
+    echo "d root root 0755 ${localstatedir}/lock/subsys none" \
+         >> ${D}${sysconfdir}/default/volatiles/99_xen
+
+    # workaround for xendomains script which searchs sysconfig if directory exists
+    install -d ${D}${sysconfdir}/sysconfig
+    ln -sf ${sysconfdir}/default/xendomains ${D}${sysconfdir}/sysconfig/xendomains
+}
+
+pkg_postinst_${PN}-base() {
+    if [ -z "$D" ] && [ -e ${sysconfdir}/init.d/populate-volatile.sh ] ; then
+        ${sysconfdir}/init.d/populate-volatile.sh update
+    fi
+}
+
+sysroot_stage_all_append() {
+    sysroot_stage_dir ${D}/boot ${SYSROOT_DESTDIR}/kernel
+
+    install -d ${DEPLOY_DIR_IMAGE}
+    install -m 0644 ${D}/boot/xen.gz ${DEPLOY_DIR_IMAGE}/xen-${MACHINE}.gz
+}
-- 
1.8.4.rc3



^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH v2 4/4] xen-image-minimal: update image to support xen 4.3.0 base with xl toolstack.
  2013-09-11  1:02 [PATCH v2 0/4] xen 4.3.0 recipe and updated xen-image-minimal Chris Patterson
                   ` (2 preceding siblings ...)
  2013-09-11  1:02 ` [PATCH v2 3/4] xen: add 4.3.0 recipe Chris Patterson
@ 2013-09-11  1:02 ` Chris Patterson
  2013-09-24 15:48 ` [PATCH v2 0/4] xen 4.3.0 recipe and updated xen-image-minimal Bruce Ashfield
  4 siblings, 0 replies; 10+ messages in thread
From: Chris Patterson @ 2013-09-11  1:02 UTC (permalink / raw)
  To: meta-virtualization

Signed-off-by: Chris Patterson <cjp256@gmail.com>
---
 recipes-extended/images/xen-image-minimal.bb | 52 ++++++++++++++++++++++++----
 1 file changed, 46 insertions(+), 6 deletions(-)

diff --git a/recipes-extended/images/xen-image-minimal.bb b/recipes-extended/images/xen-image-minimal.bb
index 0cf55d6..23c4911 100644
--- a/recipes-extended/images/xen-image-minimal.bb
+++ b/recipes-extended/images/xen-image-minimal.bb
@@ -1,14 +1,54 @@
 DESCRIPTION = "A minimal xen image"
-IMAGE_INSTALL = "packagegroup-core-boot xen-minimal dropbear mdadm"
 
-IMAGE_LINGUAS = " "
+INITRD_IMAGE = "core-image-minimal-initramfs"
+
+IMAGE_INSTALL += " \
+    packagegroup-core-boot \
+    packagegroup-core-ssh-openssh \
+    kernel-module-xen-acpi-processor \
+    kernel-module-xen-blkback \
+    kernel-module-xen-blkfront \
+    kernel-module-xen-evtchn \
+    kernel-module-xenfs \
+    kernel-module-xen-gntalloc \
+    kernel-module-xen-gntdev \
+    kernel-module-xen-netback \
+    kernel-module-xen-netfront \
+    kernel-module-xen-pciback \
+    kernel-module-xen-pcifront \
+    kernel-module-xen-privcmd \
+    kernel-module-xen-wdt \
+    xen-base \
+    xen-qemu \
+    "
+
 LICENSE = "MIT"
 
 inherit core-image
 
-IMAGE_ROOTFS_SIZE = "8192"
+syslinux_iso_populate_append() {
+	install -m 0444 ${STAGING_DATADIR}/syslinux/mboot.c32 ${ISODIR}${ISOLINUXDIR}
+}
+
+syslinux_hddimg_populate_append() {
+	install -m 0444 ${STAGING_DATADIR}/syslinux/mboot.c32 ${HDDDIR}${SYSLINUXDIR}
+}
+
+grubefi_populate_append() {
+	install -m 0644 ${DEPLOY_DIR_IMAGE}/xen-${MACHINE}.gz ${DEST}${EFIDIR}/xen.gz
+}
+
+populate_append() {
+	install -m 0644 ${DEPLOY_DIR_IMAGE}/xen-${MACHINE}.gz ${DEST}/xen.gz
+}
 
-# remove not needed ipkg informations
-ROOTFS_POSTPROCESS_COMMAND += "remove_packaging_data_files ; "
+build_syslinux_cfg () {
+	echo "ALLOWOPTIONS 1" > ${SYSLINUXCFG}
+	echo "DEFAULT boot" >> ${SYSLINUXCFG}
+	echo "TIMEOUT 10" >> ${SYSLINUXCFG}
+	echo "PROMPT 1" >> ${SYSLINUXCFG}
+	echo "LABEL boot" >> ${SYSLINUXCFG}
+	echo "  KERNEL mboot.c32" >> ${SYSLINUXCFG}
+	echo "  APPEND /xen.gz loglvl=all guest_loglvl=all console=com1,vga com1=115200,8n1 --- /vmlinuz ramdisk_size=32768 root=/dev/ram0 rw console=hvc0 earlyprintk=xen console=tty0 panic=10 LABEL=boot debugshell=5 --- /initrd" >> ${SYSLINUXCFG}
+}
 
-require xen-bootimg.inc
-- 
1.8.4.rc3



^ permalink raw reply related	[flat|nested] 10+ messages in thread

* Re: [PATCH v2 3/4] xen: add 4.3.0 recipe.
  2013-09-11  1:02 ` [PATCH v2 3/4] xen: add 4.3.0 recipe Chris Patterson
@ 2013-09-12 17:28   ` Bruce Ashfield
  2013-09-14 22:27   ` Philip Tricca
  2013-09-20 18:10   ` Philip Tricca
  2 siblings, 0 replies; 10+ messages in thread
From: Bruce Ashfield @ 2013-09-12 17:28 UTC (permalink / raw)
  To: Chris Patterson; +Cc: meta-virtualization

Chris,

sorry for the radio silence, I was travelling and am now scrambling through my
email.

I'll give this a try, and start staging it for merge.

From a glance, it looks like a good patch series.

Cheers,

Bruce

On Tue, Sep 10, 2013 at 9:02 PM, Chris Patterson <cjp256@gmail.com> wrote:
> Signed-off-by: Chris Patterson <cjp256@gmail.com>
> ---
>  recipes-extended/xen/xen_4.3.0.bb | 626 ++++++++++++++++++++++++++++++++++++++
>  1 file changed, 626 insertions(+)
>  create mode 100644 recipes-extended/xen/xen_4.3.0.bb
>
> diff --git a/recipes-extended/xen/xen_4.3.0.bb b/recipes-extended/xen/xen_4.3.0.bb
> new file mode 100644
> index 0000000..00394b9
> --- /dev/null
> +++ b/recipes-extended/xen/xen_4.3.0.bb
> @@ -0,0 +1,626 @@
> +DESCRIPTION = "Xen hypervisor"
> +HOMEPAGE = "http://xen.org"
> +LICENSE = "GPLv2"
> +SECTION = "console/tools"
> +PR = "r0"
> +
> +LIC_FILES_CHKSUM = "file://COPYING;md5=e0f0f3ac55608719a82394cc353928df"
> +
> +SRC_URI = "http://bits.xensource.com/oss-xen/release/${PV}/xen-${PV}.tar.gz"
> +
> +SRC_URI[md5sum] = "7b18cfb58f1ac2ce39cf35a1867f0c0a"
> +SRC_URI[sha256sum] = "e1e9faabe4886e2227aacdbde74410653b233d66642ca1972a860cbec6439961"
> +
> +S = "${WORKDIR}/xen-${PV}"
> +
> +COMPATIBLE_HOST = '(x86_64.*).*-linux'
> +
> +inherit autotools gettext setuptools update-rc.d
> +
> +DEPENDS = "util-linux util-linux-native file-native zlib ncurses openssl bison-native flex-native gettext dev86-native iasl-native pciutils virtual/libgl virtual/libsdl bridge-utils iproute2 procps yajl pixman python python-setuptools-native xz xz-native"
> +
> +# inherit setuptools adds python to RDEPENDS, override it
> +RDEPENDS_${PN} = ""
> +
> +RDEPENDS_${PN}-base = "\
> +    libgcc udev bash perl xz \
> +    ${PN}-blktap \
> +    ${PN}-console \
> +    ${PN}-libblktapctl \
> +    ${PN}-libxenguest \
> +    ${PN}-libxenlight \
> +    ${PN}-libxenvchan \
> +    ${PN}-libxenctrl \
> +    ${PN}-libxlutil \
> +    ${PN}-libvhd \
> +    ${PN}-libxenstat \
> +    ${PN}-libxenstore \
> +    ${PN}-libblktap \
> +    ${PN}-libfsimage \
> +    ${PN}-flask \
> +    ${PN}-fsimage \
> +    ${PN}-hvmloader \
> +    ${PN}-scripts-block \
> +    ${PN}-scripts-network \
> +    ${PN}-udev \
> +    ${PN}-xenpaging \
> +    ${PN}-xen-watchdog \
> +    ${PN}-xencommons \
> +    ${PN}-xendomains \
> +    ${PN}-xenstore \
> +    ${PN}-xenstored \
> +    ${PN}-xl \
> +    "
> +
> +RDEPENDS_${PN}-scripts-block = "\
> +    ${PN}-scripts-common \
> +    ${PN}-udev \
> +    "
> +
> +RDEPENDS_${PN}-scripts-network = "\
> +    bridge-utils \
> +    ${PN}-scripts-common \
> +    ${PN}-udev \
> +    "
> +
> +PACKAGES = "\
> +    ${PN}-base \
> +    ${PN}-blktap \
> +    ${PN}-console \
> +    ${PN}-dbg \
> +    ${PN}-dev \
> +    ${PN}-doc \
> +    ${PN}-flask \
> +    ${PN}-fsimage \
> +    ${PN}-gdbsx \
> +    ${PN}-hvmloader \
> +    ${PN}-hypervisor \
> +    ${PN}-kdd \
> +    ${PN}-libblktap \
> +    ${PN}-libblktapctl \
> +    ${PN}-libblktapctl-dev \
> +    ${PN}-libblktap-dev \
> +    ${PN}-libfsimage \
> +    ${PN}-libfsimage-dev \
> +    ${PN}-libvhd \
> +    ${PN}-libvhd-dev \
> +    ${PN}-libxenctrl \
> +    ${PN}-libxenctrl-dev \
> +    ${PN}-libxenguest \
> +    ${PN}-libxenguest-dev \
> +    ${PN}-libxenlight \
> +    ${PN}-libxenlight-dev \
> +    ${PN}-libxenstat \
> +    ${PN}-libxenstat-dev \
> +    ${PN}-libxenstore \
> +    ${PN}-libxenstore-dev \
> +    ${PN}-libxenvchan \
> +    ${PN}-libxenvchan-dev \
> +    ${PN}-libxlutil \
> +    ${PN}-libxlutil-dev \
> +    ${PN}-misc \
> +    ${PN}-pygrub \
> +    ${PN}-python \
> +    ${PN}-qemu \
> +    ${PN}-remus \
> +    ${PN}-scripts-block \
> +    ${PN}-scripts-common \
> +    ${PN}-scripts-network \
> +    ${PN}-staticdev \
> +    ${PN}-udev \
> +    ${PN}-xcutils \
> +    ${PN}-xencommons \
> +    ${PN}-xend \
> +    ${PN}-xend-examples \
> +    ${PN}-xendomains \
> +    ${PN}-xenmon \
> +    ${PN}-xenpaging \
> +    ${PN}-xenpmd \
> +    ${PN}-xenstat \
> +    ${PN}-xenstore \
> +    ${PN}-xenstored \
> +    ${PN}-xentrace \
> +    ${PN}-xen-watchdog \
> +    ${PN}-xl \
> +    ${PN}-xl-examples \
> +    ${PN}-xm \
> +    ${PN}-xm-examples \
> +    "
> +
> +FILES_${PN}-dbg += "\
> +    ${libdir}/.debug \
> +    ${libdir}/xen/bin/.debug \
> +    ${libdir}/python2.7/site-packages/.debug \
> +    ${libdir}/python2.7/site-packages/xen/lowlevel/.debug \
> +    ${libdir}/fs/xfs/.debug \
> +    ${libdir}/fs/ufs/.debug \
> +    ${libdir}/fs/ext2fs-lib/.debug \
> +    ${libdir}/fs/fat/.debug \
> +    ${libdir}/fs/zfs/.debug \
> +    ${libdir}/fs/reiserfs/.debug \
> +    ${libdir}/fs/iso9660/.debug \
> +    ${sbindir}/.debug \
> +    ${libdir}exec/.debug \
> +    ${bindir}/.debug \
> +    ${libdir}/python2.7/dist-packages/.debug \
> +    ${libdir}/python2.7/dist-packages/xen/lowlevel/.debug \
> +    "
> +
> +FILES_${PN}-dev = "\
> +    ${includedir} \
> +    "
> +
> +FILES_${PN}-doc = "\
> +    ${sysconfdir}/xen/README \
> +    ${sysconfdir}/xen/README.incompatibilities \
> +    ${datadir}/doc \
> +    ${datadir}/man \
> +    "
> +
> +FILES_${PN}-staticdev += "\
> +    ${libdir}/libblktapctl.a \
> +    ${libdir}/libxenguest.a \
> +    ${libdir}/libxenlight.a \
> +    ${libdir}/libxenvchan.a \
> +    ${libdir}/libxenctrl.a \
> +    ${libdir}/libxlutil.a \
> +    ${libdir}/libvhd.a \
> +    ${libdir}/libxenstat.a \
> +    ${libdir}/libxenstore.a \
> +    ${libdir}/libblktap.a \
> +    "
> +
> +FILES_${PN}-libblktapctl = "${libdir}/libblktapctl.so.*"
> +FILES_${PN}-libblktapctl-dev = "${libdir}/libblktapctl.so"
> +
> +FILES_${PN}-libxenguest = "${libdir}/libxenguest.so.*"
> +FILES_${PN}-libxenguest-dev = "${libdir}/libxenguest.so"
> +
> +FILES_${PN}-libxenlight = "${libdir}/libxenlight.so.*"
> +FILES_${PN}-libxenlight-dev = "${libdir}/libxenlight.so"
> +
> +FILES_${PN}-libxenvchan = "${libdir}/libxenvchan.so.*"
> +FILES_${PN}-libxenvchan-dev = "${libdir}/libxenvchan.so"
> +
> +FILES_${PN}-libxenctrl = "${libdir}/libxenctrl.so.*"
> +FILES_${PN}-libxenctrl-dev = "${libdir}/libxenctrl.so"
> +
> +FILES_${PN}-libxlutil = "${libdir}/libxlutil.so.*"
> +FILES_${PN}-libxlutil-dev = "${libdir}/libxlutil.so"
> +
> +FILES_${PN}-libvhd = "${libdir}/libvhd.so.*"
> +FILES_${PN}-libvhd-dev = "${libdir}/libvhd.so"
> +
> +FILES_${PN}-libxenstat = "${libdir}/libxenstat.so.*"
> +FILES_${PN}-libxenstat-dev = "${libdir}/libxenstat.so"
> +
> +FILES_${PN}-libxenstore = "${libdir}/libxenstore.so.*"
> +FILES_${PN}-libxenstore-dev = "${libdir}/libxenstore.so"
> +
> +FILES_${PN}-libblktap = "${libdir}/libblktap.so.*"
> +FILES_${PN}-libblktap-dev = "${libdir}/libblktap.so"
> +
> +FILES_${PN}-libfsimage = "${libdir}/libfsimage.so.*"
> +FILES_${PN}-libfsimage-dev = "${libdir}/libfsimage.so"
> +
> +FILES_${PN}-fsimage = "${libdir}/fs/*/*fsimage.so"
> +
> +FILES_${PN}-hypervisor = "\
> +    /boot/xen-4.3.0.gz \
> +    /boot/xen-4.3.gz \
> +    /boot/xen-4.gz \
> +    /boot/xen.gz \
> +    /boot/xen-syms-4.3.0 \
> +    "
> +
> +FILES_${PN}-base = "\
> +    ${sysconfdir}/default/volatiles/99_xen \
> +    ${sysconfdir}/default/xencommons \
> +    ${sysconfdir}/default/xendomains \
> +    ${sysconfdir}/xen/auto \
> +    ${sysconfdir}/xen/cpupool \
> +    ${sysconfdir}/sysconfig/xendomains \
> +    ${localstatedir}/xen/dump \
> +    "
> +
> +FILES_${PN}-blktap = "\
> +    ${sbindir}/blktapctrl \
> +    ${sbindir}/img2qcow \
> +    ${sbindir}/lock-util \
> +    ${sbindir}/qcow2raw \
> +    ${sbindir}/qcow-create \
> +    ${sbindir}/tap-ctl \
> +    ${sbindir}/tapdisk \
> +    ${sbindir}/tapdisk2 \
> +    ${sbindir}/tapdisk-client \
> +    ${sbindir}/tapdisk-diff \
> +    ${sbindir}/tapdisk-stream \
> +    ${sbindir}/td-util \
> +    ${sbindir}/vhd-update \
> +    ${sbindir}/vhd-util \
> +    "
> +
> +FILES_${PN}-console = "\
> +    ${libdir}/xen/bin/xenconsole \
> +    ${sbindir}/xenconsoled \
> +    "
> +
> +FILES_${PN}-flask = "\
> +    ${sbindir}/flask-get-bool \
> +    ${sbindir}/flask-getenforce \
> +    ${sbindir}/flask-label-pci \
> +    ${sbindir}/flask-loadpolicy \
> +    ${sbindir}/flask-set-bool \
> +    ${sbindir}/flask-setenforce \
> +    "
> +
> +FILES_${PN}-gdbsx = "\
> +    ${sbindir}/gdbsx \
> +    "
> +
> +INSANE_SKIP_${PN}-hvmloader = "arch"
> +FILES_${PN}-hvmloader = "\
> +    ${libdir}/xen/boot/hvmloader \
> +    "
> +
> +FILES_${PN}-kdd = "\
> +    ${sbindir}/kdd \
> +    "
> +
> +FILES_${PN}-misc = "\
> +    ${bindir}/xencons \
> +    ${bindir}/xencov_split \
> +    ${bindir}/xen-detect \
> +    ${libdir}/xen/bin/xenpvnetboot \
> +    ${sbindir}/gtracestat \
> +    ${sbindir}/gtraceview \
> +    ${sbindir}/xen-bugtool \
> +    ${sbindir}/xencov \
> +    ${sbindir}/xend \
> +    ${sbindir}/xenperf \
> +    ${sbindir}/xenpm \
> +    ${sbindir}/xsview \
> +    ${sbindir}/xen-tmem-list-parse \
> +    ${sbindir}/xen-python-path \
> +    ${sbindir}/xen-ringwatch \
> +    ${sbindir}/xen-hptool \
> +    ${sbindir}/xen-hvmcrash \
> +    ${sbindir}/xen-hvmctx \
> +    ${sbindir}/xenlockprof \
> +    ${sbindir}/xen-lowmemd \
> +    "
> +
> +FILES_${PN}-pygrub = "\
> +    ${bindir}/pygrub \
> +    ${libdir}/xen/bin/pygrub \
> +    "
> +
> +FILES_${PN}-python = "\
> +    ${libdir}/python2.7 \
> +    "
> +
> +INSANE_SKIP_${PN}-qemu = "arch"
> +FILES_${PN}-qemu = " \
> +    ${datadir}/xen/qemu \
> +    ${libdir}/xen/bin/qemu-system-i386 \
> +    ${libdir}/xen/bin/qemu-system-x86_64 \
> +    ${libdir}/xen/bin/qemu-img \
> +    ${libdir}/xen/bin/qemu-nbd \
> +    ${libdir}/xen/bin/qemu-ga \
> +    ${libdir}/xen/bin/qemu-io \
> +    ${libdir}/xen/bin/qemu-dm \
> +    ${libdir}/xen/bin/virtfs-proxy-helper \
> +    /usr/libexec/qemu-bridge-helper \
> +    /usr/etc/qemu \
> +    /usr/etc/qemu/target-x86_64.conf \
> +    ${datadir}/qemu-xen \
> +    ${datadir}/qemu-xen/qemu \
> +    ${datadir}/qemu-xen/qemu/bamboo.dtb \
> +    ${datadir}/qemu-xen/qemu/pxe-pcnet.rom \
> +    ${datadir}/qemu-xen/qemu/vgabios-vmware.bin \
> +    ${datadir}/qemu-xen/qemu/pxe-eepro100.rom \
> +    ${datadir}/qemu-xen/qemu/pxe-e1000.rom \
> +    ${datadir}/qemu-xen/qemu/openbios-ppc \
> +    ${datadir}/qemu-xen/qemu/multiboot.bin \
> +    ${datadir}/qemu-xen/qemu/vgabios-cirrus.bin \
> +    ${datadir}/qemu-xen/qemu/bios.bin \
> +    ${datadir}/qemu-xen/qemu/vgabios-stdvga.bin \
> +    ${datadir}/qemu-xen/qemu/palcode-clipper \
> +    ${datadir}/qemu-xen/qemu/pxe-ne2k_pci.rom \
> +    ${datadir}/qemu-xen/qemu/spapr-rtas.bin \
> +    ${datadir}/qemu-xen/qemu/slof.bin \
> +    ${datadir}/qemu-xen/qemu/vgabios-qxl.bin \
> +    ${datadir}/qemu-xen/qemu/pxe-rtl8139.rom \
> +    ${datadir}/qemu-xen/qemu/openbios-sparc64 \
> +    ${datadir}/qemu-xen/qemu/pxe-virtio.rom \
> +    ${datadir}/qemu-xen/qemu/kvmvapic.bin \
> +    ${datadir}/qemu-xen/qemu/openbios-sparc32 \
> +    ${datadir}/qemu-xen/qemu/petalogix-s3adsp1800.dtb \
> +    ${datadir}/qemu-xen/qemu/sgabios.bin \
> +    ${datadir}/qemu-xen/qemu/linuxboot.bin \
> +    ${datadir}/qemu-xen/qemu/qemu-icon.bmp \
> +    ${datadir}/qemu-xen/qemu/ppc_rom.bin \
> +    ${datadir}/qemu-xen/qemu/vgabios.bin \
> +    ${datadir}/qemu-xen/qemu/s390-zipl.rom \
> +    ${datadir}/qemu-xen/qemu/petalogix-ml605.dtb \
> +    ${datadir}/qemu-xen/qemu/keymaps \
> +    ${datadir}/qemu-xen/qemu/keymaps/common \
> +    ${datadir}/qemu-xen/qemu/keymaps/th \
> +    ${datadir}/qemu-xen/qemu/keymaps/is \
> +    ${datadir}/qemu-xen/qemu/keymaps/en-gb \
> +    ${datadir}/qemu-xen/qemu/keymaps/ar \
> +    ${datadir}/qemu-xen/qemu/keymaps/fr-be \
> +    ${datadir}/qemu-xen/qemu/keymaps/ru \
> +    ${datadir}/qemu-xen/qemu/keymaps/hu \
> +    ${datadir}/qemu-xen/qemu/keymaps/de-ch \
> +    ${datadir}/qemu-xen/qemu/keymaps/no \
> +    ${datadir}/qemu-xen/qemu/keymaps/fr \
> +    ${datadir}/qemu-xen/qemu/keymaps/pl \
> +    ${datadir}/qemu-xen/qemu/keymaps/fr-ca \
> +    ${datadir}/qemu-xen/qemu/keymaps/de \
> +    ${datadir}/qemu-xen/qemu/keymaps/fr-ch \
> +    ${datadir}/qemu-xen/qemu/keymaps/bepo \
> +    ${datadir}/qemu-xen/qemu/keymaps/lv \
> +    ${datadir}/qemu-xen/qemu/keymaps/ja \
> +    ${datadir}/qemu-xen/qemu/keymaps/da \
> +    ${datadir}/qemu-xen/qemu/keymaps/lt \
> +    ${datadir}/qemu-xen/qemu/keymaps/hr \
> +    ${datadir}/qemu-xen/qemu/keymaps/es \
> +    ${datadir}/qemu-xen/qemu/keymaps/modifiers \
> +    ${datadir}/qemu-xen/qemu/keymaps/sl \
> +    ${datadir}/qemu-xen/qemu/keymaps/it \
> +    ${datadir}/qemu-xen/qemu/keymaps/nl \
> +    ${datadir}/qemu-xen/qemu/keymaps/fo \
> +    ${datadir}/qemu-xen/qemu/keymaps/mk \
> +    ${datadir}/qemu-xen/qemu/keymaps/pt-br \
> +    ${datadir}/qemu-xen/qemu/keymaps/tr \
> +    ${datadir}/qemu-xen/qemu/keymaps/sv \
> +    ${datadir}/qemu-xen/qemu/keymaps/fi \
> +    ${datadir}/qemu-xen/qemu/keymaps/en-us \
> +    ${datadir}/qemu-xen/qemu/keymaps/et \
> +    ${datadir}/qemu-xen/qemu/keymaps/nl-be \
> +    ${datadir}/qemu-xen/qemu/keymaps/pt \
> +    ${bindir}/qemu-nbd-xen \
> +    ${bindir}/qemu-img-xen \
> +    "
> +
> +FILES_${PN}-remus = "\
> +    ${bindir}/remus \
> +    "
> +
> +FILES_${PN}-scripts-network = " \
> +    ${sysconfdir}/xen/scripts/network-bridge \
> +    ${sysconfdir}/xen/scripts/network-nat \
> +    ${sysconfdir}/xen/scripts/network-route \
> +    ${sysconfdir}/xen/scripts/qemu-ifup \
> +    ${sysconfdir}/xen/scripts/vif2 \
> +    ${sysconfdir}/xen/scripts/vif-bridge \
> +    ${sysconfdir}/xen/scripts/vif-common.sh \
> +    ${sysconfdir}/xen/scripts/vif-nat \
> +    ${sysconfdir}/xen/scripts/vif-openvswitch \
> +    ${sysconfdir}/xen/scripts/vif-route \
> +    ${sysconfdir}/xen/scripts/vif-setup \
> +    "
> +
> +FILES_${PN}-scripts-block = " \
> +    ${sysconfdir}/xen/scripts/blktap \
> +    ${sysconfdir}/xen/scripts/block \
> +    ${sysconfdir}/xen/scripts/block-common.sh \
> +    ${sysconfdir}/xen/scripts/block-enbd \
> +    ${sysconfdir}/xen/scripts/block-iscsi \
> +    ${sysconfdir}/xen/scripts/block-nbd \
> +    ${sysconfdir}/xen/scripts/vscsi \
> +    "
> +
> +FILES_${PN}-scripts-common = " \
> +    ${sysconfdir}/xen/scripts/external-device-migrate \
> +    ${sysconfdir}/xen/scripts/hotplugpath.sh \
> +    ${sysconfdir}/xen/scripts/locking.sh \
> +    ${sysconfdir}/xen/scripts/logging.sh \
> +    ${sysconfdir}/xen/scripts/xen-hotplug-cleanup \
> +    ${sysconfdir}/xen/scripts/xen-hotplug-common.sh \
> +    ${sysconfdir}/xen/scripts/xen-network-common.sh \
> +    ${sysconfdir}/xen/scripts/xen-script-common.sh \
> +    "
> +
> +FILES_${PN}-udev = "\
> +    ${sysconfdir}/udev/rules.d/xen-backend.rules \
> +    ${sysconfdir}/udev/rules.d/xend.rules \
> +    "
> +
> +FILES_${PN}-xcutils = "\
> +    ${libdir}/xen/bin/lsevtchn \
> +    ${libdir}/xen/bin/readnotes \
> +    ${libdir}/xen/bin/xc_restore \
> +    ${libdir}/xen/bin/xc_save \
> +    "
> +
> +FILES_${PN}-xend-examples = "\
> +    ${sysconfdir}/xen/xend-config.sxp \
> +    ${sysconfdir}/xen/xend-pci-permissive.sxp \
> +    ${sysconfdir}/xen/xend-pci-quirks.sxp \
> +    "
> +
> +FILES_${PN}-xenpaging = "\
> +    ${libdir}/xen/bin/xenpaging \
> +    ${localstatedir}/lib/xen/xenpaging \
> +    "
> +
> +FILES_${PN}-xenpmd = "\
> +    ${sbindir}/xenpmd \
> +    "
> +
> +FILES_${PN}-xenstat = "\
> +    ${sbindir}/xentop \
> +    "
> +
> +FILES_${PN}-xenstore = "\
> +    ${bindir}/xenstore \
> +    ${bindir}/xenstore-chmod \
> +    ${bindir}/xenstore-control \
> +    ${bindir}/xenstore-exists \
> +    ${bindir}/xenstore-list \
> +    ${bindir}/xenstore-ls \
> +    ${bindir}/xenstore-read \
> +    ${bindir}/xenstore-rm \
> +    ${bindir}/xenstore-watch \
> +    ${bindir}/xenstore-write \
> +    "
> +
> +FILES_${PN}-xenstored = "\
> +    ${sbindir}/xenstored \
> +    ${localstatedir}/lib/xenstored \
> +    "
> +
> +FILES_${PN}-xentrace = "\
> +    ${bindir}/xentrace \
> +    ${bindir}/xentrace_format \
> +    ${bindir}/xentrace_setsize \
> +    ${libdir}/xen/bin/xenctx \
> +    "
> +
> +FILES_${PN}-xen-watchdog = "\
> +    ${sbindir}/xenwatchdogd \
> +    "
> +
> +FILES_${PN}-xl = "\
> +    ${sysconfdir}/bash_completion.d/xl.sh \
> +    ${sysconfdir}/xen/xl.conf \
> +    ${libdir}/xen/bin/libxl-save-helper \
> +    ${sbindir}/xl \
> +    "
> +
> +FILES_${PN}-xl-examples = "\
> +    ${sysconfdir}/xen/xlexample.hvm \
> +    ${sysconfdir}/xen/xlexample.pvlinux \
> +    "
> +
> +FILES_${PN}-xm-examples = "\
> +    ${sysconfdir}/xen/xmexample1 \
> +    ${sysconfdir}/xen/xmexample2 \
> +    ${sysconfdir}/xen/xmexample3 \
> +    ${sysconfdir}/xen/xmexample.hvm \
> +    ${sysconfdir}/xen/xmexample.hvm-stubdom \
> +    ${sysconfdir}/xen/xmexample.nbd \
> +    ${sysconfdir}/xen/xmexample.pv-grub \
> +    ${sysconfdir}/xen/xmexample.vti \
> +    "
> +
> +FILES_${PN}-xenmon = "\
> +    ${sbindir}/xenbaked \
> +    ${sbindir}/xentrace_setmask \
> +    ${sbindir}/xenmon.py \
> +    "
> +
> +FILES_${PN}-xm = "\
> +    ${sysconfdir}/xen/xm-config.xml \
> +    ${datadir}/xen/create.dtd \
> +    ${sbindir}/xm \
> +    "
> +
> +FILES_${PN}-xencommons += "${sysconfdir}/init.d/xencommons"
> +FILES_${PN}-xend += "${sysconfdir}/init.d/xend"
> +FILES_${PN}-xendomains += "${sysconfdir}/init.d/xendomains"
> +FILES_${PN}-xen-watchdog += "${sysconfdir}/init.d/xen-watchdog"
> +
> +# configure init.d scripts
> +INITSCRIPT_PACKAGES = "${PN}-xend ${PN}-xencommons ${PN}-xen-watchdog ${PN}-xendomains"
> +INITSCRIPT_NAME_${PN}-xencommons = "xencommons"
> +INITSCRIPT_PARAMS_${PN}-xencommons = "defaults 80"
> +INITSCRIPT_NAME_${PN}-xen-watchdog = "xen-watchdog"
> +INITSCRIPT_PARAMS_${PN}-xen-watchdog = "defaults 81"
> +INITSCRIPT_NAME_${PN}-xend = "xend"
> +INITSCRIPT_PARAMS_${PN}-xend = "defaults 82"
> +INITSCRIPT_NAME_${PN}-xendomains = "xendomains"
> +INITSCRIPT_PARAMS_${PN}-xendomains = "defaults 83"
> +
> +#### REQUIRED ENVIRONMENT VARIABLES ####
> +export BUILD_SYS
> +export HOST_SYS
> +export STAGING_INCDIR
> +export STAGING_LIBDIR
> +
> +# specify xen hypervisor to target x86_64 (x86_32 not supported)
> +export XEN_TARGET_ARCH="x86_64"
> +export XEN_COMPILE_ARCH="x86_64"
> +
> +# this is used for the header (#!${bindir}/python) of the install python scripts
> +export PYTHONPATH="${bindir}/python"
> +
> +# seabios forcefully sets HOSTCC to CC - fixup to allow it to build native conf executable
> +export HOSTCC="${BUILD_CC}"
> +
> +# make xen requires CROSS_COMPILE set by hand as it does not abide by ./configure
> +export CROSS_COMPILE="${TARGET_PREFIX}"
> +
> +# overide LDFLAGS to allow xen to build without: "x86_64-oe-linux-ld: unrecognized option '-Wl,-O1'"
> +export LDFLAGS=""
> +
> +do_configure() {
> +    # fixup qemu-xen-traditional pciutils check hardcoded to test ${includedir}/pci
> +    sed -i 's/\/usr\/include\/pci/$(STAGING_INCDIR)\/pci/g' ${S}/tools/qemu-xen-traditional/xen-hooks.mak
> +
> +    # fixup for qemu to cross compile
> +    sed -i 's/configure --d/configure --cross-prefix=${TARGET_PREFIX} --d/g' ${S}/tools/qemu-xen-traditional/xen-setup
> +
> +    # no stubs-32.h in our 64-bit sysroot - hack it into tools/include/gnu
> +    test -d ${S}/tools/include/gnu || mkdir ${S}/tools/include/gnu
> +    if ! test -f ${STAGING_DIR_TARGET}/usr/include/gnu/stubs-32.h ; then
> +        cat ${STAGING_DIR_TARGET}/usr/include/gnu/stubs-64.h | grep -v stub_bdflush | grep -v stub_getmsg | grep -v stub_putmsg > ${S}/tools/include/gnu/stubs-32.h
> +        echo \#define __stub___kernel_cosl >> ${S}/tools/include/gnu/stubs-32.h
> +        echo \#define __stub___kernel_sinl >> ${S}/tools/include/gnu/stubs-32.h
> +        echo \#define __stub___kernel_tanl >> ${S}/tools/include/gnu/stubs-32.h
> +    fi
> +
> +    # do configure
> +    ./configure --exec-prefix=/usr --prefix=/usr --host=${HOST_SYS} --disable-stubdom --disable-ioemu-stubdom --disable-pv-grub --disable-xenstore-stubdom
> +
> +    # seabios needs a patch to specify correct compiler - pull and patch Makefile
> +    make -C ${S}/tools/firmware seabios-dir
> +    sed -i 's/export HOSTCC.*$(CC)/export HOSTCC ?= $(CC)/g' ${S}/tools/firmware/seabios-dir/Makefile
> +}
> +
> +do_compile() {
> +    oe_runmake
> +}
> +
> +do_install() {
> +    oe_runmake DESTDIR="${D}" install
> +
> +    # remove installed volatiles
> +    rm -rf ${D}${localstatedir}/run ${D}${localstatedir}/lock ${D}${localstatedir}/log ${D}${localstatedir}/volatile
> +
> +    # install volatiles using populate_volatiles mechanism
> +    install -d ${D}${sysconfdir}/default/volatiles
> +    echo "d root root 0755 ${localstatedir}/run/xenstored none" \
> +         > ${D}${sysconfdir}/default/volatiles/99_xen
> +    echo "d root root 0755 ${localstatedir}/run/xend none" \
> +         >> ${D}${sysconfdir}/default/volatiles/99_xen
> +    echo "d root root 0755 ${localstatedir}/run/xend/boot none" \
> +         >> ${D}${sysconfdir}/default/volatiles/99_xen
> +    echo "d root root 0755 ${localstatedir}/run/xen none" \
> +         >> ${D}${sysconfdir}/default/volatiles/99_xen
> +    echo "d root root 0755 ${localstatedir}/log/xen none" \
> +         >> ${D}${sysconfdir}/default/volatiles/99_xen
> +    echo "d root root 0755 ${localstatedir}/lock/xen none" \
> +         >> ${D}${sysconfdir}/default/volatiles/99_xen
> +    echo "d root root 0755 ${localstatedir}/lock/subsys none" \
> +         >> ${D}${sysconfdir}/default/volatiles/99_xen
> +
> +    # workaround for xendomains script which searchs sysconfig if directory exists
> +    install -d ${D}${sysconfdir}/sysconfig
> +    ln -sf ${sysconfdir}/default/xendomains ${D}${sysconfdir}/sysconfig/xendomains
> +}
> +
> +pkg_postinst_${PN}-base() {
> +    if [ -z "$D" ] && [ -e ${sysconfdir}/init.d/populate-volatile.sh ] ; then
> +        ${sysconfdir}/init.d/populate-volatile.sh update
> +    fi
> +}
> +
> +sysroot_stage_all_append() {
> +    sysroot_stage_dir ${D}/boot ${SYSROOT_DESTDIR}/kernel
> +
> +    install -d ${DEPLOY_DIR_IMAGE}
> +    install -m 0644 ${D}/boot/xen.gz ${DEPLOY_DIR_IMAGE}/xen-${MACHINE}.gz
> +}
> --
> 1.8.4.rc3
>
> _______________________________________________
> meta-virtualization mailing list
> meta-virtualization@yoctoproject.org
> https://lists.yoctoproject.org/listinfo/meta-virtualization



-- 
"Thou shalt not follow the NULL pointer, for chaos and madness await
thee at its end"


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH v2 3/4] xen: add 4.3.0 recipe.
  2013-09-11  1:02 ` [PATCH v2 3/4] xen: add 4.3.0 recipe Chris Patterson
  2013-09-12 17:28   ` Bruce Ashfield
@ 2013-09-14 22:27   ` Philip Tricca
  2013-09-20 18:10   ` Philip Tricca
  2 siblings, 0 replies; 10+ messages in thread
From: Philip Tricca @ 2013-09-14 22:27 UTC (permalink / raw)
  To: Chris Patterson; +Cc: meta-virtualization

A few days back oe-core added an INSANE_SKIP for pre-stripped binaries
that you may want to add to the xen recipe:

INSANE_SKIP_${PN} = "already-stripped"

This will get rid of the 4 QA warnings. Not sure if there's a better way
to deal with this but they'd likely be pretty heavy lifts to prevent the
Xen build from stripping these in the first place.

Regards,
- Philip

On 09/10/2013 09:02 PM, Chris Patterson wrote:
> Signed-off-by: Chris Patterson <cjp256@gmail.com>
> ---
>  recipes-extended/xen/xen_4.3.0.bb | 626 ++++++++++++++++++++++++++++++++++++++
>  1 file changed, 626 insertions(+)
>  create mode 100644 recipes-extended/xen/xen_4.3.0.bb
> 
> diff --git a/recipes-extended/xen/xen_4.3.0.bb b/recipes-extended/xen/xen_4.3.0.bb
> new file mode 100644
> index 0000000..00394b9
> --- /dev/null
> +++ b/recipes-extended/xen/xen_4.3.0.bb
> @@ -0,0 +1,626 @@
> +DESCRIPTION = "Xen hypervisor"
> +HOMEPAGE = "http://xen.org"
> +LICENSE = "GPLv2"
> +SECTION = "console/tools"
> +PR = "r0"
> +
> +LIC_FILES_CHKSUM = "file://COPYING;md5=e0f0f3ac55608719a82394cc353928df"
> +
> +SRC_URI = "http://bits.xensource.com/oss-xen/release/${PV}/xen-${PV}.tar.gz"
> +
> +SRC_URI[md5sum] = "7b18cfb58f1ac2ce39cf35a1867f0c0a"
> +SRC_URI[sha256sum] = "e1e9faabe4886e2227aacdbde74410653b233d66642ca1972a860cbec6439961"
> +
> +S = "${WORKDIR}/xen-${PV}"
> +
> +COMPATIBLE_HOST = '(x86_64.*).*-linux'
> +
> +inherit autotools gettext setuptools update-rc.d
> +
> +DEPENDS = "util-linux util-linux-native file-native zlib ncurses openssl bison-native flex-native gettext dev86-native iasl-native pciutils virtual/libgl virtual/libsdl bridge-utils iproute2 procps yajl pixman python python-setuptools-native xz xz-native"
> +
> +# inherit setuptools adds python to RDEPENDS, override it
> +RDEPENDS_${PN} = ""
> +
> +RDEPENDS_${PN}-base = "\
> +    libgcc udev bash perl xz \
> +    ${PN}-blktap \
> +    ${PN}-console \
> +    ${PN}-libblktapctl \
> +    ${PN}-libxenguest \
> +    ${PN}-libxenlight \
> +    ${PN}-libxenvchan \
> +    ${PN}-libxenctrl \
> +    ${PN}-libxlutil \
> +    ${PN}-libvhd \
> +    ${PN}-libxenstat \
> +    ${PN}-libxenstore \
> +    ${PN}-libblktap \
> +    ${PN}-libfsimage \
> +    ${PN}-flask \
> +    ${PN}-fsimage \
> +    ${PN}-hvmloader \
> +    ${PN}-scripts-block \
> +    ${PN}-scripts-network \
> +    ${PN}-udev \
> +    ${PN}-xenpaging \
> +    ${PN}-xen-watchdog \
> +    ${PN}-xencommons \
> +    ${PN}-xendomains \
> +    ${PN}-xenstore \
> +    ${PN}-xenstored \
> +    ${PN}-xl \
> +    "
> +
> +RDEPENDS_${PN}-scripts-block = "\
> +    ${PN}-scripts-common \
> +    ${PN}-udev \
> +    "
> +
> +RDEPENDS_${PN}-scripts-network = "\
> +    bridge-utils \
> +    ${PN}-scripts-common \
> +    ${PN}-udev \
> +    "
> +
> +PACKAGES = "\
> +    ${PN}-base \
> +    ${PN}-blktap \
> +    ${PN}-console \
> +    ${PN}-dbg \
> +    ${PN}-dev \
> +    ${PN}-doc \
> +    ${PN}-flask \
> +    ${PN}-fsimage \
> +    ${PN}-gdbsx \
> +    ${PN}-hvmloader \
> +    ${PN}-hypervisor \
> +    ${PN}-kdd \
> +    ${PN}-libblktap \
> +    ${PN}-libblktapctl \
> +    ${PN}-libblktapctl-dev \
> +    ${PN}-libblktap-dev \
> +    ${PN}-libfsimage \
> +    ${PN}-libfsimage-dev \
> +    ${PN}-libvhd \
> +    ${PN}-libvhd-dev \
> +    ${PN}-libxenctrl \
> +    ${PN}-libxenctrl-dev \
> +    ${PN}-libxenguest \
> +    ${PN}-libxenguest-dev \
> +    ${PN}-libxenlight \
> +    ${PN}-libxenlight-dev \
> +    ${PN}-libxenstat \
> +    ${PN}-libxenstat-dev \
> +    ${PN}-libxenstore \
> +    ${PN}-libxenstore-dev \
> +    ${PN}-libxenvchan \
> +    ${PN}-libxenvchan-dev \
> +    ${PN}-libxlutil \
> +    ${PN}-libxlutil-dev \
> +    ${PN}-misc \
> +    ${PN}-pygrub \
> +    ${PN}-python \
> +    ${PN}-qemu \
> +    ${PN}-remus \
> +    ${PN}-scripts-block \
> +    ${PN}-scripts-common \
> +    ${PN}-scripts-network \
> +    ${PN}-staticdev \
> +    ${PN}-udev \
> +    ${PN}-xcutils \
> +    ${PN}-xencommons \
> +    ${PN}-xend \
> +    ${PN}-xend-examples \
> +    ${PN}-xendomains \
> +    ${PN}-xenmon \
> +    ${PN}-xenpaging \
> +    ${PN}-xenpmd \
> +    ${PN}-xenstat \
> +    ${PN}-xenstore \
> +    ${PN}-xenstored \
> +    ${PN}-xentrace \
> +    ${PN}-xen-watchdog \
> +    ${PN}-xl \
> +    ${PN}-xl-examples \
> +    ${PN}-xm \
> +    ${PN}-xm-examples \
> +    "
> +
> +FILES_${PN}-dbg += "\
> +    ${libdir}/.debug \
> +    ${libdir}/xen/bin/.debug \
> +    ${libdir}/python2.7/site-packages/.debug \
> +    ${libdir}/python2.7/site-packages/xen/lowlevel/.debug \
> +    ${libdir}/fs/xfs/.debug \
> +    ${libdir}/fs/ufs/.debug \
> +    ${libdir}/fs/ext2fs-lib/.debug \
> +    ${libdir}/fs/fat/.debug \
> +    ${libdir}/fs/zfs/.debug \
> +    ${libdir}/fs/reiserfs/.debug \
> +    ${libdir}/fs/iso9660/.debug \
> +    ${sbindir}/.debug \
> +    ${libdir}exec/.debug \
> +    ${bindir}/.debug \
> +    ${libdir}/python2.7/dist-packages/.debug \
> +    ${libdir}/python2.7/dist-packages/xen/lowlevel/.debug \
> +    "
> +
> +FILES_${PN}-dev = "\
> +    ${includedir} \
> +    "
> +
> +FILES_${PN}-doc = "\
> +    ${sysconfdir}/xen/README \
> +    ${sysconfdir}/xen/README.incompatibilities \
> +    ${datadir}/doc \
> +    ${datadir}/man \
> +    "
> +
> +FILES_${PN}-staticdev += "\
> +    ${libdir}/libblktapctl.a \
> +    ${libdir}/libxenguest.a \
> +    ${libdir}/libxenlight.a \
> +    ${libdir}/libxenvchan.a \
> +    ${libdir}/libxenctrl.a \
> +    ${libdir}/libxlutil.a \
> +    ${libdir}/libvhd.a \
> +    ${libdir}/libxenstat.a \
> +    ${libdir}/libxenstore.a \
> +    ${libdir}/libblktap.a \
> +    "
> +
> +FILES_${PN}-libblktapctl = "${libdir}/libblktapctl.so.*"
> +FILES_${PN}-libblktapctl-dev = "${libdir}/libblktapctl.so"
> +
> +FILES_${PN}-libxenguest = "${libdir}/libxenguest.so.*"
> +FILES_${PN}-libxenguest-dev = "${libdir}/libxenguest.so"
> +
> +FILES_${PN}-libxenlight = "${libdir}/libxenlight.so.*"
> +FILES_${PN}-libxenlight-dev = "${libdir}/libxenlight.so"
> +
> +FILES_${PN}-libxenvchan = "${libdir}/libxenvchan.so.*"
> +FILES_${PN}-libxenvchan-dev = "${libdir}/libxenvchan.so"
> +
> +FILES_${PN}-libxenctrl = "${libdir}/libxenctrl.so.*"
> +FILES_${PN}-libxenctrl-dev = "${libdir}/libxenctrl.so"
> +
> +FILES_${PN}-libxlutil = "${libdir}/libxlutil.so.*"
> +FILES_${PN}-libxlutil-dev = "${libdir}/libxlutil.so"
> +
> +FILES_${PN}-libvhd = "${libdir}/libvhd.so.*"
> +FILES_${PN}-libvhd-dev = "${libdir}/libvhd.so"
> +
> +FILES_${PN}-libxenstat = "${libdir}/libxenstat.so.*"
> +FILES_${PN}-libxenstat-dev = "${libdir}/libxenstat.so"
> +
> +FILES_${PN}-libxenstore = "${libdir}/libxenstore.so.*"
> +FILES_${PN}-libxenstore-dev = "${libdir}/libxenstore.so"
> +
> +FILES_${PN}-libblktap = "${libdir}/libblktap.so.*"
> +FILES_${PN}-libblktap-dev = "${libdir}/libblktap.so"
> +
> +FILES_${PN}-libfsimage = "${libdir}/libfsimage.so.*"
> +FILES_${PN}-libfsimage-dev = "${libdir}/libfsimage.so"
> +
> +FILES_${PN}-fsimage = "${libdir}/fs/*/*fsimage.so"
> +
> +FILES_${PN}-hypervisor = "\
> +    /boot/xen-4.3.0.gz \
> +    /boot/xen-4.3.gz \
> +    /boot/xen-4.gz \
> +    /boot/xen.gz \
> +    /boot/xen-syms-4.3.0 \
> +    "
> +
> +FILES_${PN}-base = "\
> +    ${sysconfdir}/default/volatiles/99_xen \
> +    ${sysconfdir}/default/xencommons \
> +    ${sysconfdir}/default/xendomains \
> +    ${sysconfdir}/xen/auto \
> +    ${sysconfdir}/xen/cpupool \
> +    ${sysconfdir}/sysconfig/xendomains \
> +    ${localstatedir}/xen/dump \
> +    "
> +
> +FILES_${PN}-blktap = "\
> +    ${sbindir}/blktapctrl \
> +    ${sbindir}/img2qcow \
> +    ${sbindir}/lock-util \
> +    ${sbindir}/qcow2raw \
> +    ${sbindir}/qcow-create \
> +    ${sbindir}/tap-ctl \
> +    ${sbindir}/tapdisk \
> +    ${sbindir}/tapdisk2 \
> +    ${sbindir}/tapdisk-client \
> +    ${sbindir}/tapdisk-diff \
> +    ${sbindir}/tapdisk-stream \
> +    ${sbindir}/td-util \
> +    ${sbindir}/vhd-update \
> +    ${sbindir}/vhd-util \
> +    "
> +
> +FILES_${PN}-console = "\
> +    ${libdir}/xen/bin/xenconsole \
> +    ${sbindir}/xenconsoled \
> +    "
> +
> +FILES_${PN}-flask = "\
> +    ${sbindir}/flask-get-bool \
> +    ${sbindir}/flask-getenforce \
> +    ${sbindir}/flask-label-pci \
> +    ${sbindir}/flask-loadpolicy \
> +    ${sbindir}/flask-set-bool \
> +    ${sbindir}/flask-setenforce \
> +    "
> +
> +FILES_${PN}-gdbsx = "\
> +    ${sbindir}/gdbsx \
> +    "
> +
> +INSANE_SKIP_${PN}-hvmloader = "arch"
> +FILES_${PN}-hvmloader = "\
> +    ${libdir}/xen/boot/hvmloader \
> +    "
> +
> +FILES_${PN}-kdd = "\
> +    ${sbindir}/kdd \
> +    "
> +
> +FILES_${PN}-misc = "\
> +    ${bindir}/xencons \
> +    ${bindir}/xencov_split \
> +    ${bindir}/xen-detect \
> +    ${libdir}/xen/bin/xenpvnetboot \
> +    ${sbindir}/gtracestat \
> +    ${sbindir}/gtraceview \
> +    ${sbindir}/xen-bugtool \
> +    ${sbindir}/xencov \
> +    ${sbindir}/xend \
> +    ${sbindir}/xenperf \
> +    ${sbindir}/xenpm \
> +    ${sbindir}/xsview \
> +    ${sbindir}/xen-tmem-list-parse \
> +    ${sbindir}/xen-python-path \
> +    ${sbindir}/xen-ringwatch \
> +    ${sbindir}/xen-hptool \
> +    ${sbindir}/xen-hvmcrash \
> +    ${sbindir}/xen-hvmctx \
> +    ${sbindir}/xenlockprof \
> +    ${sbindir}/xen-lowmemd \
> +    "
> +
> +FILES_${PN}-pygrub = "\
> +    ${bindir}/pygrub \
> +    ${libdir}/xen/bin/pygrub \
> +    "
> +
> +FILES_${PN}-python = "\
> +    ${libdir}/python2.7 \
> +    "
> +
> +INSANE_SKIP_${PN}-qemu = "arch"
> +FILES_${PN}-qemu = " \
> +    ${datadir}/xen/qemu \
> +    ${libdir}/xen/bin/qemu-system-i386 \
> +    ${libdir}/xen/bin/qemu-system-x86_64 \
> +    ${libdir}/xen/bin/qemu-img \
> +    ${libdir}/xen/bin/qemu-nbd \
> +    ${libdir}/xen/bin/qemu-ga \
> +    ${libdir}/xen/bin/qemu-io \
> +    ${libdir}/xen/bin/qemu-dm \
> +    ${libdir}/xen/bin/virtfs-proxy-helper \
> +    /usr/libexec/qemu-bridge-helper \
> +    /usr/etc/qemu \
> +    /usr/etc/qemu/target-x86_64.conf \
> +    ${datadir}/qemu-xen \
> +    ${datadir}/qemu-xen/qemu \
> +    ${datadir}/qemu-xen/qemu/bamboo.dtb \
> +    ${datadir}/qemu-xen/qemu/pxe-pcnet.rom \
> +    ${datadir}/qemu-xen/qemu/vgabios-vmware.bin \
> +    ${datadir}/qemu-xen/qemu/pxe-eepro100.rom \
> +    ${datadir}/qemu-xen/qemu/pxe-e1000.rom \
> +    ${datadir}/qemu-xen/qemu/openbios-ppc \
> +    ${datadir}/qemu-xen/qemu/multiboot.bin \
> +    ${datadir}/qemu-xen/qemu/vgabios-cirrus.bin \
> +    ${datadir}/qemu-xen/qemu/bios.bin \
> +    ${datadir}/qemu-xen/qemu/vgabios-stdvga.bin \
> +    ${datadir}/qemu-xen/qemu/palcode-clipper \
> +    ${datadir}/qemu-xen/qemu/pxe-ne2k_pci.rom \
> +    ${datadir}/qemu-xen/qemu/spapr-rtas.bin \
> +    ${datadir}/qemu-xen/qemu/slof.bin \
> +    ${datadir}/qemu-xen/qemu/vgabios-qxl.bin \
> +    ${datadir}/qemu-xen/qemu/pxe-rtl8139.rom \
> +    ${datadir}/qemu-xen/qemu/openbios-sparc64 \
> +    ${datadir}/qemu-xen/qemu/pxe-virtio.rom \
> +    ${datadir}/qemu-xen/qemu/kvmvapic.bin \
> +    ${datadir}/qemu-xen/qemu/openbios-sparc32 \
> +    ${datadir}/qemu-xen/qemu/petalogix-s3adsp1800.dtb \
> +    ${datadir}/qemu-xen/qemu/sgabios.bin \
> +    ${datadir}/qemu-xen/qemu/linuxboot.bin \
> +    ${datadir}/qemu-xen/qemu/qemu-icon.bmp \
> +    ${datadir}/qemu-xen/qemu/ppc_rom.bin \
> +    ${datadir}/qemu-xen/qemu/vgabios.bin \
> +    ${datadir}/qemu-xen/qemu/s390-zipl.rom \
> +    ${datadir}/qemu-xen/qemu/petalogix-ml605.dtb \
> +    ${datadir}/qemu-xen/qemu/keymaps \
> +    ${datadir}/qemu-xen/qemu/keymaps/common \
> +    ${datadir}/qemu-xen/qemu/keymaps/th \
> +    ${datadir}/qemu-xen/qemu/keymaps/is \
> +    ${datadir}/qemu-xen/qemu/keymaps/en-gb \
> +    ${datadir}/qemu-xen/qemu/keymaps/ar \
> +    ${datadir}/qemu-xen/qemu/keymaps/fr-be \
> +    ${datadir}/qemu-xen/qemu/keymaps/ru \
> +    ${datadir}/qemu-xen/qemu/keymaps/hu \
> +    ${datadir}/qemu-xen/qemu/keymaps/de-ch \
> +    ${datadir}/qemu-xen/qemu/keymaps/no \
> +    ${datadir}/qemu-xen/qemu/keymaps/fr \
> +    ${datadir}/qemu-xen/qemu/keymaps/pl \
> +    ${datadir}/qemu-xen/qemu/keymaps/fr-ca \
> +    ${datadir}/qemu-xen/qemu/keymaps/de \
> +    ${datadir}/qemu-xen/qemu/keymaps/fr-ch \
> +    ${datadir}/qemu-xen/qemu/keymaps/bepo \
> +    ${datadir}/qemu-xen/qemu/keymaps/lv \
> +    ${datadir}/qemu-xen/qemu/keymaps/ja \
> +    ${datadir}/qemu-xen/qemu/keymaps/da \
> +    ${datadir}/qemu-xen/qemu/keymaps/lt \
> +    ${datadir}/qemu-xen/qemu/keymaps/hr \
> +    ${datadir}/qemu-xen/qemu/keymaps/es \
> +    ${datadir}/qemu-xen/qemu/keymaps/modifiers \
> +    ${datadir}/qemu-xen/qemu/keymaps/sl \
> +    ${datadir}/qemu-xen/qemu/keymaps/it \
> +    ${datadir}/qemu-xen/qemu/keymaps/nl \
> +    ${datadir}/qemu-xen/qemu/keymaps/fo \
> +    ${datadir}/qemu-xen/qemu/keymaps/mk \
> +    ${datadir}/qemu-xen/qemu/keymaps/pt-br \
> +    ${datadir}/qemu-xen/qemu/keymaps/tr \
> +    ${datadir}/qemu-xen/qemu/keymaps/sv \
> +    ${datadir}/qemu-xen/qemu/keymaps/fi \
> +    ${datadir}/qemu-xen/qemu/keymaps/en-us \
> +    ${datadir}/qemu-xen/qemu/keymaps/et \
> +    ${datadir}/qemu-xen/qemu/keymaps/nl-be \
> +    ${datadir}/qemu-xen/qemu/keymaps/pt \
> +    ${bindir}/qemu-nbd-xen \
> +    ${bindir}/qemu-img-xen \
> +    "
> +
> +FILES_${PN}-remus = "\
> +    ${bindir}/remus \
> +    "
> +
> +FILES_${PN}-scripts-network = " \
> +    ${sysconfdir}/xen/scripts/network-bridge \
> +    ${sysconfdir}/xen/scripts/network-nat \
> +    ${sysconfdir}/xen/scripts/network-route \
> +    ${sysconfdir}/xen/scripts/qemu-ifup \
> +    ${sysconfdir}/xen/scripts/vif2 \
> +    ${sysconfdir}/xen/scripts/vif-bridge \
> +    ${sysconfdir}/xen/scripts/vif-common.sh \
> +    ${sysconfdir}/xen/scripts/vif-nat \
> +    ${sysconfdir}/xen/scripts/vif-openvswitch \
> +    ${sysconfdir}/xen/scripts/vif-route \
> +    ${sysconfdir}/xen/scripts/vif-setup \
> +    "
> +
> +FILES_${PN}-scripts-block = " \
> +    ${sysconfdir}/xen/scripts/blktap \
> +    ${sysconfdir}/xen/scripts/block \
> +    ${sysconfdir}/xen/scripts/block-common.sh \
> +    ${sysconfdir}/xen/scripts/block-enbd \
> +    ${sysconfdir}/xen/scripts/block-iscsi \
> +    ${sysconfdir}/xen/scripts/block-nbd \
> +    ${sysconfdir}/xen/scripts/vscsi \
> +    "
> +
> +FILES_${PN}-scripts-common = " \
> +    ${sysconfdir}/xen/scripts/external-device-migrate \
> +    ${sysconfdir}/xen/scripts/hotplugpath.sh \
> +    ${sysconfdir}/xen/scripts/locking.sh \
> +    ${sysconfdir}/xen/scripts/logging.sh \
> +    ${sysconfdir}/xen/scripts/xen-hotplug-cleanup \
> +    ${sysconfdir}/xen/scripts/xen-hotplug-common.sh \
> +    ${sysconfdir}/xen/scripts/xen-network-common.sh \
> +    ${sysconfdir}/xen/scripts/xen-script-common.sh \
> +    "
> +
> +FILES_${PN}-udev = "\
> +    ${sysconfdir}/udev/rules.d/xen-backend.rules \
> +    ${sysconfdir}/udev/rules.d/xend.rules \
> +    "
> +
> +FILES_${PN}-xcutils = "\
> +    ${libdir}/xen/bin/lsevtchn \
> +    ${libdir}/xen/bin/readnotes \
> +    ${libdir}/xen/bin/xc_restore \
> +    ${libdir}/xen/bin/xc_save \
> +    "
> +
> +FILES_${PN}-xend-examples = "\
> +    ${sysconfdir}/xen/xend-config.sxp \
> +    ${sysconfdir}/xen/xend-pci-permissive.sxp \
> +    ${sysconfdir}/xen/xend-pci-quirks.sxp \
> +    "
> +
> +FILES_${PN}-xenpaging = "\
> +    ${libdir}/xen/bin/xenpaging \
> +    ${localstatedir}/lib/xen/xenpaging \
> +    "
> +
> +FILES_${PN}-xenpmd = "\
> +    ${sbindir}/xenpmd \
> +    "
> +
> +FILES_${PN}-xenstat = "\
> +    ${sbindir}/xentop \
> +    "
> +
> +FILES_${PN}-xenstore = "\
> +    ${bindir}/xenstore \
> +    ${bindir}/xenstore-chmod \
> +    ${bindir}/xenstore-control \
> +    ${bindir}/xenstore-exists \
> +    ${bindir}/xenstore-list \
> +    ${bindir}/xenstore-ls \
> +    ${bindir}/xenstore-read \
> +    ${bindir}/xenstore-rm \
> +    ${bindir}/xenstore-watch \
> +    ${bindir}/xenstore-write \
> +    "
> +
> +FILES_${PN}-xenstored = "\
> +    ${sbindir}/xenstored \
> +    ${localstatedir}/lib/xenstored \
> +    "
> +
> +FILES_${PN}-xentrace = "\
> +    ${bindir}/xentrace \
> +    ${bindir}/xentrace_format \
> +    ${bindir}/xentrace_setsize \
> +    ${libdir}/xen/bin/xenctx \
> +    "
> +
> +FILES_${PN}-xen-watchdog = "\
> +    ${sbindir}/xenwatchdogd \
> +    "
> +
> +FILES_${PN}-xl = "\
> +    ${sysconfdir}/bash_completion.d/xl.sh \
> +    ${sysconfdir}/xen/xl.conf \
> +    ${libdir}/xen/bin/libxl-save-helper \
> +    ${sbindir}/xl \
> +    "
> +
> +FILES_${PN}-xl-examples = "\
> +    ${sysconfdir}/xen/xlexample.hvm \
> +    ${sysconfdir}/xen/xlexample.pvlinux \
> +    "
> +
> +FILES_${PN}-xm-examples = "\
> +    ${sysconfdir}/xen/xmexample1 \
> +    ${sysconfdir}/xen/xmexample2 \
> +    ${sysconfdir}/xen/xmexample3 \
> +    ${sysconfdir}/xen/xmexample.hvm \
> +    ${sysconfdir}/xen/xmexample.hvm-stubdom \
> +    ${sysconfdir}/xen/xmexample.nbd \
> +    ${sysconfdir}/xen/xmexample.pv-grub \
> +    ${sysconfdir}/xen/xmexample.vti \
> +    "
> +
> +FILES_${PN}-xenmon = "\
> +    ${sbindir}/xenbaked \
> +    ${sbindir}/xentrace_setmask \
> +    ${sbindir}/xenmon.py \
> +    "
> +
> +FILES_${PN}-xm = "\
> +    ${sysconfdir}/xen/xm-config.xml \
> +    ${datadir}/xen/create.dtd \
> +    ${sbindir}/xm \
> +    "
> +
> +FILES_${PN}-xencommons += "${sysconfdir}/init.d/xencommons"
> +FILES_${PN}-xend += "${sysconfdir}/init.d/xend"
> +FILES_${PN}-xendomains += "${sysconfdir}/init.d/xendomains"
> +FILES_${PN}-xen-watchdog += "${sysconfdir}/init.d/xen-watchdog"
> +
> +# configure init.d scripts
> +INITSCRIPT_PACKAGES = "${PN}-xend ${PN}-xencommons ${PN}-xen-watchdog ${PN}-xendomains"
> +INITSCRIPT_NAME_${PN}-xencommons = "xencommons"
> +INITSCRIPT_PARAMS_${PN}-xencommons = "defaults 80"
> +INITSCRIPT_NAME_${PN}-xen-watchdog = "xen-watchdog"
> +INITSCRIPT_PARAMS_${PN}-xen-watchdog = "defaults 81"
> +INITSCRIPT_NAME_${PN}-xend = "xend"
> +INITSCRIPT_PARAMS_${PN}-xend = "defaults 82"
> +INITSCRIPT_NAME_${PN}-xendomains = "xendomains"
> +INITSCRIPT_PARAMS_${PN}-xendomains = "defaults 83"
> +
> +#### REQUIRED ENVIRONMENT VARIABLES ####
> +export BUILD_SYS
> +export HOST_SYS
> +export STAGING_INCDIR
> +export STAGING_LIBDIR
> +
> +# specify xen hypervisor to target x86_64 (x86_32 not supported)
> +export XEN_TARGET_ARCH="x86_64"
> +export XEN_COMPILE_ARCH="x86_64"
> +
> +# this is used for the header (#!${bindir}/python) of the install python scripts
> +export PYTHONPATH="${bindir}/python"
> +
> +# seabios forcefully sets HOSTCC to CC - fixup to allow it to build native conf executable
> +export HOSTCC="${BUILD_CC}"
> +
> +# make xen requires CROSS_COMPILE set by hand as it does not abide by ./configure
> +export CROSS_COMPILE="${TARGET_PREFIX}"
> +
> +# overide LDFLAGS to allow xen to build without: "x86_64-oe-linux-ld: unrecognized option '-Wl,-O1'"
> +export LDFLAGS=""
> +
> +do_configure() {
> +    # fixup qemu-xen-traditional pciutils check hardcoded to test ${includedir}/pci
> +    sed -i 's/\/usr\/include\/pci/$(STAGING_INCDIR)\/pci/g' ${S}/tools/qemu-xen-traditional/xen-hooks.mak
> +
> +    # fixup for qemu to cross compile
> +    sed -i 's/configure --d/configure --cross-prefix=${TARGET_PREFIX} --d/g' ${S}/tools/qemu-xen-traditional/xen-setup
> +
> +    # no stubs-32.h in our 64-bit sysroot - hack it into tools/include/gnu
> +    test -d ${S}/tools/include/gnu || mkdir ${S}/tools/include/gnu
> +    if ! test -f ${STAGING_DIR_TARGET}/usr/include/gnu/stubs-32.h ; then
> +        cat ${STAGING_DIR_TARGET}/usr/include/gnu/stubs-64.h | grep -v stub_bdflush | grep -v stub_getmsg | grep -v stub_putmsg > ${S}/tools/include/gnu/stubs-32.h
> +        echo \#define __stub___kernel_cosl >> ${S}/tools/include/gnu/stubs-32.h
> +        echo \#define __stub___kernel_sinl >> ${S}/tools/include/gnu/stubs-32.h
> +        echo \#define __stub___kernel_tanl >> ${S}/tools/include/gnu/stubs-32.h
> +    fi
> +
> +    # do configure
> +    ./configure --exec-prefix=/usr --prefix=/usr --host=${HOST_SYS} --disable-stubdom --disable-ioemu-stubdom --disable-pv-grub --disable-xenstore-stubdom
> +
> +    # seabios needs a patch to specify correct compiler - pull and patch Makefile
> +    make -C ${S}/tools/firmware seabios-dir
> +    sed -i 's/export HOSTCC.*$(CC)/export HOSTCC ?= $(CC)/g' ${S}/tools/firmware/seabios-dir/Makefile
> +}
> +
> +do_compile() {
> +    oe_runmake
> +}
> +
> +do_install() {
> +    oe_runmake DESTDIR="${D}" install
> +
> +    # remove installed volatiles
> +    rm -rf ${D}${localstatedir}/run ${D}${localstatedir}/lock ${D}${localstatedir}/log ${D}${localstatedir}/volatile
> +
> +    # install volatiles using populate_volatiles mechanism
> +    install -d ${D}${sysconfdir}/default/volatiles
> +    echo "d root root 0755 ${localstatedir}/run/xenstored none" \
> +         > ${D}${sysconfdir}/default/volatiles/99_xen
> +    echo "d root root 0755 ${localstatedir}/run/xend none" \
> +         >> ${D}${sysconfdir}/default/volatiles/99_xen
> +    echo "d root root 0755 ${localstatedir}/run/xend/boot none" \
> +         >> ${D}${sysconfdir}/default/volatiles/99_xen
> +    echo "d root root 0755 ${localstatedir}/run/xen none" \
> +         >> ${D}${sysconfdir}/default/volatiles/99_xen
> +    echo "d root root 0755 ${localstatedir}/log/xen none" \
> +         >> ${D}${sysconfdir}/default/volatiles/99_xen
> +    echo "d root root 0755 ${localstatedir}/lock/xen none" \
> +         >> ${D}${sysconfdir}/default/volatiles/99_xen
> +    echo "d root root 0755 ${localstatedir}/lock/subsys none" \
> +         >> ${D}${sysconfdir}/default/volatiles/99_xen
> +
> +    # workaround for xendomains script which searchs sysconfig if directory exists
> +    install -d ${D}${sysconfdir}/sysconfig
> +    ln -sf ${sysconfdir}/default/xendomains ${D}${sysconfdir}/sysconfig/xendomains
> +}
> +
> +pkg_postinst_${PN}-base() {
> +    if [ -z "$D" ] && [ -e ${sysconfdir}/init.d/populate-volatile.sh ] ; then
> +        ${sysconfdir}/init.d/populate-volatile.sh update
> +    fi
> +}
> +
> +sysroot_stage_all_append() {
> +    sysroot_stage_dir ${D}/boot ${SYSROOT_DESTDIR}/kernel
> +
> +    install -d ${DEPLOY_DIR_IMAGE}
> +    install -m 0644 ${D}/boot/xen.gz ${DEPLOY_DIR_IMAGE}/xen-${MACHINE}.gz
> +}
> 



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH v2 3/4] xen: add 4.3.0 recipe.
  2013-09-11  1:02 ` [PATCH v2 3/4] xen: add 4.3.0 recipe Chris Patterson
  2013-09-12 17:28   ` Bruce Ashfield
  2013-09-14 22:27   ` Philip Tricca
@ 2013-09-20 18:10   ` Philip Tricca
  2013-09-20 20:40     ` Bruce Ashfield
  2 siblings, 1 reply; 10+ messages in thread
From: Philip Tricca @ 2013-09-20 18:10 UTC (permalink / raw)
  To: meta-virtualization

+1 on this. Boot tested this the other day nesting on Xen stable-4.3. We could use a Xen PVHVM guest image for testing guest images :)

- Philip

On 09/10/2013 09:02 PM, Chris Patterson wrote:
> Signed-off-by: Chris Patterson <cjp256@gmail.com>
> ---
>  recipes-extended/xen/xen_4.3.0.bb | 626 ++++++++++++++++++++++++++++++++++++++
>  1 file changed, 626 insertions(+)
>  create mode 100644 recipes-extended/xen/xen_4.3.0.bb
> 
> diff --git a/recipes-extended/xen/xen_4.3.0.bb b/recipes-extended/xen/xen_4.3.0.bb
> new file mode 100644
> index 0000000..00394b9
> --- /dev/null
> +++ b/recipes-extended/xen/xen_4.3.0.bb
> @@ -0,0 +1,626 @@
> +DESCRIPTION = "Xen hypervisor"
> +HOMEPAGE = "http://xen.org"
> +LICENSE = "GPLv2"
> +SECTION = "console/tools"
> +PR = "r0"
> +
> +LIC_FILES_CHKSUM = "file://COPYING;md5=e0f0f3ac55608719a82394cc353928df"
> +
> +SRC_URI = "http://bits.xensource.com/oss-xen/release/${PV}/xen-${PV}.tar.gz"
> +
> +SRC_URI[md5sum] = "7b18cfb58f1ac2ce39cf35a1867f0c0a"
> +SRC_URI[sha256sum] = "e1e9faabe4886e2227aacdbde74410653b233d66642ca1972a860cbec6439961"
> +
> +S = "${WORKDIR}/xen-${PV}"
> +
> +COMPATIBLE_HOST = '(x86_64.*).*-linux'
> +
> +inherit autotools gettext setuptools update-rc.d
> +
> +DEPENDS = "util-linux util-linux-native file-native zlib ncurses openssl bison-native flex-native gettext dev86-native iasl-native pciutils virtual/libgl virtual/libsdl bridge-utils iproute2 procps yajl pixman python python-setuptools-native xz xz-native"
> +
> +# inherit setuptools adds python to RDEPENDS, override it
> +RDEPENDS_${PN} = ""
> +
> +RDEPENDS_${PN}-base = "\
> +    libgcc udev bash perl xz \
> +    ${PN}-blktap \
> +    ${PN}-console \
> +    ${PN}-libblktapctl \
> +    ${PN}-libxenguest \
> +    ${PN}-libxenlight \
> +    ${PN}-libxenvchan \
> +    ${PN}-libxenctrl \
> +    ${PN}-libxlutil \
> +    ${PN}-libvhd \
> +    ${PN}-libxenstat \
> +    ${PN}-libxenstore \
> +    ${PN}-libblktap \
> +    ${PN}-libfsimage \
> +    ${PN}-flask \
> +    ${PN}-fsimage \
> +    ${PN}-hvmloader \
> +    ${PN}-scripts-block \
> +    ${PN}-scripts-network \
> +    ${PN}-udev \
> +    ${PN}-xenpaging \
> +    ${PN}-xen-watchdog \
> +    ${PN}-xencommons \
> +    ${PN}-xendomains \
> +    ${PN}-xenstore \
> +    ${PN}-xenstored \
> +    ${PN}-xl \
> +    "
> +
> +RDEPENDS_${PN}-scripts-block = "\
> +    ${PN}-scripts-common \
> +    ${PN}-udev \
> +    "
> +
> +RDEPENDS_${PN}-scripts-network = "\
> +    bridge-utils \
> +    ${PN}-scripts-common \
> +    ${PN}-udev \
> +    "
> +
> +PACKAGES = "\
> +    ${PN}-base \
> +    ${PN}-blktap \
> +    ${PN}-console \
> +    ${PN}-dbg \
> +    ${PN}-dev \
> +    ${PN}-doc \
> +    ${PN}-flask \
> +    ${PN}-fsimage \
> +    ${PN}-gdbsx \
> +    ${PN}-hvmloader \
> +    ${PN}-hypervisor \
> +    ${PN}-kdd \
> +    ${PN}-libblktap \
> +    ${PN}-libblktapctl \
> +    ${PN}-libblktapctl-dev \
> +    ${PN}-libblktap-dev \
> +    ${PN}-libfsimage \
> +    ${PN}-libfsimage-dev \
> +    ${PN}-libvhd \
> +    ${PN}-libvhd-dev \
> +    ${PN}-libxenctrl \
> +    ${PN}-libxenctrl-dev \
> +    ${PN}-libxenguest \
> +    ${PN}-libxenguest-dev \
> +    ${PN}-libxenlight \
> +    ${PN}-libxenlight-dev \
> +    ${PN}-libxenstat \
> +    ${PN}-libxenstat-dev \
> +    ${PN}-libxenstore \
> +    ${PN}-libxenstore-dev \
> +    ${PN}-libxenvchan \
> +    ${PN}-libxenvchan-dev \
> +    ${PN}-libxlutil \
> +    ${PN}-libxlutil-dev \
> +    ${PN}-misc \
> +    ${PN}-pygrub \
> +    ${PN}-python \
> +    ${PN}-qemu \
> +    ${PN}-remus \
> +    ${PN}-scripts-block \
> +    ${PN}-scripts-common \
> +    ${PN}-scripts-network \
> +    ${PN}-staticdev \
> +    ${PN}-udev \
> +    ${PN}-xcutils \
> +    ${PN}-xencommons \
> +    ${PN}-xend \
> +    ${PN}-xend-examples \
> +    ${PN}-xendomains \
> +    ${PN}-xenmon \
> +    ${PN}-xenpaging \
> +    ${PN}-xenpmd \
> +    ${PN}-xenstat \
> +    ${PN}-xenstore \
> +    ${PN}-xenstored \
> +    ${PN}-xentrace \
> +    ${PN}-xen-watchdog \
> +    ${PN}-xl \
> +    ${PN}-xl-examples \
> +    ${PN}-xm \
> +    ${PN}-xm-examples \
> +    "
> +
> +FILES_${PN}-dbg += "\
> +    ${libdir}/.debug \
> +    ${libdir}/xen/bin/.debug \
> +    ${libdir}/python2.7/site-packages/.debug \
> +    ${libdir}/python2.7/site-packages/xen/lowlevel/.debug \
> +    ${libdir}/fs/xfs/.debug \
> +    ${libdir}/fs/ufs/.debug \
> +    ${libdir}/fs/ext2fs-lib/.debug \
> +    ${libdir}/fs/fat/.debug \
> +    ${libdir}/fs/zfs/.debug \
> +    ${libdir}/fs/reiserfs/.debug \
> +    ${libdir}/fs/iso9660/.debug \
> +    ${sbindir}/.debug \
> +    ${libdir}exec/.debug \
> +    ${bindir}/.debug \
> +    ${libdir}/python2.7/dist-packages/.debug \
> +    ${libdir}/python2.7/dist-packages/xen/lowlevel/.debug \
> +    "
> +
> +FILES_${PN}-dev = "\
> +    ${includedir} \
> +    "
> +
> +FILES_${PN}-doc = "\
> +    ${sysconfdir}/xen/README \
> +    ${sysconfdir}/xen/README.incompatibilities \
> +    ${datadir}/doc \
> +    ${datadir}/man \
> +    "
> +
> +FILES_${PN}-staticdev += "\
> +    ${libdir}/libblktapctl.a \
> +    ${libdir}/libxenguest.a \
> +    ${libdir}/libxenlight.a \
> +    ${libdir}/libxenvchan.a \
> +    ${libdir}/libxenctrl.a \
> +    ${libdir}/libxlutil.a \
> +    ${libdir}/libvhd.a \
> +    ${libdir}/libxenstat.a \
> +    ${libdir}/libxenstore.a \
> +    ${libdir}/libblktap.a \
> +    "
> +
> +FILES_${PN}-libblktapctl = "${libdir}/libblktapctl.so.*"
> +FILES_${PN}-libblktapctl-dev = "${libdir}/libblktapctl.so"
> +
> +FILES_${PN}-libxenguest = "${libdir}/libxenguest.so.*"
> +FILES_${PN}-libxenguest-dev = "${libdir}/libxenguest.so"
> +
> +FILES_${PN}-libxenlight = "${libdir}/libxenlight.so.*"
> +FILES_${PN}-libxenlight-dev = "${libdir}/libxenlight.so"
> +
> +FILES_${PN}-libxenvchan = "${libdir}/libxenvchan.so.*"
> +FILES_${PN}-libxenvchan-dev = "${libdir}/libxenvchan.so"
> +
> +FILES_${PN}-libxenctrl = "${libdir}/libxenctrl.so.*"
> +FILES_${PN}-libxenctrl-dev = "${libdir}/libxenctrl.so"
> +
> +FILES_${PN}-libxlutil = "${libdir}/libxlutil.so.*"
> +FILES_${PN}-libxlutil-dev = "${libdir}/libxlutil.so"
> +
> +FILES_${PN}-libvhd = "${libdir}/libvhd.so.*"
> +FILES_${PN}-libvhd-dev = "${libdir}/libvhd.so"
> +
> +FILES_${PN}-libxenstat = "${libdir}/libxenstat.so.*"
> +FILES_${PN}-libxenstat-dev = "${libdir}/libxenstat.so"
> +
> +FILES_${PN}-libxenstore = "${libdir}/libxenstore.so.*"
> +FILES_${PN}-libxenstore-dev = "${libdir}/libxenstore.so"
> +
> +FILES_${PN}-libblktap = "${libdir}/libblktap.so.*"
> +FILES_${PN}-libblktap-dev = "${libdir}/libblktap.so"
> +
> +FILES_${PN}-libfsimage = "${libdir}/libfsimage.so.*"
> +FILES_${PN}-libfsimage-dev = "${libdir}/libfsimage.so"
> +
> +FILES_${PN}-fsimage = "${libdir}/fs/*/*fsimage.so"
> +
> +FILES_${PN}-hypervisor = "\
> +    /boot/xen-4.3.0.gz \
> +    /boot/xen-4.3.gz \
> +    /boot/xen-4.gz \
> +    /boot/xen.gz \
> +    /boot/xen-syms-4.3.0 \
> +    "
> +
> +FILES_${PN}-base = "\
> +    ${sysconfdir}/default/volatiles/99_xen \
> +    ${sysconfdir}/default/xencommons \
> +    ${sysconfdir}/default/xendomains \
> +    ${sysconfdir}/xen/auto \
> +    ${sysconfdir}/xen/cpupool \
> +    ${sysconfdir}/sysconfig/xendomains \
> +    ${localstatedir}/xen/dump \
> +    "
> +
> +FILES_${PN}-blktap = "\
> +    ${sbindir}/blktapctrl \
> +    ${sbindir}/img2qcow \
> +    ${sbindir}/lock-util \
> +    ${sbindir}/qcow2raw \
> +    ${sbindir}/qcow-create \
> +    ${sbindir}/tap-ctl \
> +    ${sbindir}/tapdisk \
> +    ${sbindir}/tapdisk2 \
> +    ${sbindir}/tapdisk-client \
> +    ${sbindir}/tapdisk-diff \
> +    ${sbindir}/tapdisk-stream \
> +    ${sbindir}/td-util \
> +    ${sbindir}/vhd-update \
> +    ${sbindir}/vhd-util \
> +    "
> +
> +FILES_${PN}-console = "\
> +    ${libdir}/xen/bin/xenconsole \
> +    ${sbindir}/xenconsoled \
> +    "
> +
> +FILES_${PN}-flask = "\
> +    ${sbindir}/flask-get-bool \
> +    ${sbindir}/flask-getenforce \
> +    ${sbindir}/flask-label-pci \
> +    ${sbindir}/flask-loadpolicy \
> +    ${sbindir}/flask-set-bool \
> +    ${sbindir}/flask-setenforce \
> +    "
> +
> +FILES_${PN}-gdbsx = "\
> +    ${sbindir}/gdbsx \
> +    "
> +
> +INSANE_SKIP_${PN}-hvmloader = "arch"
> +FILES_${PN}-hvmloader = "\
> +    ${libdir}/xen/boot/hvmloader \
> +    "
> +
> +FILES_${PN}-kdd = "\
> +    ${sbindir}/kdd \
> +    "
> +
> +FILES_${PN}-misc = "\
> +    ${bindir}/xencons \
> +    ${bindir}/xencov_split \
> +    ${bindir}/xen-detect \
> +    ${libdir}/xen/bin/xenpvnetboot \
> +    ${sbindir}/gtracestat \
> +    ${sbindir}/gtraceview \
> +    ${sbindir}/xen-bugtool \
> +    ${sbindir}/xencov \
> +    ${sbindir}/xend \
> +    ${sbindir}/xenperf \
> +    ${sbindir}/xenpm \
> +    ${sbindir}/xsview \
> +    ${sbindir}/xen-tmem-list-parse \
> +    ${sbindir}/xen-python-path \
> +    ${sbindir}/xen-ringwatch \
> +    ${sbindir}/xen-hptool \
> +    ${sbindir}/xen-hvmcrash \
> +    ${sbindir}/xen-hvmctx \
> +    ${sbindir}/xenlockprof \
> +    ${sbindir}/xen-lowmemd \
> +    "
> +
> +FILES_${PN}-pygrub = "\
> +    ${bindir}/pygrub \
> +    ${libdir}/xen/bin/pygrub \
> +    "
> +
> +FILES_${PN}-python = "\
> +    ${libdir}/python2.7 \
> +    "
> +
> +INSANE_SKIP_${PN}-qemu = "arch"
> +FILES_${PN}-qemu = " \
> +    ${datadir}/xen/qemu \
> +    ${libdir}/xen/bin/qemu-system-i386 \
> +    ${libdir}/xen/bin/qemu-system-x86_64 \
> +    ${libdir}/xen/bin/qemu-img \
> +    ${libdir}/xen/bin/qemu-nbd \
> +    ${libdir}/xen/bin/qemu-ga \
> +    ${libdir}/xen/bin/qemu-io \
> +    ${libdir}/xen/bin/qemu-dm \
> +    ${libdir}/xen/bin/virtfs-proxy-helper \
> +    /usr/libexec/qemu-bridge-helper \
> +    /usr/etc/qemu \
> +    /usr/etc/qemu/target-x86_64.conf \
> +    ${datadir}/qemu-xen \
> +    ${datadir}/qemu-xen/qemu \
> +    ${datadir}/qemu-xen/qemu/bamboo.dtb \
> +    ${datadir}/qemu-xen/qemu/pxe-pcnet.rom \
> +    ${datadir}/qemu-xen/qemu/vgabios-vmware.bin \
> +    ${datadir}/qemu-xen/qemu/pxe-eepro100.rom \
> +    ${datadir}/qemu-xen/qemu/pxe-e1000.rom \
> +    ${datadir}/qemu-xen/qemu/openbios-ppc \
> +    ${datadir}/qemu-xen/qemu/multiboot.bin \
> +    ${datadir}/qemu-xen/qemu/vgabios-cirrus.bin \
> +    ${datadir}/qemu-xen/qemu/bios.bin \
> +    ${datadir}/qemu-xen/qemu/vgabios-stdvga.bin \
> +    ${datadir}/qemu-xen/qemu/palcode-clipper \
> +    ${datadir}/qemu-xen/qemu/pxe-ne2k_pci.rom \
> +    ${datadir}/qemu-xen/qemu/spapr-rtas.bin \
> +    ${datadir}/qemu-xen/qemu/slof.bin \
> +    ${datadir}/qemu-xen/qemu/vgabios-qxl.bin \
> +    ${datadir}/qemu-xen/qemu/pxe-rtl8139.rom \
> +    ${datadir}/qemu-xen/qemu/openbios-sparc64 \
> +    ${datadir}/qemu-xen/qemu/pxe-virtio.rom \
> +    ${datadir}/qemu-xen/qemu/kvmvapic.bin \
> +    ${datadir}/qemu-xen/qemu/openbios-sparc32 \
> +    ${datadir}/qemu-xen/qemu/petalogix-s3adsp1800.dtb \
> +    ${datadir}/qemu-xen/qemu/sgabios.bin \
> +    ${datadir}/qemu-xen/qemu/linuxboot.bin \
> +    ${datadir}/qemu-xen/qemu/qemu-icon.bmp \
> +    ${datadir}/qemu-xen/qemu/ppc_rom.bin \
> +    ${datadir}/qemu-xen/qemu/vgabios.bin \
> +    ${datadir}/qemu-xen/qemu/s390-zipl.rom \
> +    ${datadir}/qemu-xen/qemu/petalogix-ml605.dtb \
> +    ${datadir}/qemu-xen/qemu/keymaps \
> +    ${datadir}/qemu-xen/qemu/keymaps/common \
> +    ${datadir}/qemu-xen/qemu/keymaps/th \
> +    ${datadir}/qemu-xen/qemu/keymaps/is \
> +    ${datadir}/qemu-xen/qemu/keymaps/en-gb \
> +    ${datadir}/qemu-xen/qemu/keymaps/ar \
> +    ${datadir}/qemu-xen/qemu/keymaps/fr-be \
> +    ${datadir}/qemu-xen/qemu/keymaps/ru \
> +    ${datadir}/qemu-xen/qemu/keymaps/hu \
> +    ${datadir}/qemu-xen/qemu/keymaps/de-ch \
> +    ${datadir}/qemu-xen/qemu/keymaps/no \
> +    ${datadir}/qemu-xen/qemu/keymaps/fr \
> +    ${datadir}/qemu-xen/qemu/keymaps/pl \
> +    ${datadir}/qemu-xen/qemu/keymaps/fr-ca \
> +    ${datadir}/qemu-xen/qemu/keymaps/de \
> +    ${datadir}/qemu-xen/qemu/keymaps/fr-ch \
> +    ${datadir}/qemu-xen/qemu/keymaps/bepo \
> +    ${datadir}/qemu-xen/qemu/keymaps/lv \
> +    ${datadir}/qemu-xen/qemu/keymaps/ja \
> +    ${datadir}/qemu-xen/qemu/keymaps/da \
> +    ${datadir}/qemu-xen/qemu/keymaps/lt \
> +    ${datadir}/qemu-xen/qemu/keymaps/hr \
> +    ${datadir}/qemu-xen/qemu/keymaps/es \
> +    ${datadir}/qemu-xen/qemu/keymaps/modifiers \
> +    ${datadir}/qemu-xen/qemu/keymaps/sl \
> +    ${datadir}/qemu-xen/qemu/keymaps/it \
> +    ${datadir}/qemu-xen/qemu/keymaps/nl \
> +    ${datadir}/qemu-xen/qemu/keymaps/fo \
> +    ${datadir}/qemu-xen/qemu/keymaps/mk \
> +    ${datadir}/qemu-xen/qemu/keymaps/pt-br \
> +    ${datadir}/qemu-xen/qemu/keymaps/tr \
> +    ${datadir}/qemu-xen/qemu/keymaps/sv \
> +    ${datadir}/qemu-xen/qemu/keymaps/fi \
> +    ${datadir}/qemu-xen/qemu/keymaps/en-us \
> +    ${datadir}/qemu-xen/qemu/keymaps/et \
> +    ${datadir}/qemu-xen/qemu/keymaps/nl-be \
> +    ${datadir}/qemu-xen/qemu/keymaps/pt \
> +    ${bindir}/qemu-nbd-xen \
> +    ${bindir}/qemu-img-xen \
> +    "
> +
> +FILES_${PN}-remus = "\
> +    ${bindir}/remus \
> +    "
> +
> +FILES_${PN}-scripts-network = " \
> +    ${sysconfdir}/xen/scripts/network-bridge \
> +    ${sysconfdir}/xen/scripts/network-nat \
> +    ${sysconfdir}/xen/scripts/network-route \
> +    ${sysconfdir}/xen/scripts/qemu-ifup \
> +    ${sysconfdir}/xen/scripts/vif2 \
> +    ${sysconfdir}/xen/scripts/vif-bridge \
> +    ${sysconfdir}/xen/scripts/vif-common.sh \
> +    ${sysconfdir}/xen/scripts/vif-nat \
> +    ${sysconfdir}/xen/scripts/vif-openvswitch \
> +    ${sysconfdir}/xen/scripts/vif-route \
> +    ${sysconfdir}/xen/scripts/vif-setup \
> +    "
> +
> +FILES_${PN}-scripts-block = " \
> +    ${sysconfdir}/xen/scripts/blktap \
> +    ${sysconfdir}/xen/scripts/block \
> +    ${sysconfdir}/xen/scripts/block-common.sh \
> +    ${sysconfdir}/xen/scripts/block-enbd \
> +    ${sysconfdir}/xen/scripts/block-iscsi \
> +    ${sysconfdir}/xen/scripts/block-nbd \
> +    ${sysconfdir}/xen/scripts/vscsi \
> +    "
> +
> +FILES_${PN}-scripts-common = " \
> +    ${sysconfdir}/xen/scripts/external-device-migrate \
> +    ${sysconfdir}/xen/scripts/hotplugpath.sh \
> +    ${sysconfdir}/xen/scripts/locking.sh \
> +    ${sysconfdir}/xen/scripts/logging.sh \
> +    ${sysconfdir}/xen/scripts/xen-hotplug-cleanup \
> +    ${sysconfdir}/xen/scripts/xen-hotplug-common.sh \
> +    ${sysconfdir}/xen/scripts/xen-network-common.sh \
> +    ${sysconfdir}/xen/scripts/xen-script-common.sh \
> +    "
> +
> +FILES_${PN}-udev = "\
> +    ${sysconfdir}/udev/rules.d/xen-backend.rules \
> +    ${sysconfdir}/udev/rules.d/xend.rules \
> +    "
> +
> +FILES_${PN}-xcutils = "\
> +    ${libdir}/xen/bin/lsevtchn \
> +    ${libdir}/xen/bin/readnotes \
> +    ${libdir}/xen/bin/xc_restore \
> +    ${libdir}/xen/bin/xc_save \
> +    "
> +
> +FILES_${PN}-xend-examples = "\
> +    ${sysconfdir}/xen/xend-config.sxp \
> +    ${sysconfdir}/xen/xend-pci-permissive.sxp \
> +    ${sysconfdir}/xen/xend-pci-quirks.sxp \
> +    "
> +
> +FILES_${PN}-xenpaging = "\
> +    ${libdir}/xen/bin/xenpaging \
> +    ${localstatedir}/lib/xen/xenpaging \
> +    "
> +
> +FILES_${PN}-xenpmd = "\
> +    ${sbindir}/xenpmd \
> +    "
> +
> +FILES_${PN}-xenstat = "\
> +    ${sbindir}/xentop \
> +    "
> +
> +FILES_${PN}-xenstore = "\
> +    ${bindir}/xenstore \
> +    ${bindir}/xenstore-chmod \
> +    ${bindir}/xenstore-control \
> +    ${bindir}/xenstore-exists \
> +    ${bindir}/xenstore-list \
> +    ${bindir}/xenstore-ls \
> +    ${bindir}/xenstore-read \
> +    ${bindir}/xenstore-rm \
> +    ${bindir}/xenstore-watch \
> +    ${bindir}/xenstore-write \
> +    "
> +
> +FILES_${PN}-xenstored = "\
> +    ${sbindir}/xenstored \
> +    ${localstatedir}/lib/xenstored \
> +    "
> +
> +FILES_${PN}-xentrace = "\
> +    ${bindir}/xentrace \
> +    ${bindir}/xentrace_format \
> +    ${bindir}/xentrace_setsize \
> +    ${libdir}/xen/bin/xenctx \
> +    "
> +
> +FILES_${PN}-xen-watchdog = "\
> +    ${sbindir}/xenwatchdogd \
> +    "
> +
> +FILES_${PN}-xl = "\
> +    ${sysconfdir}/bash_completion.d/xl.sh \
> +    ${sysconfdir}/xen/xl.conf \
> +    ${libdir}/xen/bin/libxl-save-helper \
> +    ${sbindir}/xl \
> +    "
> +
> +FILES_${PN}-xl-examples = "\
> +    ${sysconfdir}/xen/xlexample.hvm \
> +    ${sysconfdir}/xen/xlexample.pvlinux \
> +    "
> +
> +FILES_${PN}-xm-examples = "\
> +    ${sysconfdir}/xen/xmexample1 \
> +    ${sysconfdir}/xen/xmexample2 \
> +    ${sysconfdir}/xen/xmexample3 \
> +    ${sysconfdir}/xen/xmexample.hvm \
> +    ${sysconfdir}/xen/xmexample.hvm-stubdom \
> +    ${sysconfdir}/xen/xmexample.nbd \
> +    ${sysconfdir}/xen/xmexample.pv-grub \
> +    ${sysconfdir}/xen/xmexample.vti \
> +    "
> +
> +FILES_${PN}-xenmon = "\
> +    ${sbindir}/xenbaked \
> +    ${sbindir}/xentrace_setmask \
> +    ${sbindir}/xenmon.py \
> +    "
> +
> +FILES_${PN}-xm = "\
> +    ${sysconfdir}/xen/xm-config.xml \
> +    ${datadir}/xen/create.dtd \
> +    ${sbindir}/xm \
> +    "
> +
> +FILES_${PN}-xencommons += "${sysconfdir}/init.d/xencommons"
> +FILES_${PN}-xend += "${sysconfdir}/init.d/xend"
> +FILES_${PN}-xendomains += "${sysconfdir}/init.d/xendomains"
> +FILES_${PN}-xen-watchdog += "${sysconfdir}/init.d/xen-watchdog"
> +
> +# configure init.d scripts
> +INITSCRIPT_PACKAGES = "${PN}-xend ${PN}-xencommons ${PN}-xen-watchdog ${PN}-xendomains"
> +INITSCRIPT_NAME_${PN}-xencommons = "xencommons"
> +INITSCRIPT_PARAMS_${PN}-xencommons = "defaults 80"
> +INITSCRIPT_NAME_${PN}-xen-watchdog = "xen-watchdog"
> +INITSCRIPT_PARAMS_${PN}-xen-watchdog = "defaults 81"
> +INITSCRIPT_NAME_${PN}-xend = "xend"
> +INITSCRIPT_PARAMS_${PN}-xend = "defaults 82"
> +INITSCRIPT_NAME_${PN}-xendomains = "xendomains"
> +INITSCRIPT_PARAMS_${PN}-xendomains = "defaults 83"
> +
> +#### REQUIRED ENVIRONMENT VARIABLES ####
> +export BUILD_SYS
> +export HOST_SYS
> +export STAGING_INCDIR
> +export STAGING_LIBDIR
> +
> +# specify xen hypervisor to target x86_64 (x86_32 not supported)
> +export XEN_TARGET_ARCH="x86_64"
> +export XEN_COMPILE_ARCH="x86_64"
> +
> +# this is used for the header (#!${bindir}/python) of the install python scripts
> +export PYTHONPATH="${bindir}/python"
> +
> +# seabios forcefully sets HOSTCC to CC - fixup to allow it to build native conf executable
> +export HOSTCC="${BUILD_CC}"
> +
> +# make xen requires CROSS_COMPILE set by hand as it does not abide by ./configure
> +export CROSS_COMPILE="${TARGET_PREFIX}"
> +
> +# overide LDFLAGS to allow xen to build without: "x86_64-oe-linux-ld: unrecognized option '-Wl,-O1'"
> +export LDFLAGS=""
> +
> +do_configure() {
> +    # fixup qemu-xen-traditional pciutils check hardcoded to test ${includedir}/pci
> +    sed -i 's/\/usr\/include\/pci/$(STAGING_INCDIR)\/pci/g' ${S}/tools/qemu-xen-traditional/xen-hooks.mak
> +
> +    # fixup for qemu to cross compile
> +    sed -i 's/configure --d/configure --cross-prefix=${TARGET_PREFIX} --d/g' ${S}/tools/qemu-xen-traditional/xen-setup
> +
> +    # no stubs-32.h in our 64-bit sysroot - hack it into tools/include/gnu
> +    test -d ${S}/tools/include/gnu || mkdir ${S}/tools/include/gnu
> +    if ! test -f ${STAGING_DIR_TARGET}/usr/include/gnu/stubs-32.h ; then
> +        cat ${STAGING_DIR_TARGET}/usr/include/gnu/stubs-64.h | grep -v stub_bdflush | grep -v stub_getmsg | grep -v stub_putmsg > ${S}/tools/include/gnu/stubs-32.h
> +        echo \#define __stub___kernel_cosl >> ${S}/tools/include/gnu/stubs-32.h
> +        echo \#define __stub___kernel_sinl >> ${S}/tools/include/gnu/stubs-32.h
> +        echo \#define __stub___kernel_tanl >> ${S}/tools/include/gnu/stubs-32.h
> +    fi
> +
> +    # do configure
> +    ./configure --exec-prefix=/usr --prefix=/usr --host=${HOST_SYS} --disable-stubdom --disable-ioemu-stubdom --disable-pv-grub --disable-xenstore-stubdom
> +
> +    # seabios needs a patch to specify correct compiler - pull and patch Makefile
> +    make -C ${S}/tools/firmware seabios-dir
> +    sed -i 's/export HOSTCC.*$(CC)/export HOSTCC ?= $(CC)/g' ${S}/tools/firmware/seabios-dir/Makefile
> +}
> +
> +do_compile() {
> +    oe_runmake
> +}
> +
> +do_install() {
> +    oe_runmake DESTDIR="${D}" install
> +
> +    # remove installed volatiles
> +    rm -rf ${D}${localstatedir}/run ${D}${localstatedir}/lock ${D}${localstatedir}/log ${D}${localstatedir}/volatile
> +
> +    # install volatiles using populate_volatiles mechanism
> +    install -d ${D}${sysconfdir}/default/volatiles
> +    echo "d root root 0755 ${localstatedir}/run/xenstored none" \
> +         > ${D}${sysconfdir}/default/volatiles/99_xen
> +    echo "d root root 0755 ${localstatedir}/run/xend none" \
> +         >> ${D}${sysconfdir}/default/volatiles/99_xen
> +    echo "d root root 0755 ${localstatedir}/run/xend/boot none" \
> +         >> ${D}${sysconfdir}/default/volatiles/99_xen
> +    echo "d root root 0755 ${localstatedir}/run/xen none" \
> +         >> ${D}${sysconfdir}/default/volatiles/99_xen
> +    echo "d root root 0755 ${localstatedir}/log/xen none" \
> +         >> ${D}${sysconfdir}/default/volatiles/99_xen
> +    echo "d root root 0755 ${localstatedir}/lock/xen none" \
> +         >> ${D}${sysconfdir}/default/volatiles/99_xen
> +    echo "d root root 0755 ${localstatedir}/lock/subsys none" \
> +         >> ${D}${sysconfdir}/default/volatiles/99_xen
> +
> +    # workaround for xendomains script which searchs sysconfig if directory exists
> +    install -d ${D}${sysconfdir}/sysconfig
> +    ln -sf ${sysconfdir}/default/xendomains ${D}${sysconfdir}/sysconfig/xendomains
> +}
> +
> +pkg_postinst_${PN}-base() {
> +    if [ -z "$D" ] && [ -e ${sysconfdir}/init.d/populate-volatile.sh ] ; then
> +        ${sysconfdir}/init.d/populate-volatile.sh update
> +    fi
> +}
> +
> +sysroot_stage_all_append() {
> +    sysroot_stage_dir ${D}/boot ${SYSROOT_DESTDIR}/kernel
> +
> +    install -d ${DEPLOY_DIR_IMAGE}
> +    install -m 0644 ${D}/boot/xen.gz ${DEPLOY_DIR_IMAGE}/xen-${MACHINE}.gz
> +}
> 



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH v2 3/4] xen: add 4.3.0 recipe.
  2013-09-20 18:10   ` Philip Tricca
@ 2013-09-20 20:40     ` Bruce Ashfield
  0 siblings, 0 replies; 10+ messages in thread
From: Bruce Ashfield @ 2013-09-20 20:40 UTC (permalink / raw)
  To: Philip Tricca; +Cc: meta-virtualization

On Fri, Sep 20, 2013 at 2:10 PM, Philip Tricca <flihp@twobit.us> wrote:
> +1 on this. Boot tested this the other day nesting on Xen stable-4.3. We could use a Xen PVHVM guest image for testing guest images :)

Agreed. Looks sane here a well. I let this stew long enough and will
merge it over the weekend.

If there are any more changes, folks should feel free to toss them to the
list as well.

Bruce

>
> - Philip
>
> On 09/10/2013 09:02 PM, Chris Patterson wrote:
>> Signed-off-by: Chris Patterson <cjp256@gmail.com>
>> ---
>>  recipes-extended/xen/xen_4.3.0.bb | 626 ++++++++++++++++++++++++++++++++++++++
>>  1 file changed, 626 insertions(+)
>>  create mode 100644 recipes-extended/xen/xen_4.3.0.bb
>>
>> diff --git a/recipes-extended/xen/xen_4.3.0.bb b/recipes-extended/xen/xen_4.3.0.bb
>> new file mode 100644
>> index 0000000..00394b9
>> --- /dev/null
>> +++ b/recipes-extended/xen/xen_4.3.0.bb
>> @@ -0,0 +1,626 @@
>> +DESCRIPTION = "Xen hypervisor"
>> +HOMEPAGE = "http://xen.org"
>> +LICENSE = "GPLv2"
>> +SECTION = "console/tools"
>> +PR = "r0"
>> +
>> +LIC_FILES_CHKSUM = "file://COPYING;md5=e0f0f3ac55608719a82394cc353928df"
>> +
>> +SRC_URI = "http://bits.xensource.com/oss-xen/release/${PV}/xen-${PV}.tar.gz"
>> +
>> +SRC_URI[md5sum] = "7b18cfb58f1ac2ce39cf35a1867f0c0a"
>> +SRC_URI[sha256sum] = "e1e9faabe4886e2227aacdbde74410653b233d66642ca1972a860cbec6439961"
>> +
>> +S = "${WORKDIR}/xen-${PV}"
>> +
>> +COMPATIBLE_HOST = '(x86_64.*).*-linux'
>> +
>> +inherit autotools gettext setuptools update-rc.d
>> +
>> +DEPENDS = "util-linux util-linux-native file-native zlib ncurses openssl bison-native flex-native gettext dev86-native iasl-native pciutils virtual/libgl virtual/libsdl bridge-utils iproute2 procps yajl pixman python python-setuptools-native xz xz-native"
>> +
>> +# inherit setuptools adds python to RDEPENDS, override it
>> +RDEPENDS_${PN} = ""
>> +
>> +RDEPENDS_${PN}-base = "\
>> +    libgcc udev bash perl xz \
>> +    ${PN}-blktap \
>> +    ${PN}-console \
>> +    ${PN}-libblktapctl \
>> +    ${PN}-libxenguest \
>> +    ${PN}-libxenlight \
>> +    ${PN}-libxenvchan \
>> +    ${PN}-libxenctrl \
>> +    ${PN}-libxlutil \
>> +    ${PN}-libvhd \
>> +    ${PN}-libxenstat \
>> +    ${PN}-libxenstore \
>> +    ${PN}-libblktap \
>> +    ${PN}-libfsimage \
>> +    ${PN}-flask \
>> +    ${PN}-fsimage \
>> +    ${PN}-hvmloader \
>> +    ${PN}-scripts-block \
>> +    ${PN}-scripts-network \
>> +    ${PN}-udev \
>> +    ${PN}-xenpaging \
>> +    ${PN}-xen-watchdog \
>> +    ${PN}-xencommons \
>> +    ${PN}-xendomains \
>> +    ${PN}-xenstore \
>> +    ${PN}-xenstored \
>> +    ${PN}-xl \
>> +    "
>> +
>> +RDEPENDS_${PN}-scripts-block = "\
>> +    ${PN}-scripts-common \
>> +    ${PN}-udev \
>> +    "
>> +
>> +RDEPENDS_${PN}-scripts-network = "\
>> +    bridge-utils \
>> +    ${PN}-scripts-common \
>> +    ${PN}-udev \
>> +    "
>> +
>> +PACKAGES = "\
>> +    ${PN}-base \
>> +    ${PN}-blktap \
>> +    ${PN}-console \
>> +    ${PN}-dbg \
>> +    ${PN}-dev \
>> +    ${PN}-doc \
>> +    ${PN}-flask \
>> +    ${PN}-fsimage \
>> +    ${PN}-gdbsx \
>> +    ${PN}-hvmloader \
>> +    ${PN}-hypervisor \
>> +    ${PN}-kdd \
>> +    ${PN}-libblktap \
>> +    ${PN}-libblktapctl \
>> +    ${PN}-libblktapctl-dev \
>> +    ${PN}-libblktap-dev \
>> +    ${PN}-libfsimage \
>> +    ${PN}-libfsimage-dev \
>> +    ${PN}-libvhd \
>> +    ${PN}-libvhd-dev \
>> +    ${PN}-libxenctrl \
>> +    ${PN}-libxenctrl-dev \
>> +    ${PN}-libxenguest \
>> +    ${PN}-libxenguest-dev \
>> +    ${PN}-libxenlight \
>> +    ${PN}-libxenlight-dev \
>> +    ${PN}-libxenstat \
>> +    ${PN}-libxenstat-dev \
>> +    ${PN}-libxenstore \
>> +    ${PN}-libxenstore-dev \
>> +    ${PN}-libxenvchan \
>> +    ${PN}-libxenvchan-dev \
>> +    ${PN}-libxlutil \
>> +    ${PN}-libxlutil-dev \
>> +    ${PN}-misc \
>> +    ${PN}-pygrub \
>> +    ${PN}-python \
>> +    ${PN}-qemu \
>> +    ${PN}-remus \
>> +    ${PN}-scripts-block \
>> +    ${PN}-scripts-common \
>> +    ${PN}-scripts-network \
>> +    ${PN}-staticdev \
>> +    ${PN}-udev \
>> +    ${PN}-xcutils \
>> +    ${PN}-xencommons \
>> +    ${PN}-xend \
>> +    ${PN}-xend-examples \
>> +    ${PN}-xendomains \
>> +    ${PN}-xenmon \
>> +    ${PN}-xenpaging \
>> +    ${PN}-xenpmd \
>> +    ${PN}-xenstat \
>> +    ${PN}-xenstore \
>> +    ${PN}-xenstored \
>> +    ${PN}-xentrace \
>> +    ${PN}-xen-watchdog \
>> +    ${PN}-xl \
>> +    ${PN}-xl-examples \
>> +    ${PN}-xm \
>> +    ${PN}-xm-examples \
>> +    "
>> +
>> +FILES_${PN}-dbg += "\
>> +    ${libdir}/.debug \
>> +    ${libdir}/xen/bin/.debug \
>> +    ${libdir}/python2.7/site-packages/.debug \
>> +    ${libdir}/python2.7/site-packages/xen/lowlevel/.debug \
>> +    ${libdir}/fs/xfs/.debug \
>> +    ${libdir}/fs/ufs/.debug \
>> +    ${libdir}/fs/ext2fs-lib/.debug \
>> +    ${libdir}/fs/fat/.debug \
>> +    ${libdir}/fs/zfs/.debug \
>> +    ${libdir}/fs/reiserfs/.debug \
>> +    ${libdir}/fs/iso9660/.debug \
>> +    ${sbindir}/.debug \
>> +    ${libdir}exec/.debug \
>> +    ${bindir}/.debug \
>> +    ${libdir}/python2.7/dist-packages/.debug \
>> +    ${libdir}/python2.7/dist-packages/xen/lowlevel/.debug \
>> +    "
>> +
>> +FILES_${PN}-dev = "\
>> +    ${includedir} \
>> +    "
>> +
>> +FILES_${PN}-doc = "\
>> +    ${sysconfdir}/xen/README \
>> +    ${sysconfdir}/xen/README.incompatibilities \
>> +    ${datadir}/doc \
>> +    ${datadir}/man \
>> +    "
>> +
>> +FILES_${PN}-staticdev += "\
>> +    ${libdir}/libblktapctl.a \
>> +    ${libdir}/libxenguest.a \
>> +    ${libdir}/libxenlight.a \
>> +    ${libdir}/libxenvchan.a \
>> +    ${libdir}/libxenctrl.a \
>> +    ${libdir}/libxlutil.a \
>> +    ${libdir}/libvhd.a \
>> +    ${libdir}/libxenstat.a \
>> +    ${libdir}/libxenstore.a \
>> +    ${libdir}/libblktap.a \
>> +    "
>> +
>> +FILES_${PN}-libblktapctl = "${libdir}/libblktapctl.so.*"
>> +FILES_${PN}-libblktapctl-dev = "${libdir}/libblktapctl.so"
>> +
>> +FILES_${PN}-libxenguest = "${libdir}/libxenguest.so.*"
>> +FILES_${PN}-libxenguest-dev = "${libdir}/libxenguest.so"
>> +
>> +FILES_${PN}-libxenlight = "${libdir}/libxenlight.so.*"
>> +FILES_${PN}-libxenlight-dev = "${libdir}/libxenlight.so"
>> +
>> +FILES_${PN}-libxenvchan = "${libdir}/libxenvchan.so.*"
>> +FILES_${PN}-libxenvchan-dev = "${libdir}/libxenvchan.so"
>> +
>> +FILES_${PN}-libxenctrl = "${libdir}/libxenctrl.so.*"
>> +FILES_${PN}-libxenctrl-dev = "${libdir}/libxenctrl.so"
>> +
>> +FILES_${PN}-libxlutil = "${libdir}/libxlutil.so.*"
>> +FILES_${PN}-libxlutil-dev = "${libdir}/libxlutil.so"
>> +
>> +FILES_${PN}-libvhd = "${libdir}/libvhd.so.*"
>> +FILES_${PN}-libvhd-dev = "${libdir}/libvhd.so"
>> +
>> +FILES_${PN}-libxenstat = "${libdir}/libxenstat.so.*"
>> +FILES_${PN}-libxenstat-dev = "${libdir}/libxenstat.so"
>> +
>> +FILES_${PN}-libxenstore = "${libdir}/libxenstore.so.*"
>> +FILES_${PN}-libxenstore-dev = "${libdir}/libxenstore.so"
>> +
>> +FILES_${PN}-libblktap = "${libdir}/libblktap.so.*"
>> +FILES_${PN}-libblktap-dev = "${libdir}/libblktap.so"
>> +
>> +FILES_${PN}-libfsimage = "${libdir}/libfsimage.so.*"
>> +FILES_${PN}-libfsimage-dev = "${libdir}/libfsimage.so"
>> +
>> +FILES_${PN}-fsimage = "${libdir}/fs/*/*fsimage.so"
>> +
>> +FILES_${PN}-hypervisor = "\
>> +    /boot/xen-4.3.0.gz \
>> +    /boot/xen-4.3.gz \
>> +    /boot/xen-4.gz \
>> +    /boot/xen.gz \
>> +    /boot/xen-syms-4.3.0 \
>> +    "
>> +
>> +FILES_${PN}-base = "\
>> +    ${sysconfdir}/default/volatiles/99_xen \
>> +    ${sysconfdir}/default/xencommons \
>> +    ${sysconfdir}/default/xendomains \
>> +    ${sysconfdir}/xen/auto \
>> +    ${sysconfdir}/xen/cpupool \
>> +    ${sysconfdir}/sysconfig/xendomains \
>> +    ${localstatedir}/xen/dump \
>> +    "
>> +
>> +FILES_${PN}-blktap = "\
>> +    ${sbindir}/blktapctrl \
>> +    ${sbindir}/img2qcow \
>> +    ${sbindir}/lock-util \
>> +    ${sbindir}/qcow2raw \
>> +    ${sbindir}/qcow-create \
>> +    ${sbindir}/tap-ctl \
>> +    ${sbindir}/tapdisk \
>> +    ${sbindir}/tapdisk2 \
>> +    ${sbindir}/tapdisk-client \
>> +    ${sbindir}/tapdisk-diff \
>> +    ${sbindir}/tapdisk-stream \
>> +    ${sbindir}/td-util \
>> +    ${sbindir}/vhd-update \
>> +    ${sbindir}/vhd-util \
>> +    "
>> +
>> +FILES_${PN}-console = "\
>> +    ${libdir}/xen/bin/xenconsole \
>> +    ${sbindir}/xenconsoled \
>> +    "
>> +
>> +FILES_${PN}-flask = "\
>> +    ${sbindir}/flask-get-bool \
>> +    ${sbindir}/flask-getenforce \
>> +    ${sbindir}/flask-label-pci \
>> +    ${sbindir}/flask-loadpolicy \
>> +    ${sbindir}/flask-set-bool \
>> +    ${sbindir}/flask-setenforce \
>> +    "
>> +
>> +FILES_${PN}-gdbsx = "\
>> +    ${sbindir}/gdbsx \
>> +    "
>> +
>> +INSANE_SKIP_${PN}-hvmloader = "arch"
>> +FILES_${PN}-hvmloader = "\
>> +    ${libdir}/xen/boot/hvmloader \
>> +    "
>> +
>> +FILES_${PN}-kdd = "\
>> +    ${sbindir}/kdd \
>> +    "
>> +
>> +FILES_${PN}-misc = "\
>> +    ${bindir}/xencons \
>> +    ${bindir}/xencov_split \
>> +    ${bindir}/xen-detect \
>> +    ${libdir}/xen/bin/xenpvnetboot \
>> +    ${sbindir}/gtracestat \
>> +    ${sbindir}/gtraceview \
>> +    ${sbindir}/xen-bugtool \
>> +    ${sbindir}/xencov \
>> +    ${sbindir}/xend \
>> +    ${sbindir}/xenperf \
>> +    ${sbindir}/xenpm \
>> +    ${sbindir}/xsview \
>> +    ${sbindir}/xen-tmem-list-parse \
>> +    ${sbindir}/xen-python-path \
>> +    ${sbindir}/xen-ringwatch \
>> +    ${sbindir}/xen-hptool \
>> +    ${sbindir}/xen-hvmcrash \
>> +    ${sbindir}/xen-hvmctx \
>> +    ${sbindir}/xenlockprof \
>> +    ${sbindir}/xen-lowmemd \
>> +    "
>> +
>> +FILES_${PN}-pygrub = "\
>> +    ${bindir}/pygrub \
>> +    ${libdir}/xen/bin/pygrub \
>> +    "
>> +
>> +FILES_${PN}-python = "\
>> +    ${libdir}/python2.7 \
>> +    "
>> +
>> +INSANE_SKIP_${PN}-qemu = "arch"
>> +FILES_${PN}-qemu = " \
>> +    ${datadir}/xen/qemu \
>> +    ${libdir}/xen/bin/qemu-system-i386 \
>> +    ${libdir}/xen/bin/qemu-system-x86_64 \
>> +    ${libdir}/xen/bin/qemu-img \
>> +    ${libdir}/xen/bin/qemu-nbd \
>> +    ${libdir}/xen/bin/qemu-ga \
>> +    ${libdir}/xen/bin/qemu-io \
>> +    ${libdir}/xen/bin/qemu-dm \
>> +    ${libdir}/xen/bin/virtfs-proxy-helper \
>> +    /usr/libexec/qemu-bridge-helper \
>> +    /usr/etc/qemu \
>> +    /usr/etc/qemu/target-x86_64.conf \
>> +    ${datadir}/qemu-xen \
>> +    ${datadir}/qemu-xen/qemu \
>> +    ${datadir}/qemu-xen/qemu/bamboo.dtb \
>> +    ${datadir}/qemu-xen/qemu/pxe-pcnet.rom \
>> +    ${datadir}/qemu-xen/qemu/vgabios-vmware.bin \
>> +    ${datadir}/qemu-xen/qemu/pxe-eepro100.rom \
>> +    ${datadir}/qemu-xen/qemu/pxe-e1000.rom \
>> +    ${datadir}/qemu-xen/qemu/openbios-ppc \
>> +    ${datadir}/qemu-xen/qemu/multiboot.bin \
>> +    ${datadir}/qemu-xen/qemu/vgabios-cirrus.bin \
>> +    ${datadir}/qemu-xen/qemu/bios.bin \
>> +    ${datadir}/qemu-xen/qemu/vgabios-stdvga.bin \
>> +    ${datadir}/qemu-xen/qemu/palcode-clipper \
>> +    ${datadir}/qemu-xen/qemu/pxe-ne2k_pci.rom \
>> +    ${datadir}/qemu-xen/qemu/spapr-rtas.bin \
>> +    ${datadir}/qemu-xen/qemu/slof.bin \
>> +    ${datadir}/qemu-xen/qemu/vgabios-qxl.bin \
>> +    ${datadir}/qemu-xen/qemu/pxe-rtl8139.rom \
>> +    ${datadir}/qemu-xen/qemu/openbios-sparc64 \
>> +    ${datadir}/qemu-xen/qemu/pxe-virtio.rom \
>> +    ${datadir}/qemu-xen/qemu/kvmvapic.bin \
>> +    ${datadir}/qemu-xen/qemu/openbios-sparc32 \
>> +    ${datadir}/qemu-xen/qemu/petalogix-s3adsp1800.dtb \
>> +    ${datadir}/qemu-xen/qemu/sgabios.bin \
>> +    ${datadir}/qemu-xen/qemu/linuxboot.bin \
>> +    ${datadir}/qemu-xen/qemu/qemu-icon.bmp \
>> +    ${datadir}/qemu-xen/qemu/ppc_rom.bin \
>> +    ${datadir}/qemu-xen/qemu/vgabios.bin \
>> +    ${datadir}/qemu-xen/qemu/s390-zipl.rom \
>> +    ${datadir}/qemu-xen/qemu/petalogix-ml605.dtb \
>> +    ${datadir}/qemu-xen/qemu/keymaps \
>> +    ${datadir}/qemu-xen/qemu/keymaps/common \
>> +    ${datadir}/qemu-xen/qemu/keymaps/th \
>> +    ${datadir}/qemu-xen/qemu/keymaps/is \
>> +    ${datadir}/qemu-xen/qemu/keymaps/en-gb \
>> +    ${datadir}/qemu-xen/qemu/keymaps/ar \
>> +    ${datadir}/qemu-xen/qemu/keymaps/fr-be \
>> +    ${datadir}/qemu-xen/qemu/keymaps/ru \
>> +    ${datadir}/qemu-xen/qemu/keymaps/hu \
>> +    ${datadir}/qemu-xen/qemu/keymaps/de-ch \
>> +    ${datadir}/qemu-xen/qemu/keymaps/no \
>> +    ${datadir}/qemu-xen/qemu/keymaps/fr \
>> +    ${datadir}/qemu-xen/qemu/keymaps/pl \
>> +    ${datadir}/qemu-xen/qemu/keymaps/fr-ca \
>> +    ${datadir}/qemu-xen/qemu/keymaps/de \
>> +    ${datadir}/qemu-xen/qemu/keymaps/fr-ch \
>> +    ${datadir}/qemu-xen/qemu/keymaps/bepo \
>> +    ${datadir}/qemu-xen/qemu/keymaps/lv \
>> +    ${datadir}/qemu-xen/qemu/keymaps/ja \
>> +    ${datadir}/qemu-xen/qemu/keymaps/da \
>> +    ${datadir}/qemu-xen/qemu/keymaps/lt \
>> +    ${datadir}/qemu-xen/qemu/keymaps/hr \
>> +    ${datadir}/qemu-xen/qemu/keymaps/es \
>> +    ${datadir}/qemu-xen/qemu/keymaps/modifiers \
>> +    ${datadir}/qemu-xen/qemu/keymaps/sl \
>> +    ${datadir}/qemu-xen/qemu/keymaps/it \
>> +    ${datadir}/qemu-xen/qemu/keymaps/nl \
>> +    ${datadir}/qemu-xen/qemu/keymaps/fo \
>> +    ${datadir}/qemu-xen/qemu/keymaps/mk \
>> +    ${datadir}/qemu-xen/qemu/keymaps/pt-br \
>> +    ${datadir}/qemu-xen/qemu/keymaps/tr \
>> +    ${datadir}/qemu-xen/qemu/keymaps/sv \
>> +    ${datadir}/qemu-xen/qemu/keymaps/fi \
>> +    ${datadir}/qemu-xen/qemu/keymaps/en-us \
>> +    ${datadir}/qemu-xen/qemu/keymaps/et \
>> +    ${datadir}/qemu-xen/qemu/keymaps/nl-be \
>> +    ${datadir}/qemu-xen/qemu/keymaps/pt \
>> +    ${bindir}/qemu-nbd-xen \
>> +    ${bindir}/qemu-img-xen \
>> +    "
>> +
>> +FILES_${PN}-remus = "\
>> +    ${bindir}/remus \
>> +    "
>> +
>> +FILES_${PN}-scripts-network = " \
>> +    ${sysconfdir}/xen/scripts/network-bridge \
>> +    ${sysconfdir}/xen/scripts/network-nat \
>> +    ${sysconfdir}/xen/scripts/network-route \
>> +    ${sysconfdir}/xen/scripts/qemu-ifup \
>> +    ${sysconfdir}/xen/scripts/vif2 \
>> +    ${sysconfdir}/xen/scripts/vif-bridge \
>> +    ${sysconfdir}/xen/scripts/vif-common.sh \
>> +    ${sysconfdir}/xen/scripts/vif-nat \
>> +    ${sysconfdir}/xen/scripts/vif-openvswitch \
>> +    ${sysconfdir}/xen/scripts/vif-route \
>> +    ${sysconfdir}/xen/scripts/vif-setup \
>> +    "
>> +
>> +FILES_${PN}-scripts-block = " \
>> +    ${sysconfdir}/xen/scripts/blktap \
>> +    ${sysconfdir}/xen/scripts/block \
>> +    ${sysconfdir}/xen/scripts/block-common.sh \
>> +    ${sysconfdir}/xen/scripts/block-enbd \
>> +    ${sysconfdir}/xen/scripts/block-iscsi \
>> +    ${sysconfdir}/xen/scripts/block-nbd \
>> +    ${sysconfdir}/xen/scripts/vscsi \
>> +    "
>> +
>> +FILES_${PN}-scripts-common = " \
>> +    ${sysconfdir}/xen/scripts/external-device-migrate \
>> +    ${sysconfdir}/xen/scripts/hotplugpath.sh \
>> +    ${sysconfdir}/xen/scripts/locking.sh \
>> +    ${sysconfdir}/xen/scripts/logging.sh \
>> +    ${sysconfdir}/xen/scripts/xen-hotplug-cleanup \
>> +    ${sysconfdir}/xen/scripts/xen-hotplug-common.sh \
>> +    ${sysconfdir}/xen/scripts/xen-network-common.sh \
>> +    ${sysconfdir}/xen/scripts/xen-script-common.sh \
>> +    "
>> +
>> +FILES_${PN}-udev = "\
>> +    ${sysconfdir}/udev/rules.d/xen-backend.rules \
>> +    ${sysconfdir}/udev/rules.d/xend.rules \
>> +    "
>> +
>> +FILES_${PN}-xcutils = "\
>> +    ${libdir}/xen/bin/lsevtchn \
>> +    ${libdir}/xen/bin/readnotes \
>> +    ${libdir}/xen/bin/xc_restore \
>> +    ${libdir}/xen/bin/xc_save \
>> +    "
>> +
>> +FILES_${PN}-xend-examples = "\
>> +    ${sysconfdir}/xen/xend-config.sxp \
>> +    ${sysconfdir}/xen/xend-pci-permissive.sxp \
>> +    ${sysconfdir}/xen/xend-pci-quirks.sxp \
>> +    "
>> +
>> +FILES_${PN}-xenpaging = "\
>> +    ${libdir}/xen/bin/xenpaging \
>> +    ${localstatedir}/lib/xen/xenpaging \
>> +    "
>> +
>> +FILES_${PN}-xenpmd = "\
>> +    ${sbindir}/xenpmd \
>> +    "
>> +
>> +FILES_${PN}-xenstat = "\
>> +    ${sbindir}/xentop \
>> +    "
>> +
>> +FILES_${PN}-xenstore = "\
>> +    ${bindir}/xenstore \
>> +    ${bindir}/xenstore-chmod \
>> +    ${bindir}/xenstore-control \
>> +    ${bindir}/xenstore-exists \
>> +    ${bindir}/xenstore-list \
>> +    ${bindir}/xenstore-ls \
>> +    ${bindir}/xenstore-read \
>> +    ${bindir}/xenstore-rm \
>> +    ${bindir}/xenstore-watch \
>> +    ${bindir}/xenstore-write \
>> +    "
>> +
>> +FILES_${PN}-xenstored = "\
>> +    ${sbindir}/xenstored \
>> +    ${localstatedir}/lib/xenstored \
>> +    "
>> +
>> +FILES_${PN}-xentrace = "\
>> +    ${bindir}/xentrace \
>> +    ${bindir}/xentrace_format \
>> +    ${bindir}/xentrace_setsize \
>> +    ${libdir}/xen/bin/xenctx \
>> +    "
>> +
>> +FILES_${PN}-xen-watchdog = "\
>> +    ${sbindir}/xenwatchdogd \
>> +    "
>> +
>> +FILES_${PN}-xl = "\
>> +    ${sysconfdir}/bash_completion.d/xl.sh \
>> +    ${sysconfdir}/xen/xl.conf \
>> +    ${libdir}/xen/bin/libxl-save-helper \
>> +    ${sbindir}/xl \
>> +    "
>> +
>> +FILES_${PN}-xl-examples = "\
>> +    ${sysconfdir}/xen/xlexample.hvm \
>> +    ${sysconfdir}/xen/xlexample.pvlinux \
>> +    "
>> +
>> +FILES_${PN}-xm-examples = "\
>> +    ${sysconfdir}/xen/xmexample1 \
>> +    ${sysconfdir}/xen/xmexample2 \
>> +    ${sysconfdir}/xen/xmexample3 \
>> +    ${sysconfdir}/xen/xmexample.hvm \
>> +    ${sysconfdir}/xen/xmexample.hvm-stubdom \
>> +    ${sysconfdir}/xen/xmexample.nbd \
>> +    ${sysconfdir}/xen/xmexample.pv-grub \
>> +    ${sysconfdir}/xen/xmexample.vti \
>> +    "
>> +
>> +FILES_${PN}-xenmon = "\
>> +    ${sbindir}/xenbaked \
>> +    ${sbindir}/xentrace_setmask \
>> +    ${sbindir}/xenmon.py \
>> +    "
>> +
>> +FILES_${PN}-xm = "\
>> +    ${sysconfdir}/xen/xm-config.xml \
>> +    ${datadir}/xen/create.dtd \
>> +    ${sbindir}/xm \
>> +    "
>> +
>> +FILES_${PN}-xencommons += "${sysconfdir}/init.d/xencommons"
>> +FILES_${PN}-xend += "${sysconfdir}/init.d/xend"
>> +FILES_${PN}-xendomains += "${sysconfdir}/init.d/xendomains"
>> +FILES_${PN}-xen-watchdog += "${sysconfdir}/init.d/xen-watchdog"
>> +
>> +# configure init.d scripts
>> +INITSCRIPT_PACKAGES = "${PN}-xend ${PN}-xencommons ${PN}-xen-watchdog ${PN}-xendomains"
>> +INITSCRIPT_NAME_${PN}-xencommons = "xencommons"
>> +INITSCRIPT_PARAMS_${PN}-xencommons = "defaults 80"
>> +INITSCRIPT_NAME_${PN}-xen-watchdog = "xen-watchdog"
>> +INITSCRIPT_PARAMS_${PN}-xen-watchdog = "defaults 81"
>> +INITSCRIPT_NAME_${PN}-xend = "xend"
>> +INITSCRIPT_PARAMS_${PN}-xend = "defaults 82"
>> +INITSCRIPT_NAME_${PN}-xendomains = "xendomains"
>> +INITSCRIPT_PARAMS_${PN}-xendomains = "defaults 83"
>> +
>> +#### REQUIRED ENVIRONMENT VARIABLES ####
>> +export BUILD_SYS
>> +export HOST_SYS
>> +export STAGING_INCDIR
>> +export STAGING_LIBDIR
>> +
>> +# specify xen hypervisor to target x86_64 (x86_32 not supported)
>> +export XEN_TARGET_ARCH="x86_64"
>> +export XEN_COMPILE_ARCH="x86_64"
>> +
>> +# this is used for the header (#!${bindir}/python) of the install python scripts
>> +export PYTHONPATH="${bindir}/python"
>> +
>> +# seabios forcefully sets HOSTCC to CC - fixup to allow it to build native conf executable
>> +export HOSTCC="${BUILD_CC}"
>> +
>> +# make xen requires CROSS_COMPILE set by hand as it does not abide by ./configure
>> +export CROSS_COMPILE="${TARGET_PREFIX}"
>> +
>> +# overide LDFLAGS to allow xen to build without: "x86_64-oe-linux-ld: unrecognized option '-Wl,-O1'"
>> +export LDFLAGS=""
>> +
>> +do_configure() {
>> +    # fixup qemu-xen-traditional pciutils check hardcoded to test ${includedir}/pci
>> +    sed -i 's/\/usr\/include\/pci/$(STAGING_INCDIR)\/pci/g' ${S}/tools/qemu-xen-traditional/xen-hooks.mak
>> +
>> +    # fixup for qemu to cross compile
>> +    sed -i 's/configure --d/configure --cross-prefix=${TARGET_PREFIX} --d/g' ${S}/tools/qemu-xen-traditional/xen-setup
>> +
>> +    # no stubs-32.h in our 64-bit sysroot - hack it into tools/include/gnu
>> +    test -d ${S}/tools/include/gnu || mkdir ${S}/tools/include/gnu
>> +    if ! test -f ${STAGING_DIR_TARGET}/usr/include/gnu/stubs-32.h ; then
>> +        cat ${STAGING_DIR_TARGET}/usr/include/gnu/stubs-64.h | grep -v stub_bdflush | grep -v stub_getmsg | grep -v stub_putmsg > ${S}/tools/include/gnu/stubs-32.h
>> +        echo \#define __stub___kernel_cosl >> ${S}/tools/include/gnu/stubs-32.h
>> +        echo \#define __stub___kernel_sinl >> ${S}/tools/include/gnu/stubs-32.h
>> +        echo \#define __stub___kernel_tanl >> ${S}/tools/include/gnu/stubs-32.h
>> +    fi
>> +
>> +    # do configure
>> +    ./configure --exec-prefix=/usr --prefix=/usr --host=${HOST_SYS} --disable-stubdom --disable-ioemu-stubdom --disable-pv-grub --disable-xenstore-stubdom
>> +
>> +    # seabios needs a patch to specify correct compiler - pull and patch Makefile
>> +    make -C ${S}/tools/firmware seabios-dir
>> +    sed -i 's/export HOSTCC.*$(CC)/export HOSTCC ?= $(CC)/g' ${S}/tools/firmware/seabios-dir/Makefile
>> +}
>> +
>> +do_compile() {
>> +    oe_runmake
>> +}
>> +
>> +do_install() {
>> +    oe_runmake DESTDIR="${D}" install
>> +
>> +    # remove installed volatiles
>> +    rm -rf ${D}${localstatedir}/run ${D}${localstatedir}/lock ${D}${localstatedir}/log ${D}${localstatedir}/volatile
>> +
>> +    # install volatiles using populate_volatiles mechanism
>> +    install -d ${D}${sysconfdir}/default/volatiles
>> +    echo "d root root 0755 ${localstatedir}/run/xenstored none" \
>> +         > ${D}${sysconfdir}/default/volatiles/99_xen
>> +    echo "d root root 0755 ${localstatedir}/run/xend none" \
>> +         >> ${D}${sysconfdir}/default/volatiles/99_xen
>> +    echo "d root root 0755 ${localstatedir}/run/xend/boot none" \
>> +         >> ${D}${sysconfdir}/default/volatiles/99_xen
>> +    echo "d root root 0755 ${localstatedir}/run/xen none" \
>> +         >> ${D}${sysconfdir}/default/volatiles/99_xen
>> +    echo "d root root 0755 ${localstatedir}/log/xen none" \
>> +         >> ${D}${sysconfdir}/default/volatiles/99_xen
>> +    echo "d root root 0755 ${localstatedir}/lock/xen none" \
>> +         >> ${D}${sysconfdir}/default/volatiles/99_xen
>> +    echo "d root root 0755 ${localstatedir}/lock/subsys none" \
>> +         >> ${D}${sysconfdir}/default/volatiles/99_xen
>> +
>> +    # workaround for xendomains script which searchs sysconfig if directory exists
>> +    install -d ${D}${sysconfdir}/sysconfig
>> +    ln -sf ${sysconfdir}/default/xendomains ${D}${sysconfdir}/sysconfig/xendomains
>> +}
>> +
>> +pkg_postinst_${PN}-base() {
>> +    if [ -z "$D" ] && [ -e ${sysconfdir}/init.d/populate-volatile.sh ] ; then
>> +        ${sysconfdir}/init.d/populate-volatile.sh update
>> +    fi
>> +}
>> +
>> +sysroot_stage_all_append() {
>> +    sysroot_stage_dir ${D}/boot ${SYSROOT_DESTDIR}/kernel
>> +
>> +    install -d ${DEPLOY_DIR_IMAGE}
>> +    install -m 0644 ${D}/boot/xen.gz ${DEPLOY_DIR_IMAGE}/xen-${MACHINE}.gz
>> +}
>>
>
> _______________________________________________
> meta-virtualization mailing list
> meta-virtualization@yoctoproject.org
> https://lists.yoctoproject.org/listinfo/meta-virtualization



-- 
"Thou shalt not follow the NULL pointer, for chaos and madness await
thee at its end"


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH v2 0/4] xen 4.3.0 recipe and updated xen-image-minimal
  2013-09-11  1:02 [PATCH v2 0/4] xen 4.3.0 recipe and updated xen-image-minimal Chris Patterson
                   ` (3 preceding siblings ...)
  2013-09-11  1:02 ` [PATCH v2 4/4] xen-image-minimal: update image to support xen 4.3.0 base with xl toolstack Chris Patterson
@ 2013-09-24 15:48 ` Bruce Ashfield
  4 siblings, 0 replies; 10+ messages in thread
From: Bruce Ashfield @ 2013-09-24 15:48 UTC (permalink / raw)
  To: Chris Patterson; +Cc: meta-virtualization

On Tue, Sep 10, 2013 at 9:02 PM, Chris Patterson <cjp256@gmail.com> wrote:
> This set of patches should provide a user with the ability to generate a xen 4.3.0 based dom0 image.
>
> [NOTES]
>
> With these patches, xen-image-minimal requires "xen" and "aufs" to be present in DISTRO_FEATURES to function correctly.  This means that xen-image-minimal has only been tested with 3.8 and 3.10 since 3.4 does not have aufs patches available.

I've merged the series as is. Once the smoke clears from the Yocto 1.5
release, I'll
factor the fragments out into a common location, there wasn't a window
to do it sooner
and I had been waiting a bit .. but I've given up for now, and it's
better to have this in
the layer for wider use.

Thanks for the nice series, glad to see this fixed up and working.

Bruce

>
> v1 -> v2 changelog:
> xen-image-initramfs: removed image and related init script
> xen-image-minimal: use core-image-minimal-initramfs
> xen-image-minimal: minimalized package set, add xen-pciback module
> xen-4.3.0: minimize RDEPENDS - anyone interested in using the python toolstack bits will likely have to fill in some blanks
> linux-yocto/xen.cfg: update to support 3.4, 3.8, 3.10 (may include some spurious options for 3.4 & 3.8 used for 3.10)
> linux-yocto/xen.cfg: remove PCI_STUB
> linux-yocto/xen.cfg: include PCIDEV_BACKEND as module instead of built-in
> linux-yocto_3.4.bbappend: remove aufs option since it's not available in 3.4 anyways
>
> these patches are available for your convenience at:
> repo: https://github.com/cjp256/meta-virtualization.git
> branch: patches-xen-v2
>
> [DISTRO TESTING]
>
> This image has been tested using:
>
> machine=sugarbay
> DISTRO_FEATURES += " aufs xen"
>
> [BUILDING IMAGE]
>
> bitbake xen-image-minimal
>
> [QEMU BUILD TESTING]
>
> To start up and test core-image-xen using kvm on hardware supporting nested virtualization:
>
> kvm -hda deploy/images/xen-image-minimal-sugarbay.hddimg -cpu host -no-kvm-irqchip -m 4096 -net nic,model=e1000 -net user -serial stdio
>
> ..or..
>
> kvm -hdc deploy/images/xen-image-minimal-sugarbay.iso -cpu host -no-kvm-irqchip -m 4096 -net nic,model=e1000 -net user -serial stdio
>
> [XEN TESTING]
>
> To test the runtime core-image-xen and boot a debian PV virtual machine:
>
> #!/bin/sh -x
>
> # bring up networking
> ifconfig eth0 up
> brctl addbr br0
> brctl addif br0 eth0
> udhcpc -i br0
>
> # place vm in debian
> mkdir -p /test/debian
> cd /test/debian
>
> # pull example kernel, initrd
> wget http://ftp.debian.org/debian/dists/wheezy/main/installer-amd64/current/images/netboot/xen/initrd.gz
> wget http://ftp.debian.org/debian/dists/wheezy/main/installer-amd64/current/images/netboot/xen/vmlinuz
>
> # create empty disk
> dd if=/dev/zero of=disk.img bs=1M skip=4000 count=1
>
> cat > debian.cfg << EOF
> kernel = "/test/debian/vmlinuz"
> ramdisk = "/test/debian/initrd.gz"
> extra = "debian-installer/exit/always_halt=true -- console=hvc0"
> vif = ['bridge=br0']
> memory = "256"
> name = "debian"
> disk = ['file:/test/debian/disk.img,xvda,w']
> EOF
>
> xl -v create -d debian.cfg
>
> xl console debian
>
> Chris Patterson (4):
>   linux-yocto: add kernel fragment and scc to support xen on linux 3.4,
>     3.8, and 3.10.
>   linux-yocto: add optional support for aufs and xen using
>     DISTRO_FEATURES.
>   xen: add 4.3.0 recipe.
>   xen-image-minimal: update image to support xen 4.3.0 base with xl
>     toolstack.
>
>  recipes-extended/images/xen-image-minimal.bb   |  52 +-
>  recipes-extended/xen/xen_4.3.0.bb              | 626 +++++++++++++++++++++++++
>  recipes-kernel/linux/linux-yocto/xen.cfg       |  55 +++
>  recipes-kernel/linux/linux-yocto/xen.scc       |   4 +
>  recipes-kernel/linux/linux-yocto_3.10.bbappend |   6 +
>  recipes-kernel/linux/linux-yocto_3.4.bbappend  |   3 +
>  recipes-kernel/linux/linux-yocto_3.8.bbappend  |   6 +
>  7 files changed, 746 insertions(+), 6 deletions(-)
>  create mode 100644 recipes-extended/xen/xen_4.3.0.bb
>  create mode 100644 recipes-kernel/linux/linux-yocto/xen.cfg
>  create mode 100644 recipes-kernel/linux/linux-yocto/xen.scc
>
> --
> 1.8.4.rc3
>
> _______________________________________________
> meta-virtualization mailing list
> meta-virtualization@yoctoproject.org
> https://lists.yoctoproject.org/listinfo/meta-virtualization



-- 
"Thou shalt not follow the NULL pointer, for chaos and madness await
thee at its end"


^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2013-09-24 15:48 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-09-11  1:02 [PATCH v2 0/4] xen 4.3.0 recipe and updated xen-image-minimal Chris Patterson
2013-09-11  1:02 ` [PATCH v2 1/4] linux-yocto: add kernel fragment and scc to support xen on linux 3.4, 3.8, and 3.10 Chris Patterson
2013-09-11  1:02 ` [PATCH v2 2/4] linux-yocto: add optional support for aufs and xen using DISTRO_FEATURES Chris Patterson
2013-09-11  1:02 ` [PATCH v2 3/4] xen: add 4.3.0 recipe Chris Patterson
2013-09-12 17:28   ` Bruce Ashfield
2013-09-14 22:27   ` Philip Tricca
2013-09-20 18:10   ` Philip Tricca
2013-09-20 20:40     ` Bruce Ashfield
2013-09-11  1:02 ` [PATCH v2 4/4] xen-image-minimal: update image to support xen 4.3.0 base with xl toolstack Chris Patterson
2013-09-24 15:48 ` [PATCH v2 0/4] xen 4.3.0 recipe and updated xen-image-minimal Bruce Ashfield

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.