Skip to content

Instantly share code, notes, and snippets.

@paleo9
Created November 3, 2012 16:01
Show Gist options
  • Save paleo9/a2b71e4a17fdf7bbcfc0 to your computer and use it in GitHub Desktop.
Save paleo9/a2b71e4a17fdf7bbcfc0 to your computer and use it in GitHub Desktop.

Revisions

  1. paleo9 revised this gist Nov 4, 2012. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion xen-and-systemd
    Original file line number Diff line number Diff line change
    @@ -83,7 +83,7 @@ WantedBy=multi-user.target


    ---------------------------------------------------------------------------------
    /usr/lib/systemd/system/xenstored.service
    /usr/lib/systemd/system/xenconsoled.service
    ---------------------------------------------------------------------------------

    [Unit]
  2. paleo9 revised this gist Nov 3, 2012. 1 changed file with 13 additions and 2 deletions.
    15 changes: 13 additions & 2 deletions xen-and-systemd
    Original file line number Diff line number Diff line change
    @@ -1,6 +1,17 @@
    Integrating Xen 4.2 with Systemd.
    Integrating Xen 4.2 AUR with Systemd.
    =================================

    I tested the AUR package with a fresh installation of Arch of x86_64. Only
    packages 'base', 'base-devel'and the dependencies mentioned on the site
    were installed.
    * package build also requires dev86
    * dev86 is in multilib, x86_64 users need to enable multilib in /etc/pacman.conf

    * users need to add a new entry to their bootloader config file (mentioned)
    * users need to set up a network bridge or alternative for dom0 (not mentioned)

    The following are what was needed to make systemd work successfully with the AUR package
    (and the installation from xen.org source).

    * Need to include the following line in /etc/fstab:
    none /proc/xen xenfs defaults 0 0
    @@ -21,7 +32,7 @@ Integrating Xen 4.2 with Systemd.
    * The following files integrate Xen 4.2 with systemd 195. They replace xencommons
    which loads startup modules then starts oxenstored, xenconsoled and xendomains.

    To start the services at startup, need to issue:
    To start the services at startup, issue:
    systemctl enable oxenstored.service
    systemctl enable xenconsoled.service
    systemctl enable xendomains.service
  3. paleo9 created this gist Nov 3, 2012.
    123 changes: 123 additions & 0 deletions xen-and-systemd
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,123 @@
    Integrating Xen 4.2 with Systemd.
    =================================


    * Need to include the following line in /etc/fstab:
    none /proc/xen xenfs defaults 0 0

    * Need to place the file 'xendomains' (created in init.d) somewhere useful.
    Fedora use /usr/libexec which Arch does not have. It's a script so maybe
    /etc/xen/scripts/ ?

    * Error messages about 'failed to execute /usr/lib/.... xend/udev_event'
    (lots of them) are caused by /etc/udev/rules.d/xend.rules
    As xend is (a) deprecated and (b) not used, it is safe to remove xend.rules

    I was able to remove /etc/udev/xen-backend rules without any (apparent) effect.

    * The AUR build creates both oxenstored and censtored. oxenstored is more
    efficient according to xen.org so oxenstored.service is provided.

    * The following files integrate Xen 4.2 with systemd 195. They replace xencommons
    which loads startup modules then starts oxenstored, xenconsoled and xendomains.

    To start the services at startup, need to issue:
    systemctl enable oxenstored.service
    systemctl enable xenconsoled.service
    systemctl enable xendomains.service

    ---------------------------------------------------------------------------------
    /etc/modules-load.d/xen.conf
    ---------------------------------------------------------------------------------

    xen-evtchn
    xen-gntdev
    xen-gntalloc
    xen-blkback
    xen-netback
    xen-pciback
    xen-acpi-processor
    # The following were included in xencommons, but were not inserted by systemd
    # evtchn
    # gntdev
    # netbk
    # blkbk
    # xen-scsibk
    # usbbk
    # pciback
    # blktap2
    # blktap

    #### end of xen.conf

    ---------------------------------------------------------------------------------
    /usr/lib/systemd/system/xenstored.service
    ---------------------------------------------------------------------------------

    [Unit]
    Description=Xenstored - daemon managing xenstore file system
    Before=libvirtd.service libvirt-guests.service
    After=dbus.service
    RefuseManualStop=true

    [Service]
    Type=forking
    PIDFile=/var/run/xenstored.pid
    ExecStart=/usr/sbin/xenstored --pid-file /var/run/xenstored.pid $XENSTORED_ARGS

    [Install]
    WantedBy=multi-user.target

    #### end of xenstored.service


    ---------------------------------------------------------------------------------
    /usr/lib/systemd/system/xenstored.service
    ---------------------------------------------------------------------------------

    [Unit]
    Description=Xenconsoled - handles logging from guest consoles and hypervisor
    After=xenstored.service

    [Service]
    Type=simple
    PIDFile=/var/run/xenconsoled.pid
    ExecStart=/usr/sbin/xenconsoled

    [Install]
    WantedBy=multi-user.target

    #### end of xencommons.service


    ---------------------------------------------------------------------------------
    /usr/lib/systemd/system/xendomains.service
    ---------------------------------------------------------------------------------

    [Unit]
    Description=Xendomains - start and stop guests on boot and shutdown
    Requires=proc-xen.mount xenstored.service
    After=proc-xen.mount xenstored.service xenconsoled.service
    ConditionPathExists=/proc/xen

    [Service]
    Type=oneshot
    RemainAfterExit=true
    ExecStartPre=/usr/bin/grep -q control_d /proc/xen/capabilities
    ExecStart=/etc/xen/scripts/xendomains start
    ExecStop=/etc/xen/scripts/xendomains stop

    [Install]
    WantedBy=multi-user.target

    #### end of xendomains.service


    ********************************************************************************
    xen.conf paleo9

    oxenstored.service xenconsoled.service xendomains.service
    based on Fedora 17, modified for the Arch system by paleo9
    *********************************************************************************