[vbox-dev] Code Submission: Enhanced BIOS settings for better Windows support

Hans Holzer hans.holzerr at googlemail.com
Fri May 2 16:39:14 GMT 2008


---------- Forwarded message ----------
Hi all,

the following code submission is published under the MIT license.

OEM versions of Windows XP and Windows Vista rely on certain settings
in the BIOS dmi or ACPI area. The following code submission provides
the capability to perform certain string values in environment
variables. In this way for example a manufacturer name can be set or
slic file can  be attached to the BIOS. So it is possible to use an
OEM version of Windows XP or Windows Vista as guest without the
further need for activation. This makes the use of such guests much
more convenient.

The following list of environment variables is supported:
set VBOX_BIOS_RSDT_OEMID="ABCD  "
set VBOX_BIOS_RSDT_OEMTABLEID="B8K    "
set VBOX_BIOS_XSDT_OEMID="ABCD  "
set VBOX_BIOS_XSDT_OEMTABLEID="B8K    "
set VBOX_BIOS_DMI_VENDOR=ACME INC.
set VBOX_BIOS_DMI_VERSION=1111
set VBOX_BIOS_DMI_RELEASEDATE=01/01/2002
set VBOX_BIOS_DMI_MANUFACTURER="Acme Inc."
set VBOX_BIOS_DMI_PRODUCTNAME="ACME XYZ000"
set VBOX_BIOS_DMI_VERSION2=1.2
set VBOX_BIOS_DMI_SERIALNUMBER=123456
set VBOX_BIOS_DMI_UUID=Your-GUID-here
set VBOX_BIOS_DMI_FAMILY=Tower
set VBOX_BIOS_SLIC_FILENAME=c:\temp\slic.bin

if VBOX_BIOS_XSDT_OEMTABLEID or VBOX_BIOS_XSDT_OEMID are not set then
the value of VBOX_BIOS_RSDT_OEMTABLEID or VBOX_BIOS_RSDT_OEMID is
used.
If a variable is not set the hard coded default is used. So the
default behavior remains unchanged.

Implementation notes:
Ideally these settings would have been made in the XML configuration
files of a virtual machine and not in environment variables. But it
appeared that the design of the configuration is not very flexible. An
extension would have required to change a couple of internal COM
interfaces and would have required to change numerous source files.
Providing environment variables is still portable and was much easier.

I tested the code change only in Windows as host system, but it should
work under UNIX systems as well.

As some OEM versions of Windows XP rely on a specific memory address
for a string not all OEM versions of Windows XP will work.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: BiosEnhancements.zip
Type: application/zip
Size: 28910 bytes
Desc: not available
URL: <http://www.virtualbox.org/pipermail/vbox-dev/attachments/20080502/5fe87f1d/attachment.zip>


More information about the vbox-dev mailing list