Testing LiveCD distros as guests?
by jean-Noël Chardron
Philip Rhoades wrotes :
I want to test out a bunch of LiveCD distributions - is it possible to
set these up as guests under Xen so I don't have to shut down my main
machine?
I did that with virt-install :
Suppose you have a iso image of the cdrom and the Virtual Technology in
the processor on recent computer :
on line 4 you can write what you want even the disk path of another VM
so you can tune the it's file system
on line 8 where is your iso image (don't need burn a cd)
[root@baudelaire ~]# virt-install
1 Would you like a fully virtualized guest (yes or no)? This will allow
you to run unmodified operating systems. yes
2 What is the name of your virtual machine? knoppix
3 How much RAM should be allocated (in megabytes)? 400
4 What would you like to use as the disk (file path)?
/virtualMachines/knoppix.img
5 Disk /virtualMachines/knoppix.img is already in use by another guest!
6 Do you really want to use the disk (yes or no)? yes
7 Would you like to enable graphics support? (yes or no) yes
8 What is the virtual CD image, CD device or install location?
/home/KNOPPIX_V5.1.1CD-2007-01-04-EN.iso
Starting install...
libvir: Xen Daemon erreur : opération GET échouée : xend_get: error from
xen daemon:
libvir: Xen Daemon erreur : opération GET échouée : xend_get: error from
xen daemon:
Creating domain... | 0 B
00:08
libGL error: open DRM failed (Opération non permise)
libGL error: reverting to (slow) indirect rendering
the Vm start in a new window
15 years, 8 months
Creating VMs on Fedora Dom0 using config files
by Marcel Damásio
Hello everybody!
I'm trying to create a Debian DomU on a Fedora Dom0.
I can't do this using virt-install and I don't know how to use config files
to create a VM on a Fedora Dom0 (I just know on Debian Dom0, using
xen-create-image script).
Could someone help me?
--
Marcel Damásio Moreira
9º período de Ciência da Computação - UFES
(27) 8128-7106
Estagiário do NPD - UFES
15 years, 8 months
Creating VMs on Fedora Dom0 using config files
by Marcel Damásio
Hello everybody!
I'm trying to create a Debian DomU on a Fedora Dom0.
I can't do this using virt-install and I don't know how to use config files
to create a VM on a Fedora Dom0 (I just know on Debian Dom0, using
xen-create-image script).
Could someone help me?
--
Marcel Damásio Moreira
9º período de Ciência da Computação - UFES
(27) 8128-7106
Estagiário do NPD - UFES
15 years, 8 months
Creating VMs on Fedora Dom0 using config files
by Marcel Damásio
Hello everybody!
I'm trying to create a Debian DomU on a Fedora Dom0.
I can't do this using virt-install and I don't know how to use config files
to create a VM on a Fedora Dom0 (I just know on Debian Dom0, using
xen-create-image script).
Could someone help me?
--
Marcel Damásio Moreira
9º período de Ciência da Computação - UFES
(27) 8128-7106
Estagiário do NPD - UFES
15 years, 8 months
Not enough RAM for domain 0 allocation.
by Luca
Hi all,
I'm using Fedora 8. I installed Xen and if I use a small initial root
filesystem everything works.
If I use a ramdisk bigger than 256M I get the following error
(XEN) ****************************************
(XEN) Panic on CPU 0:
(XEN) Not enough RAM for domain 0 allocation.
(XEN) ****************************************
My system has 3G of RAM.
Has anyone had the same problem?
Thanks,
Luca
15 years, 8 months
Booting xen kernel causes hardware reset
by sp4rc
Hello guys
I am running Fedora 9 x86_64 in conjunction with a softraid
installation. The system is patched to newest state possible (2. Aug)
If I install the kernel-xen.x86_64 package (version 2.6.25.3-2.fc9) and
try to boot into it the system simply resets itself. I cant see any
error message on the screen nor within /var/log/{messages,boot.log}
My processor is an Intel Q9450 which supports VT. I have tried to enable
and disable this technology without any change to the problem.
How can I go further? What would you suggest to debug this problem? Any
help on this odd issue is really appreciated.
/sp4rc
---------------------------------------------------------------------------
Here comes my systems hardware:
# cat /proc/cpuinfo
processor : {0,1,2,3}
vendor_id : GenuineIntel
cpu family : 6
model : 23
model name : Intel(R) Core(TM)2 Quad CPU Q9450 @ 2.66GHz
stepping : 7
cpu MHz : 1999.000
cache size : 6144 KB
physical id : 0
siblings : 4
core id : 0
cpu cores : 4
fpu : yes
fpu_exception : yes
cpuid level : 10
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge
mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe
syscall nx lm constant_tsc arch_perfmon pebs bts rep_good pni monitor
ds_cpl vmx smx est tm2 ssse3 cx16 xtpr sse4_1 lahf_lm
bogomips : 5337.17
clflush size : 64
cache_alignment : 64
address sizes : 36 bits physical, 48 bits virtual
power management:
---------------------------------------------------------------------------
---------------------------------------------------------------------------
# lspci
00:00.0 Host bridge: Intel Corporation 82X38/X48 Express DRAM Controller
00:01.0 PCI bridge: Intel Corporation 82X38/X48 Express Host-Primary PCI
Express Bridge
00:06.0 PCI bridge: Intel Corporation 82X38/X48 Express Host-Secondary
PCI Express Bridge
00:19.0 Ethernet controller: Intel Corporation 82566DM-2 Gigabit Network
Connection (rev 02)
00:1a.0 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI
Controller #4 (rev 02)
00:1a.1 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI
Controller #5 (rev 02)
00:1a.2 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI
Controller #6 (rev 02)
00:1a.7 USB Controller: Intel Corporation 82801I (ICH9 Family) USB2 EHCI
Controller #2 (rev 02)
00:1c.0 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express
Port 1 (rev 02)
00:1c.4 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express
Port 5 (rev 02)
00:1d.0 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI
Controller #1 (rev 02)
00:1d.1 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI
Controller #2 (rev 02)
00:1d.2 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI
Controller #3 (rev 02)
00:1d.7 USB Controller: Intel Corporation 82801I (ICH9 Family) USB2 EHCI
Controller #1 (rev 02)
00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev 92)
00:1f.0 ISA bridge: Intel Corporation 82801IR (ICH9R) LPC Interface
Controller (rev 02)
00:1f.2 RAID bus controller: Intel Corporation 82801 SATA RAID
Controller (rev 02)
00:1f.3 SMBus: Intel Corporation 82801I (ICH9 Family) SMBus Controller
(rev 02)
00:1f.6 Signal processing controller: Intel Corporation 82801I (ICH9
Family) Thermal Subsystem (rev 02)
01:00.0 VGA compatible controller: nVidia Corporation Quadro FX 1700
(rev a1)
05:06.0 FireWire (IEEE 1394): Agere Systems FW323 (rev 70)
05:07.0 Multimedia audio controller: Creative Labs SB Audigy (rev 04)
05:07.1 Input device controller: Creative Labs SB Audigy Game Port (rev
04)
05:07.2 FireWire (IEEE 1394): Creative Labs SB Audigy FireWire Port (rev
04)
---------------------------------------------------------------------------
---------------------------------------------------------------------------
# egrep -v '^#|^$' /boot/grub/grub.conf
default=1
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title Fedora (2.6.25.3-2.fc9.x86_64.xen)
root (hd0,0)
kernel /xen.gz-2.6.25.3-2.fc9.x86_64.xen
module /vmlinuz-2.6.25.3-2.fc9.x86_64.xen ro root=/dev/md2 rhgb quiet
module /initrd-2.6.25.3-2.fc9.x86_64.xen.img
title Fedora (2.6.25.11-97.fc9.x86_64)
root (hd0,0)
kernel /vmlinuz-2.6.25.11-97.fc9.x86_64 ro root=/dev/md2 rhgb quiet
initrd /initrd-2.6.25.11-97.fc9.x86_64.img
title Fedora (2.6.25.10-86.fc9.x86_64)
root (hd0,0)
kernel /vmlinuz-2.6.25.10-86.fc9.x86_64 ro root=/dev/md2 rhgb quiet
initrd /initrd-2.6.25.10-86.fc9.x86_64.img
---------------------------------------------------------------------------
15 years, 8 months
Creating multiple xen bridges
by Andy Burns
My machine has two NICs, with xen3.2.0 eth0 is renamed to peth0 and
enslaved to bridge eth0, I now want to use eth1 inside a domU, if I
manually create the eth1 bridge it all works fine, but I'd like the
"cleanest" way for it to be re-created after a reboot of dom0
I found the line in xend-config.sxp where it calls
(network-script network-bridge)
I changed it so that it was
(network-script network-bridge netdev=eth0)
(network-script network-bridge netdev=eth1)
expecting this would work, but after rebooting dom0, I still only get
the eth0 bridge, any suggestions for clean ways to add the second
bridge?
15 years, 8 months
kvm usb support
by Douglas Sikora
In a nutshell .. How do I enable usb support in a kvm host?
what I know so far ..
usb support can be enabled just like in qemu
(which I found was :
-usb enable the USB driver (will be the default soon)
-usbdevice name add the host or guest USB device 'name'
)
I created and launch this kvm host with virt manager --- I do not know
where to add these flags in virt manager to launch the host and could
not locate a command line for kvm to enable the usb support. Am I
missing something here?
I am using Fedora 9 (patched to latest) and my kvm host is blecckkkk ..
winxp (not going to go into why I need it but suffice it to say I need
it)
thanks for input in advance for this, I will continue to scour the web.
15 years, 8 months
[Xen-devel] State of Xen in upstream Linux
by Pasi Kärkkäinen
----- Forwarded message from Jeremy Fitzhardinge <jeremy(a)goop.org> -----
From: Jeremy Fitzhardinge <jeremy(a)goop.org>
To: Xen-devel <xen-devel(a)lists.xensource.com>,
xen-users(a)lists.xensource.com,
Virtualization Mailing List <virtualization(a)lists.osdl.org>
Cc:
Date: Wed, 30 Jul 2008 17:51:37 -0700
Subject: [Xen-devel] State of Xen in upstream Linux
Well, the mainline kernel just hit 2.6.27-rc1, so it's time for an
update about what's new with Xen. I'm trying to aim this at both the
user and developer audiences, so bear with me if I seem to be waffling
about something irrelevant.
2.6.26 was mostly a bugfix update compared with 2.6.25, with a few small
issues fixed up. Feature-wise, it supports 32-bit domU with the core
devices needed to make it work (netfront, blockfront, console). It also
has xen-pvfb support, which means you can run the standard X server
without needing to set up Xvnc.
I don't know of any bugs in 2.6.26, so I'd recommend you try it out for
all your 32-bit domU needs. It has had fairly wide exposure in Fedora
kernels, so I'd rank its stability as fairly high. If you're migrating
from 2.6.18-xen, then there'll be a few things you need to pay attention
to. http://wiki.xensource.com/xenwiki/XenParavirtOps should help, but
if it doesn't, please either fix it and/or ask!
2.6.27 will be a much more interesting release. It has two major
feature additions: save/restore/migrate (including checkpoint and live
migration), and x86-64 support. In keeping with the overall unification
of i386 and x86-64 code in the kernel, the 32- and 64-bit Xen code is
largely shared, so they have feature parity.
The Xen support seems fairly stable in linux-2.6.git, but the kernel is
still at -rc1, so lots of other things will tend to break. I encourage
you to try it out if you're comfortable with what's still a fairly high
rate of change.
My current patch stack is pretty much empty - everything has been merged
into linux-2.6.git - so it makes a good base for any changes you may have
Now that Xen can directly boot a bzImage format kernel, distros have a
lot of flexibilty in how they package Xen. A single grub.conf entry can
be used to boot either a native kernel (via normal grub), or a
paravirtualized Xen kernel (via pygrub), without modification.
Fedora 9's kernel-xen package has been based on the mainline kernel from
the outset, but it is still packaged as a separate kernel. kernel-xen
has been dropped from rawhide (what will become Fedora 10), and all Xen
support - both 32 and 64 bit - has been rolled into the main kernel
package.
So, what's next?
The obvious big piece of missing functionality is dom0 support. That
will be my focus in this next kernel development window, and I hope
we'll have it merged into 2.6.28. Some roadblock may appear which
prevents this (kernel development is always a bit uncertain), but that's
the current plan.
We're planning on setting up a xen.git on xen.org somewhere. We still
need to work out the precise details, but my expectation is that will
become the place where dom0 work continues, and I also hope that other
Xen developers will start using it as the base for their own Xen work.
Expect to see some more concrete details over the next week or so.
What can I do?
I'm glad you asked. Here's my current TODO list. These are mostly
fairly small-scale projects which just need some attention. I'd love
people to adopt things from this list.
x86-64: SMP broken with CONFIG_PREEMPT
It crashes early after bringing up a second CPU when preempt is
enabled. I think it's failing to set up the CPU topology properly,
and leaving something uninitialized. The desired topology is the
simplest possible - one core per package, no SMT/HT, no multicore,
no shared caches. It should be simple to set up.
irq balancing causes lockups
Using irq balancing causes the kernel to lock up after a while. It
looks like it's losing interrupts. It's probably dropping
interrupts if you migrate an irq beween vcpus while an event is
pending. Shouldn't be too hard to fix. (In the meantime, the
workaround is to make sure that you don't enable in-kernel irq
balancing, and you don't run irqbalanced.)
block device hotplug
Hotplugging devices should work already, but I haven't really tested
it. Need to make sure that both the in-kernel driver stuff works
properly, and that udev events are raised properly, scripts run,
device nodes added - and conversely for unplug. Also, a modular
xen-blockfront.ko should be unloadable.
net device hotplug
Similar to block devices, but with a slight extra complication. If
the driver has outstanding granted pages, then the module can't be
immediately unloaded, because you can't free the pages if dom0 has a
reference to them. My thought is to add a simple kernel thread
which takes ownership of unwanted granted pages: it would
periodically try to ungrant them, and if successful, free the page.
That means that netfront could hand ownership of those pages over to
that thread, and unload immediately.
Performance measurement and tuning
By design, the paravirt-ops-based Xen implementation should have
high performance. It uses batching where-ever possible, late
pin/early unpin, and all the other performance tricks available to a
Xen kernel. However, my emphasis has been on correctness and
features, so I have not extensively benchmarked or performance tuned
the code. There's plenty of scope for measuring both synthetic and
real-world benchmarks (ideally, applications you really care about),
and try to work out how things can be tuned.
One thing that has already come to light is a general regression in
context switch time compared to 2.6.18.8-xen. It's unclear where
it's coming from; a close look at the actual context switch code
itself shows that it should perform the same as 2.6.18-xen (same
number of hypercalls performed, for example).
This would be an excellent opportunity to become familiar with Xen's
tracing and performance measurement tools...
Balloon driver
The current in-kernel balloon driver only supports shrinking and
regrowing a domain up to its original size. There's no support for
growing a domain beyond that.
My plan is to use hotplug memory to add new memory to the system. I
have some prototype code to do this, which works OK, but the hotplug
memory subsystem needs some modifications to really deal with the
kinds of incremental memory increases that we need for ballooning
(it assumes that you're actually plugging in physical DIMMs).
The other area which needs attention is some sanity checking when
deflating a domain, to prevent killing the domain by stealing too
much memory. 2.6.18-xen uses a simple static minimum memory
heuristic based on the original size of the domain. This helps, but
doesn't really prevent over-shrinking a domain which is already
under memory pressure. A better approach might be to register a
shrinker callback, which means that the balloon driver can see how
much memory pressure the system is under by looking getting feedback
from it.
A more advanced project is to modify the kernel VM subsystem to
measure refault distance, which is how long a page is evicted before
being faulted back in again. That measurement can tell you how much
more memory you need to add to a domain in order to get the fault
rate below a given rate.
gdb gives bad info in a 64-bit domain
For some reason, gdb doesn't work properly. If you set a
breakpoint, the program will stop as expected, but the register
state will be wrong. Other users of the ptrace syscall, such as
strace, seem to get good results, so I'm not sure what's going on
here. It might be a simple fix, or symptomatic of a more serious
problem. But it needs investigation first.
My Pet Project
What's missing? What do you depend on? What's needed before you
can use mainline Xen as your sole Xen kernel?
Thanks,
J
15 years, 8 months