Win2016+SLIC2.4+SeaBIOS+SLIC_ToolKit_V3.2

Discussion in 'Windows Server' started by dalco, Nov 5, 2016.

  1. lovemini

    lovemini MDL Novice

    Apr 1, 2013
    7
    1
    0
    the key is copy from other forum,i do not know it is a fake key
     
  2. dhjohns

    dhjohns MDL Guru

    Sep 5, 2013
    3,262
    1,731
    120
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  3. Threat

    Threat Lord of the Files

    Feb 23, 2014
    1,063
    871
    60
  4. yoda89

    yoda89 MDL Novice

    Jul 29, 2009
    45
    4
    0
    Of course it works but it's a fake key : it could be blacklisted by Microsoft...

    If someone gets a new Dell/HP/Lenovo... server with Windows Server 2016 installed, please ask us to confirm if there's an OEM key inside.

    There's absolutely no risk for you because the key is generic.
     
  5. woodyth

    woodyth MDL Novice

    Jul 15, 2009
    29
    2
    0
    Where can I get an Bios update SLIC 2.4 for Dell PE2950?

    Thank you
     
  6. fbifido

    fbifido MDL Member

    Jun 6, 2007
    199
    26
    10
    a) Can you share how you patch the SeaBIOS 1.9.3 with Dell SLIC 2.4 ?
    b) Can you share how did you recompile seabios from scratch ?

    Thanks.
     
  7. dalco

    dalco MDL Novice

    Apr 26, 2010
    31
    18
    0
    Well, may be tomorrow. It will be long text. :)
     
  8. dalco

    dalco MDL Novice

    Apr 26, 2010
    31
    18
    0
    #31 dalco, Nov 12, 2016
    Last edited by a moderator: Apr 20, 2017
    (OP)
    Patching SeaBIOS Part II (Patching)

    Basically we must create hex-file with SLIC and add SLIC-support in acpi.c in /surgery/seabios-1.9.3/src/fw

    Part II a
    (If your hardware BIOS already has correct SLIC)

    Than go to root
    [userid@hostname ~]$ su -

    extract SLIC
    [root@hostname ~]$ xxd -i /sys/firmware/acpi/tables/SLIC | grep -v len | sed 's/unsigned char.*/static char SLIC[] = {/' > acpi-slic.hex

    Copy acpi-slic.hex to your profile:
    [root@hostname ~]$ cp acpi-slic.hex /home/<YOUR_LOGIN_NAME>/surgery/seabios-1.9.3/src/fw

    and exit from root...
    [root@hostname ~]$ exit

    go to Part II c

    Part II b (If your bios has not correct fresh SLIC table)

    Than create acpi-slic.hex file from slic.bin file
    [userid@hostname ~]$ xxd -i slic.bin | grep -v len | sed 's/unsigned char.*/static char SLIC[] = {/' > acpi-slic.hex

    And copy it to sources
    [userid@hostname ~]$ cp acpi-slic.hex ./surgery/seabios-1.9.3/src/fw

    Part II c (adding SLIC support to acpi.c)

    Go to firmware catalog
    [userid@hostname ~]$ cd ./surgery/seabios-1.9.3/src/fw

    Create with any text editor file slicpatch

    content of slicpatch
    Code:
    --- ./acpi.c    2016-07-01 18:02:12.000000000 +0600
    +++ ./acpi.c    2016-11-05 10:36:59.000000000 +0700
    @@ -24,6 +24,11 @@
     
     #include "src/fw/acpi-dsdt.hex"
     
    +#define CONFIG_OEM_SLIC
    +#ifdef CONFIG_OEM_SLIC
    +#include "acpi-slic.hex"
    +#endif
    +
     static void
     build_header(struct acpi_table_header *h, u32 sig, int len, u8 rev)
     {
    @@ -36,6 +41,10 @@
         h->oem_revision = cpu_to_le32(1);
         memcpy(h->asl_compiler_id, BUILD_APPNAME4, 4);
         h->asl_compiler_revision = cpu_to_le32(1);
    +    #ifdef CONFIG_OEM_SLIC
    +    if (sig == RSDT_SIGNATURE) // only RSDT is checked by win7 & vista
    +    memcpy(h->oem_id, ((struct acpi_table_header*)SLIC)->oem_id, 14);
    +    #endif
         h->checksum -= checksum(h, len);
     }
     
    @@ -619,6 +628,17 @@
         ACPI_INIT_TABLE(build_madt());
         ACPI_INIT_TABLE(build_hpet());
         ACPI_INIT_TABLE(build_srat());
    +    #ifdef CONFIG_OEM_SLIC
    +    { void *buf = malloc_high(sizeof(SLIC));
    +      if (!buf)
    +        warn_noalloc();
    +      else {
    +        memcpy(buf, SLIC, sizeof(SLIC));
    +        ACPI_INIT_TABLE(buf);
    +      }
    +    }
    +    #endif
    + 
         if (pci->device == PCI_DEVICE_ID_INTEL_ICH9_LPC)
             ACPI_INIT_TABLE(build_mcfg_q35());
    
    
    Than patch acpi.c:

    [userid@hostname ~]$ cp acpi.c acpi.c.original

    [userid@hostname ~]$ patch -p0 <slicpatch
     
  9. dalco

    dalco MDL Novice

    Apr 26, 2010
    31
    18
    0
    Patching SeaBIOS Part III (Compiling)

    return to home catalog
    userid@hostname ~]$ cd

    Delete original packed sources:
    [userid@hostname ~]$ rm ./rpmbuild/SOURCES/seabios*

    Pack patched sources:
    [userid@hostname ~]$ cd surgery

    [userid@hostname ~]$ tar czf seabios-1.9.3.tar.gz seabios-1.9.3


    Move packed sources to build catalog:
    [userid@hostname ~]$ cd

    [userid@hostname ~]$ mv ./surgery/*.tar.gz ./rpmbuild/SOURCES


    Run compiler:
    [userid@hostname ~]$ cd ./rpmbuild/SPECS

    [userid@hostname ~]$ rpmbuild -ba seabios.spec


    Return to home:
    [userid@hostname ~]$ cd

    Now in ./rpmbuild/RPMS/noarch we have patched SeaBIOS RPMs. And from ./rpmbuild/BUILD/seabios-1.9.3/binaries we can take patched bin files (bios.bin & bios-256k.bin)

    Thats all...
     
  10. AlanDS

    AlanDS MDL Novice

    Feb 6, 2017
    1
    0
    0
    #35 AlanDS, Jan 3, 2018
    Last edited: Jan 5, 2018
    Any Idea how to activate Win2016Std version using Dell key on Proxmox 5.1 using SeaBios?
    I am running proxmox on Debian.

    EDIT:
    Never Mind. I have done it myself. It was much easier than expected. No patching required.
     
  11. mysy

    mysy MDL Novice

    Nov 14, 2010
    5
    2
    0
    Anyone could share hpe gen9 slic2.4 bin ?