[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] Domain Builder


  • To: xen-devel@xxxxxxxxxxxxx
  • From: Daniel De Graaf <dgdegra@xxxxxxxxxxxxx>
  • Date: Tue, 04 Mar 2014 18:32:36 -0500
  • Delivery-date: Tue, 04 Mar 2014 23:33:42 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xen.org>

A domain builder suitable for creating a disaggregated Xen system is
attached.  Using this domain builder requires the patch series that
this email is in reply to, and requires that the hypervisor be built
with XSM enabled (with the XSM policy loaded from the bootloader).

The executable passed to Xen from GRUB is called db-boot. It takes a
CPIO archive containing specification files (with extension .cfg.db)
and their dependencies (kernels and initrds).  The specification
files are built using compile-db-spec.

Example contents of the ramdisk:
    control             - control domain kernel (in tarball)
    control.cpio        - configuration for control domain
    control.cfg.db      - spec file for control domain
    xenstore            - mini-os version of the C xenstore
    xenstore.cfg.db     - spec file for Xenstore
    vtpmmgr             - mini-os TPM manager
    vtpmmgr.cfg.db      - spec file for TPM Manager
    vmlinuz             - Kernel for both Linux domains
    initramfs.img       - Common initrd for Linux domains
    hardware.cfg.db     - spec file for hardware domain
    toolstack.cfg.db    - spec file for toolstack domain

control.cfg:
vcpus=1
memory=4
kernel="control"
ramdisk="control.cpio"
extra="SVP xenstore=2 hs=3 drivers=3 tpm=4 self=1 schema=platform.ctl"
domid=1
access_control="system_u:system_r:control_t"

xenstore.cfg:
vcpus=1
memory=20
kernel="xenstore"
extra="--priv-domid 5 --internal-db"
domid=2
access_control="system_u:system_r:xenstore_t"

hardware.cfg:
memory=2000
vcpus=1
domid=3
dom_flags=['INITDOMAIN']
access_control="system_u:system_r:hardware_t"
kernel="vmlinuz"
ramdisk="initramfs.img"
extra="ro root=/dev/lvm_foo/hardware_root console=hvc0 earlyprintk=xen"
iomem=['enable 0(0xfed40)', 'enable 0xfed45(0xff012bb)']
ioports=[
        # This is derived from "xl debug-key q" output for dom0
        'enable 0(0x20)',
        'enable 0x22(0x1e)',
        'enable 0x44(0x1c)',
        'enable 0x68(0x38)',
        'enable 0xA2(0x356)',
        'enable 0x400(8)',
        'enable 0x40C(0x8EC)',
        'enable 0xD00(0xF300)',
]

vtpmmgr.cfg:
vcpus=1
memory=5
kernel="boot/vtpmmgr"
extra="tpmlocality=2"
domid=4
access_control="system_u:system_r:vtpm_mgr_t"
iomem=['enable 0xfed42(1)']

toolstack.cfg:
memory=2000
vcpus=1
domid=5
access_control="system_u:system_r:toolstack_t"
kernel="vmlinuz"
ramdisk="initramfs.img"
extra="ro root=/dev/lvm_foo/toolstack_root console=hvc0 earlyprintk=xen"

control.cpio:
        platform.ctl - compiled with compile-control-schema from svp.schema

svp.schema should be an empty file.  Its contents describe additional
domains to build from disk, but this support requires using the domain
builder server which was removed due to its dependency on IVC which is
not available in upstream Xen.

Attachment: domain_builder.tgz
Description: application/compressed-tar

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.