BIOS DMI info change

Hi all,

How can I change the guest DMI table on a XEN host?
I need to change:

System manufacturer
System product
System version

I could not find any info about this matter. Can any one help a noob?


You may need to provide more specific details about what you are trying to do.
My initial reaction is that you may be trying to do something that’s better done in QEMU which offers a full emulation option where you can modify everything including the most basic hardware architecture.


Thanks for the reply.

I need a VM with a OEM PCI card passed through, capable of running windows NT3.51, NT4, Win2000 and so on. The later software I use, looks at those 3 DMI table strings to automatically generate and run an automatic, (unattended) installation.


PCI Pass through. The following probably addresses what you’re looking for if you’re launching your Guests from the CLI

If you’re using vm manager,
In the Guest Properties, you can add a PCI Pass through as a hardware option.


Fortunately I already successfully managed the PCI passthrough part. I got it working on XEN.

What I really need help with, is the bios DMI change. I don’t know where and how to change it.

It’s been awhile since I’ve worked with the type of hardware I think you’re describing…
With some after-market disk controller cards, they actually modify the BIOS of the hardware they’re running on.

But, if this is your situation it should not in any way affect your Guests… Only the BIOS of the Host is modified. And then it provides a foundation for the virt technology used to deploy Guests… So you <do not> pass through to Guests unless for some reason you really want to configure real mode (raw) access to storage. More often, virtual storage pools are configured on top of physical storage removing any kind of need for the Guests to know what is happening at the physical level.

If your situation is different, you’ll have to describe in detail what your setup is and what you’re trying to do, even naming Vendors of the hardware you may be using (if it’s relevant).


I can’t explain myself very well…
Do you know dmidecode?
The software I need to install looks at “system-manufacturer, system-product-name, system-version” to determine if the computer is a valid one to install.
It’s very strange that no info is found for XEN about this matter because I manage to change these strings on:
microsoft virtual pc 2007
Virtualbox very easy!

How can I do the same with XEN? There must be a way!

I see why you need the special BIOS.

Did a little looking around…
Xen documentation and references to DMI more or less copy what is described in the following link. Note that it only describes how to copy a BIOS, so if you have a distributed or working copy then it should work for you. If you have to manually modify, I guess you’ll have to look at what exactly is imported, if it’s text or can be manipulated with a utility then maybe… otherwise you may have to search further.
Citrix Systems - Virtualization, Networking and Cloud. Simplified.

Another possible option is that there is apparently a libvirt capability, in fact a couple years ago there was some kind of conflict about whether to include dmiencode in stock libvirt or not. I wasn’t able to dig up much on this, but you should verify dmiencode is installed when trying libvirt.

If you’re not familiar with libvirt aka vm manager, virt-manager, etc. it’s a cross-technology virtualization manager which offers a set of graphical tools (like I listed) and a set of command line tools (virsh). Today, it’s supposed to support all virtualization technologies to some degree although the current openSUSE implementation supports only Xen and KVM (well) and LXC (well, it’s supposed to. I haven’t been able to get it to do anything right yet). What might interest you is that the entire libvirt architecture is based on XML configs which means that modifying the BIOS strings should be nearly trivial.