Crafting an SLIC BIOS for Linux KVM Guests

Discussion in 'Virtualization' started by Katia Mercaro, Apr 30, 2012.

  1. Katia Mercaro

    Katia Mercaro MDL Novice

    Apr 30, 2012
    1
    7
    0
    #1 Katia Mercaro, Apr 30, 2012
    Last edited by a moderator: Apr 20, 2017
  2. lustich

    lustich MDL Novice

    Dec 3, 2010
    16
    2
    0
    #2 lustich, Feb 10, 2013
    Last edited: Feb 10, 2013
    I'm getting so many errors when trying to this, I don't even know where to start reporting :(

    My host is now filled up with masses of useless non-working files, patches and downloads and results from partially running scripts, giving even more funny errors when trying to compile anything and i got no clue what to delete.

    I tried all the ways i could find on mdw, and none was even close to working. Is there any downloadable ready and current bios file?
     
  3. jackydany

    jackydany MDL Novice

    Mar 21, 2013
    1
    0
    0
    Hi,

    little question :D

    Can you tell me what exactly to change in patch.sh ?
    What to delete and what to add?

    Thanks in advance!

    jackydany
     
  4. sonnym

    sonnym MDL Novice

    May 4, 2012
    2
    1
    0
    #6 sonnym, Apr 18, 2013
    Last edited by a moderator: Apr 20, 2017
    jackdany,

    Pull the SLIC tables from post forums.mydigitallife.net/threads/5952-Win-7-amp-Server-08-R2-SLIC-2-1-Bin-Collection [moderator: please fix URL], and change the /sys/firmware directory to the SLIC blob from the file.

    See a diff:

    Code:
    [sonny@system seaslic]$ diff -puN patch.sh.orig patch.sh
    --- patch.sh.orig    2013-04-17 20:16:24.334712685 -0400
    +++ patch.sh    2013-04-17 20:22:49.572763418 -0400
    @@ -24,7 +24,7 @@ echo
     
     
     # dump the slic table from the computer (note: requires root)
    -sudo xxd -i /sys/firmware/acpi/tables/SLIC | grep -v len | sed 's/unsigned char.*/static char SLIC[] = {/' > seabios.submodule/src/acpi-slic.hex
    +sudo xxd -i <path to the SLIC blob> | grep -v len | sed 's/unsigned char.*/static char SLIC[] = {/' > seabios.submodule/src/acpi-slic.hex
     
     echo
     echo $HEADER
    
    Build your BIOS, load your VM with it and register it with the "Windows 7 Repository". Worked like a charm to me.

    Good luck.
     
  5. sonnym

    sonnym MDL Novice

    May 4, 2012
    2
    1
    0
    Lustich,

    Followed line by line and it just worked. Glad that the links are not broken, even after a year.
     
  6. xkey

    xkey MDL Novice

    Jun 29, 2007
    2
    0
    0
    Anyone got this working recently on Ubuntu 14.04?
    Somehow, the BIOS loaded is not reflected in guest VM
     
  7. Tito

    Tito Super Mod / Adviser
    Staff Member

    Nov 30, 2009
    18,681
    18,589
    340
  8. xkey

    xkey MDL Novice

    Jun 29, 2007
    2
    0
    0
    thanks, Tito.

    Your signature has two well informed posts. But I still not getting it. For win7 dell machine, there is only SLIC, not MSDM table. Also, is bios.bin is still required? tried qemu 2.0, with SLIC dumped. Somehow it didn't work.
     
  9. fbifido

    fbifido MDL Member

    Jun 6, 2007
    199
    26
    10
    SeaBIOS 1.9.0
    ==========
    Available on 20151117. Major changes in this release:
    The default boot menu key is now the ESC key (instead of F12)
    Initial support for Trusted Platform Module (TPM) hardware and BIOS calls
    Initial support for chain loading SeaBIOS from Grub (via multiboot support)
    Initial support for booting from SD cards on real hardware
    virtio 1.0 device support
    The build will no longer include the build hostname or build time on "clean" builds. This makes the build binaries more "reproducible".
    Basic support for running SeaBIOS on Baytrail Chromebooks
    SeaVGABIOS improvements: Improved support for old versions of x86emu (the "leal" instruction is now emulated)

    Several bug fixes and code cleanups


    SeaBIOS 1.8.0
    ==========
    Available on 20150218. Major changes in this release:
    Several USB timing fixes for USB controllers on real hardware
    Initial support for USB3 hubs
    Initial support for SD cards (on QEMU only)
    Initial support for transitioning to 32bit mode using SMIs (on QEMU TCG only)
    SeaVGABIOS improvements Added cursor emulation to coreboot native init vgabios (cbvga)
    Added support for read character calls when in graphics mode

    Developer documentation added to "docs/" directory in the code repository and several documentation updates
    Several bug fixes and code cleanups

    As of the 1.8.0 release, new feature releases will modify the first two release numbers (eg, 1.8) and stable releases will use three numbers (eg, 1.8.1). The prior behavior of using a forth number (eg, 1.7.5.1) for stable releases will no longer be used.



    Any new patch for SEABIOS 1.9.0 ?
     
  10. nexus76

    nexus76 MDL Addicted

    Jan 25, 2009
    788
    300
    30
    #12 nexus76, Jan 22, 2016
    Last edited by a moderator: Apr 20, 2017
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  11. fbifido

    fbifido MDL Member

    Jun 6, 2007
    199
    26
    10
    #13 fbifido, Jan 24, 2016
    Last edited: Jan 24, 2016
    How can we make it permanent for all VM,
    does KVM and other seabios base Linux hypervisors have a default config file for all VMs, we can modify.

    Thanks.
     
  12. sebus

    sebus MDL Guru

    Jul 23, 2008
    6,356
    2,026
    210
    No, you do it for each VM