Instalando mídia de marca OEM do Windows Server 2008 em KVM

5

Problema

Eu tenho um servidor HP que veio com uma cópia OEM do Windows Server 2008. Instalei o CentOS 5.4 no hardware e estou tentando instalar o Windows Server 2008 como convidado KVM. Quando tento instalar o Windows Server 2008, ele reclama que estou tentando instalar em hardware não suportado. Esse problema é causado porque as informações do hardware SMBIOS não estão sendo transmitidas para o convidado KVM.

Plano de fundo

Antes de prosseguir, quero declarar que o que estou tentando fazer está dentro da licença. A HP oferece uma solução suportada para o VMWare, mas não possui uma solução oficial para o KVM. Depois de muita pesquisa, a plataforma que vou usar é CentOS e KVM, então não sugira outras plataformas.

Eu enviei um email para a lista de discussão dos desenvolvedores do KVM e recebi a informação de que isso é possível e recebi o conselho de que:

"You can dump SLIC table of your host bios and provide it to guest bios using -acpitable parameter."

Eu usei o dmidecode e obtive os parâmetros que precisam ser passados, mas não sei onde passar os parâmetros.

Atualizar

Parece que o CentOS 5.4 usa o virt-install em vez do qemu. O Qemu está no gerenciador de pacotes e eu consegui instalá-lo após desinstalar o qemu-img (eles conflitam e o qemu contém os pacotes no qemu-img). Então, agora eu sei como passar os parâmetros úteis, mas estou tendo problemas para mapear o que saiu do dmidecode para dentro do campo.

    
por rancidfishbreath 09.03.2010 / 16:57

5 respostas

0

você também pode precisar usar os drivers assinados do MS com o convidado do KVM. link link

Eu sei com certeza que os drivers fornecidos com o RHEV estão assinados, não tão certos sobre o CentOS

    
por 10.03.2010 / 21:55
11

Desculpe por desenterrar um tópico antigo, mas descobri que isso é possível:

O problema com a mídia de marca é que a VM do BIOS do KVM é fornecida com tabelas ACPI diferentes. O instalador, por outro lado, valida-o. No momento de escrever isto estou usando o Debian 8 com o virtlib 1.2.9 e o qemu-system-x86 1.7.0 (qemu-kvm).

Portanto, basta ter as tabelas ACPI ( dmidecode -t 0 e dmidecode -t 1 ) correspondentes na VM para executá-lo.

Essas tabelas para a Lenovo parecem:

# dmidecode 2.12
SMBIOS 2.8 present.

Handle 0x0000, DMI type 0, 24 bytes
BIOS Information
        Vendor: LENOVO
        Version: FBKTB4AUS
        Release Date: 07/01/2015
        Address: 0xF0000
        Runtime Size: 64 kB
        ROM Size: 6656 kB
        Characteristics:
                PCI is supported
                BIOS is upgradeable
                BIOS shadowing is allowed
                Boot from CD is supported
                Selectable boot is supported
                BIOS ROM is socketed
                EDD is supported
                5.25"/1.2 MB floppy services are supported (int 13h)
                3.5"/720 kB floppy services are supported (int 13h)
                3.5"/2.88 MB floppy services are supported (int 13h)
                Print screen service is supported (int 5h)
                8042 keyboard services are supported (int 9h)
                Serial services are supported (int 14h)
                Printer services are supported (int 17h)
                ACPI is supported
                USB legacy is supported
                BIOS boot specification is supported
                Targeted content distribution is supported
                UEFI is supported
        BIOS Revision: 1.180
        Firmware Revision: 1.13

# dmidecode 2.12
SMBIOS 2.8 present.

Handle 0x0001, DMI type 1, 27 bytes
System Information
        Manufacturer: LENOVO
        Product Name: 30AH001GPB
        Version: ThinkStation P300
        Serial Number: S4M88119
        UUID: CECF333D-6603-E511-97D5-6C0B843F98BA
        Wake-up Type: Power Switch
        SKU Number: LENOVO_MT_30AH
        Family: To be filled by O.E.M.

Para a HP:

# dmidecode 2.11                                                                                                                                                                   
SMBIOS 2.7 present.                                                                                                                                                                

Handle 0x0000, DMI type 0, 24 bytes                                                                                                                                                
BIOS Information                                                                                                                                                                   
        Vendor: HP
        Version: W07
        Release Date: 05/05/2011
        Address: 0xF0000
        Runtime Size: 64 kB
        ROM Size: 8192 kB
        Characteristics:
                PCI is supported
                PNP is supported
                BIOS is upgradeable
                BIOS shadowing is allowed
                ESCD support is available
                Boot from CD is supported
                Selectable boot is supported
                EDD is supported
                Print screen service is supported (int 5h)
                8042 keyboard services are supported (int 9h)
                Serial services are supported (int 14h)
                CGA/mono video services are supported (int 10h)
                ACPI is supported
                USB legacy is supported
                BIOS boot specification is supported
                Function key-initiated network boot is supported
                Targeted content distribution is supported
        Firmware Revision: 2.23

# dmidecode 2.11
SMBIOS 2.7 present.

Handle 0x0100, DMI type 1, 27 bytes
System Information
        Manufacturer: HP
        Product Name: ProLiant ML330 G6
        Version: Not Specified
        Serial Number: CZ104601XF      
        UUID: 30303734-3536-5A43-3130-343630315846
        Wake-up Type: Power Switch
        SKU Number: 470065-183      
        Family: ProLiant

Para a IBM:

# dmidecode 2.12
# SMBIOS entry point at 0x7f6be000
SMBIOS 2.5 present.

Handle 0x002F, DMI type 0, 24 bytes
BIOS Information
        Vendor: IBM Corp.
        Version: -[D6E154AUS-1.13]-
        Release Date: 09/23/2011
        Address: 0xE0000
        Runtime Size: 128 kB
        ROM Size: 4096 kB
        Characteristics:
                PCI is supported
                PNP is supported
                BIOS is upgradeable
                BIOS shadowing is allowed
                Boot from CD is supported
                Selectable boot is supported
                EDD is supported
                3.5"/2.88 MB floppy services are supported (int 13h)                                                                                                               
                Print screen service is supported (int 5h)                                                                                                                         
                8042 keyboard services are supported (int 9h)                                                                                                                      
                Serial services are supported (int 14h)                                                                                                                            
                CGA/mono video services are supported (int 10h)                                                                                                                    
                ACPI is supported                                                                                                                                                  
                USB legacy is supported                                                                                                                                            
                LS-120 boot is supported                                                                                                                                           
                ATAPI Zip drive boot is supported                                                                                                                                  
                Function key-initiated network boot is supported                                                                                                                   
                Targeted content distribution is supported                                                                                                                         
        BIOS Revision: 0.0                                                                                                                                                         
        Firmware Revision: 0.0                                                                                                                                                     

# dmidecode 2.12                                                                                                                                                                   
# SMBIOS entry point at 0x7f6be000                                                                                                                                                 
SMBIOS 2.5 present.                                                                                                                                                                

Handle 0x0030, DMI type 1, 27 bytes                                                                                                                                                
System Information                                                                                                                                                                 
        Manufacturer: IBM                                                                                                                                                          
        Product Name: System x3650 M3 -[7945J4G]-                                                                                                                                  
        Version: 00                                                                                                                                                                
        Serial Number: KD50NCR                                                                                                                                                     
        UUID: 49B2EFEE-5E45-3522-8FE3-C230FF137F25                                                                                                                                 
        Wake-up Type: Other
        SKU Number: XxXxXxX
        Family: System x

Eu tive que instalar a mídia da marca Windows 2012 Fundation da Lenovo no hardware da Lenovo.

Eu consegui adicionando aos parametros qemu:

-smbios type=1,manufacturer=LENOVO,product=30AH001GPB,version=ThinkStation P300,serial=S4M88119,uuid=cecf333d-6603-e511-97d5-6c0b843f98ba,sku=LENOVO_MT_30AH,family=P300 -acpitable file=/var/lib/libvirt/images/slic.bin -acpitable file=/var/lib/libvirt/images/msdm.bin

Ou adicionando ao arquivo xml da VM do libvirtd:

<domain type='kvm' id='18' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>
#                           ^^^ be aware of XML's namespace for the prefixes ^^^
#                               without it qemu:arg tag won't work
...
  <qemu:commandline>
    <qemu:arg value='-smbios'/>
    <qemu:arg value='type=0,vendor=LENOVO,version=FBKTB4AUS,date=07/01/2015,release=1.180'/>
    <qemu:arg value='-smbios'/>
    <qemu:arg value='type=1,manufacturer=LENOVO,product=30AH001GPB,version=ThinkStation P300,serial=S4M88119,uuid=cecf333d-6603-e511-97d5-6c0b843f98ba,sku=LENOVO_MT_30AH,family=P300'/>
    <qemu:arg value='-acpitable'/>
    <qemu:arg value='file=/var/lib/libvirt/images/slic.bin'/>
    <qemu:arg value='-acpitable'/>
    <qemu:arg value='file=/var/lib/libvirt/images/msdm.bin'/>
  </qemu:commandline>
</domain>

Há também uma maneira mais elegante de fazer isso, mas infelizmente meu libvirt não queria passar as tabelas ACPI para a VM:

<os>
....
<sysinfo type='smbios'>
 <bios>
  <entry name='vendor'>LENOVO</entry>
 </bios>
 <system>
  <entry name='manufacturer'>HP</entry>
  <entry name='product'>30AH001GPB</entry>
  <entry name='serial'>S4M88119</entry>
  <entry name='sku'>LENOVO_MT_30AH</entry>
 </system>
</sysinfo>
</os>

Como criar o despejo da tabela ACPI? Simplesmente:

root@node0:/sys/firmware/acpi/tables# ls -l
total 0
-r-------- 1 root root    146 Sep 23 13:44 APIC
-r-------- 1 root root    165 Sep 23 13:44 ASF!
-r-------- 1 root root     56 Sep 23 13:44 BGRT
-r-------- 1 root root     52 Sep 23 13:44 DBGP
-r-------- 1 root root    184 Sep 23 13:44 DMAR
-r-------- 1 root root  96238 Sep 23 13:44 DSDT
drwxr-xr-x 2 root root      0 Sep 23 13:44 dynamic
-r-------- 1 root root    268 Sep 23 13:44 FACP
-r-------- 1 root root     64 Sep 23 13:44 FACS
-r-------- 1 root root    156 Sep 23 13:44 FIDT
-r-------- 1 root root     68 Sep 23 13:44 FPDT
-r-------- 1 root root     56 Sep 23 13:44 HPET
-r-------- 1 root root 207330 Sep 23 13:44 LUFT
-r-------- 1 root root     60 Sep 23 13:44 MCFG
-r-------- 1 root root     85 Sep 23 13:44 MSDM
-r-------- 1 root root    374 Sep 23 13:44 SLIC
-r-------- 1 root root   1337 Sep 23 13:44 SSDT1
-r-------- 1 root root   2776 Sep 23 13:44 SSDT2
-r-------- 1 root root    877 Sep 23 13:44 SSDT3
-r-------- 1 root root  13608 Sep 23 13:44 SSDT4
root@node0:/sys/firmware/acpi/tables# cat SLIC > /var/lib/libvirt/images/slic.bin 

Ele funcionará para a mídia de marca do Windows 2008/2012. É muito importante verificar se esses argumentos foram transmitidos corretamente, verifique o log de entrada da VM: /var/log/libvirt/ vm_name .log . Execute alguma distro ao vivo na VM, por exemplo, sysresccd e verifique a saída de dmidecode -t 0; dmidecode -t 1 que deve corresponder à versão de hardware.

Como prof (o Windows 2012 Foundation AFAIK é apenas de marca):

    
por 23.09.2015 / 16:00
3

Extraia as tabelas SLIC da sua placa-mãe e role seus próprios seabios usando: link

    
por 07.04.2011 / 02:34
1

Infelizmente, a resposta que envolve os drivers assinados do Windows não reflete a ativação de OEM / SLP. Esses drivers podem melhorar o desempenho, mas a ativação do Windows OEM / SLP envolve estritamente os dados armazenados no BIOS, especificamente nas tabelas da ACPI.

Michael Tokarev foi capaz de fazer isso sozinho modificando a fonte para incluir a tabela SLIC em todo o formato da tabela, mas ele também menciona que isso pode ser feito usando várias opções para -acpitable ( link ). A mudança que ele fez na fonte simplesmente permitiu que ele incluísse uma tabela inteira da ACPI em vez de passar vários argumentos para incluir diferentes aspectos dela na linha de comando.

Eu estou olhando para isso agora como gostaria de implementar isso para fins de teste em algumas configurações em nosso escritório. Temos muitas máquinas OEM e podemos instalar bem em cada máquina, mas a virtualização oferece muitos benefícios para testes, bem como uma implantação muito rápida, portanto, gostaria de ver isso.

Eu gostaria do OP deste post, rancidfishbreath, o que ele extraiu do dmidecode, como ele formatou isso nas opções que ele deu kvm, etc. Se você puder adicionar qualquer entrada que os desenvolvedores deram a você sobre isso, eu apreciaria isso.

    
por 13.12.2010 / 21:52
0

Verifique o link

forneça informações do smbios no arquivo guest xml conf (/ etc / libvirt / qemu) que pode ser descartado usando o dmidecode

mais informações em: link

Funciona com meu win2k12

    
por 16.08.2013 / 12:44