[meta-virtualization] [PATCH v2 3/4] xen: add 4.3.0 recipe.

Bruce Ashfield bruce.ashfield at gmail.com
Fri Sep 20 13:40:40 PDT 2013


On Fri, Sep 20, 2013 at 2:10 PM, Philip Tricca <flihp at 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 at 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 at 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"



More information about the meta-virtualization mailing list