Installation der trixbox CE in einer XEN VM

Basisvoraussetzungen

  • Installiertes und funktionstüchtiges Debian Etch 4.0r3 mit XEN 3.2
  • dd if=/dev/zero of=trixboxswap.img bs=1M count=2000
  • dd if=/dev/zero of=trixbox.img bs=1M count=12000
  • mkfs.ext3 trixbox.img
  • mkswap trixboxswap.img

virsh xml Konfiguration

trixbox.xml

<domain type='xen'>
  <name>trixbox</name>
  <os>
    <type>hvm</type>
    <loader>/usr/lib/xen-3.2-1/boot/hvmloader</loader>
    <boot dev='cdrom'/>
  </os>
  <memory>500000</memory>
  <vcpu>1</vcpu>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>destroy</on_reboot>
  <on_crash>destroy</on_crash>
  <features>
    <acpi/>
    <apic/>
    <pae/>
  </features>
  <devices>
    <emulator>/usr/lib/xen-3.2-1/bin/qemu-dm</emulator>
    <interface type='bridge'>
      <source bridge='xen-br0'/>
      <script path='vif-bridge'/>
    </interface>
    <interface type='bridge'>
      <source bridge='xen-br1'/>
      <script path='vif-bridge'/>
    </interface>
    <disk type='file' device='disk'>
      <driver name='file'/>
      <source file='/data/xens/trixbox/trixbox.img'/>
      <target dev='sda1'/>
    </disk>
    <disk type='file' device='disk'>
      <driver name='file'/>
      <source file='/data/xens/trixbox/trixboxswap.img'/>
      <target dev='sda2'/>
    </disk>
    <disk type='file' device='cdrom'>
      <source file='/data/install/iso/trixbox-2.6.0.7-i386.iso'/>
      <target dev='hdc'/>
      <readonly/>
    </disk>
    <graphics type='vnc' port='5900'/>
    <!-- zum Durchreichen der ISDN Hardware -->
    <!-- pci bus='0000:03:02.0' /-->
  </devices>
</domain>

Installation (virsh)

  • ssh mit portforwarding bzw. X11, so dass der VNC-Viewer gestartet werden kann
  • Mit virsh list die ID herausfinden, so dass ein Connect mit vncviewer:ID durchgeführt werden kann.
  • virsh xen:/// create trixbox.xml
    • schlägt aufgrund eines Bugs in XEN-3.2 fehl :-(

Installation (conf/hvm)

#  -*- mode: python; -*-
#============================================================================
# Python configuration setup for 'xm create'.
# This script sets the parameters used when a domain is created using 'xm create'.
# You use a separate script for each domain you want to create, or 
# you can set the parameters for the domain on the xm command line.
#============================================================================

import os, re
arch = os.uname()[4]
if re.search('64', arch):
    arch_libdir = 'lib64'
else:
    arch_libdir = 'lib'

#----------------------------------------------------------------------------
# Kernel image file.
kernel = "/usr/lib/xen-3.2-1/boot/hvmloader"

# The domain build function. HVM domain uses 'hvm'.
builder='hvm'

# Initial memory allocation (in megabytes) for the new domain.
#
# WARNING: Creating a domain with insufficient memory may cause out of
#          memory errors. The domain needs enough memory to boot kernel
#          and modules. Allocating less than 32MBs is not recommended.
memory = 512

# Shadow pagetable memory for the domain, in MB.
# Should be at least 2KB per MB of domain memory, plus a few MB per vcpu.
shadow_memory = 8

# A name for your domain. All domains must have different names.
name = "trixbox"

# 128-bit UUID for the domain.  The default behavior is to generate a new UUID
# on each call to 'xm create'.
#uuid = "06ed00fe-1162-4fc4-b5d8-11993ee4a8b9"

#-----------------------------------------------------------------------------
# the number of cpus guest platform has, default=1
vcpus=1

# enable/disable HVM guest PAE, default=0 (disabled)
pae=1

# enable/disable HVM guest ACPI, default=0 (disabled)
acpi=1

# enable/disable HVM guest APIC, default=0 (disabled)
apic=1

# List of which CPUS this domain is allowed to use, default Xen picks
#cpus = ""         # leave to Xen to pick
#cpus = "0"        # all vcpus run on CPU0
#cpus = "0-3,5,^1" # run on cpus 0,2,3,5

# Optionally define mac and/or bridge for the network interfaces.
# Random MACs are assigned if not given.

#vif = [ 'mac=00:16:3e:5a:96:83, type=ioemu, bridge=xen-br0' ]
vif = [ 'type=ioemu, bridge=xen-br0' ]

#----------------------------------------------------------------------------
# Define the disk devices you want the domain to have access to, and
# what you want them accessible as.
# Each disk entry is of the form phy:UNAME,DEV,MODE
# where UNAME is the device, DEV is the device name the domain will see,
# and MODE is r for read-only, w for read-write.

disk = [ 'file:/data/tiriltd/xens/trixbox/trixbox.img,hda,w', 'file:/data/tiriltd/xens/trixbox/trixboxswap.img,hdb,w','file:/data/tiriltd/install/iso/trixbox-2.6.0.7-i386.iso,hdc:cdrom,r' ]

#----------------------------------------------------------------------------
# Configure the behaviour when a domain exits.  There are three 'reasons'
# for a domain to stop: poweroff, reboot, and crash.  For each of these you
# may specify:
#
#   "destroy",        meaning that the domain is cleaned up as normal;
#   "restart",        meaning that a new domain is started in place of the old
#                     one;
#   "preserve",       meaning that no clean-up is done until the domain is
#                     manually destroyed (using xm destroy, for example); or
#   "rename-restart", meaning that the old domain is not cleaned up, but is
#                     renamed and a new domain started in its place.
#
# The default is
#
#   on_poweroff = 'destroy'
#   on_reboot   = 'restart'
#   on_crash    = 'restart'
#
# For backwards compatibility we also support the deprecated option restart
#
# restart = 'onreboot' means on_poweroff = 'destroy'
#                            on_reboot   = 'restart'
#                            on_crash    = 'destroy'
#
# restart = 'always'   means on_poweroff = 'restart'
#                            on_reboot   = 'restart'
#                            on_crash    = 'restart'
#
# restart = 'never'    means on_poweroff = 'destroy'
#                            on_reboot   = 'destroy'
#                            on_crash    = 'destroy'

on_poweroff = 'destroy'
on_reboot   = 'restart'
on_crash    = 'preserve'

#============================================================================

# New stuff
#device_model = '/usr/' + arch_libdir + '/xen/bin/qemu-dm'
device_model = '/usr/lib/xen-3.2-1/bin/qemu-dm'

#-----------------------------------------------------------------------------
# boot on floppy (a), hard disk (c) or CD-ROM (d) 
# default: hard disk, cd-rom, floppy
#boot="cda"
boot='d'

#-----------------------------------------------------------------------------
#  write to temporary files instead of disk image files
#snapshot=1

#----------------------------------------------------------------------------
# enable SDL library for graphics, default = 0
sdl=0

#----------------------------------------------------------------------------
# enable VNC library for graphics, default = 1
vnc=1

#----------------------------------------------------------------------------
# address that should be listened on for the VNC server if vnc is set.
# default is to use 'vnc-listen' setting from /etc/xen/xend-config.sxp
vnclisten="0.0.0.0"

#----------------------------------------------------------------------------
# set VNC display number, default = domid
#vncdisplay=1

#----------------------------------------------------------------------------
# try to find an unused port for the VNC server, default = 1
#vncunused=1

#----------------------------------------------------------------------------
# enable spawning vncviewer for domain's console
# (only valid when vnc=1), default = 0
vncconsole=0

vncpasswd=''

#----------------------------------------------------------------------------
# no graphics, use serial port
nographic=0

#----------------------------------------------------------------------------
# enable stdvga, default = 0 (use cirrus logic device model)
stdvga=0

#-----------------------------------------------------------------------------
#   serial port re-direct to pty deivce, /dev/pts/n 
#   then xm console or minicom can connect
#serial='pty'
#serial='stdio'
#serial='file:/tmp/blah'
#serial='/dev/pts/0'
serial='null'


#-----------------------------------------------------------------------------
#   enable sound card support, [sb16|es1370|all|..,..], default none
#soundhw='sb16'


#-----------------------------------------------------------------------------
#    set the real time clock to local time [default=0 i.e. set to utc]
localtime=1


#-----------------------------------------------------------------------------
#    start in full screen
#full-screen=1   


#-----------------------------------------------------------------------------
#   Enable USB support (specific devices specified at runtime through the
#         monitor window)
usb=1

#   Enable USB mouse support (only enable one of the following, `mouse' for
#               PS/2 protocol relative mouse, `tablet' for
#               absolute mouse)
#usbdevice='mouse'
usbdevice='tablet'

#pci = [ '0000:03:02.0' ]
  • Mit xm create trixbox.hvm wird die VM gestartet und man kann sich auf den VNC verbinden.
$ netstat -nalp | grep :5
tcp     0   0 0.0.0.0:5900  0.0.0.0:*               LISTEN     32129/qemu-dm

trixbox

  • Mit [Enter] geht es los!

trixbox boot iso

  • und dann ist es auch schon fertig...

Erster Start

  • Bootup und login
  • Anm.
    • /sbin/udevstart → no such file or directory
    • safe-asterisk → segfault (vielleicht, weil kein netzwerk?)
 
wissen/xen/howto-installation-trixbox-centos-asterisk-in-xen-vm.txt · Zuletzt geändert: 05.09.2010 20:31
 
Recent changes RSS feed Donate Valid XHTML 1.0 Valid CSS Recent cached RSS feed cacert-signed web site: inhalt.serviert.de