Sincere Thanks I see that nobody has replied to your post, but I just wanted to you know that I REALLY REALLY do appreciate you sharing information like this! It's been really difficult finding information about the Xen-related modifications. Again, thank you!
I've successfully injected the HPQOEM SLIC 2.1 into the XenServer 5.5.0 Update 2 hvmloader (tested with Windows 7 x64) , I'll be posting the information/file into the Virtualization forum later today once I have a bit of time.
Working hvmloader with ASUS SLIC 2.1 for Centos 5.5 Some OS information: # cat /etc/redhat-release CentOS release 5.5 (Final) # uname -a Linux acid-notebook.acisco.org 2.6.18-194.3.1.el5xen #1 SMP Thu May 13 14:27:32 EDT 2010 i686 i686 i386 GNU/Linux # rpm -qa | grep xen kernel-xen-2.6.18-194.8.1.el5 xen-libs-3.0.3-105.el5_5.3 kernel-xen-2.6.18-194.3.1.el5 xen-3.0.3-105.el5_5.3 Link to downlod modified hvmloader and certificate v. 2.1 for ASUS: xttp://rapidshare.com/files/406446518/hvmloader-slic.zip MD5: 73DE4F5DEC8A4B2A4302F179DBCE2629
Instructions in first post worked great for me for Win7 x64 running under xen-4.0.0 on Gentoo linux. Had to tweak the patch file slightly, since there's an extra line in the file being patched in this version of xen. I also used the SLIC from my host machine rather than the one provided in the attachment, so had to change oemid & oemtableid appropriately too. For other gentoo users, it's the app-emulation/xen-tools package you'll want to patch, not the plain xen one, since this one is where hvmloader is compiled/installed from. You can use the ebuild tool in gentoo to extract and compile the source as part of the process.
sticking this thread so that it stays near the top because this is great info for people running Xen.
Which modification is needed for the patch to work on xen-4.0.0 ? Im on Debian Squeeze, the first hunk fails, probably because slic.h is missing? Fixed it. You grab the xen sources, like Code: apt-get source xen-tools whichever version you use. Then get all the dependencies: Code: apt-get build-dep xen-tools so you can actually build the thing. Next, get the build stuff if you don't have it. Theese are always good to have: Code: apt-get install kernel-package build-essential Then get to ur xen source, xen-4.0.0/tools/firmware/hvmloader/acpi/ and start messing with inserting a slic the REAL way. Start with slic.h. slic.h is a file, consisting of a simple c data file, with the slic bin inside it. The BIN is a regular BIOS modding bin, as it just contains the SLIC. Code: xxd -i ~/HPQOEM.SLIC-CPC.bin | grep -v len | sed 's/unsigned char.*/unsigned char SLIC[] = {/' > slic.h This created the slic file for make. Next, you need to set the marker etc in the acpi2 file, in the OEM fields Code: sed -i -e 's/#define ACPI_OEM_ID.*"Xen"/#define ACPI_OEM_ID "HPQOEM"/' acpi2_0.h sed -i -e 's/#define ACPI_OEM_TABLE_ID.*"HVM"/#define ACPI_OEM_TABLE_ID "SLIC-CPC"/' acpi2_0.h #this will work, but manual editing will work too - mind this, you might need to set the creator too, if you take a slic with creator data So get a bunch of bins from the pages on this forum, stick it in the slic.h header file, and make sure to edit the acpi2_0.h header as well. Next, create the function that actually creates the table; Code: /* SLIC */ memcpy(&buf[offset], SLIC, sizeof(SLIC)); table_ptrs[nr_tables++] = (unsigned long)&buf[offset]; offset += align16(sizeof(SLIC)); Which is in build.c and as such file is just a source file, you can edit it by hand. Patch files are nice, manual handiwork is better. The code is supposed to be inside the function "construct_secondary_tables" at the end, just before: Code: table_ptrs[nr_tables] = 0; return align16(offset); Now, this is simple, just go to the xen source root of your distro, and do a 'make tools'. For me that failed after xc couldn't build something python related, but that doesn't matter, you only need the hvmloader. It's in dist/install/usr/lib/xen-/boot. Copy it somewhere, and load your HVM guests up with it, and you have a BIOS with a SLIC 2.1. ! []hxxp://image.bayimg.com/mabehaadd.jpg[] I actually had some information found on a random italian forum [hxxp://forum.italianzone.eu/software-sistemi-operativi-programmazione-36/howto-adding-slic-table-xenserver-hvms-12778/?langid=1] which explained a few of the manual actions. Now, I don't speak italian, and I can't translate, but you can see from the code how it works. If I find the time, or if someone has a question, I can make a more elaborate how-to.
doesn't work for me first of all, I would like to thank you for your detailed post. I have a few questions... you ment: xen, not xen-tools right? My actual problem: when i try to build the whole thing, i get the following error: Code: build.c: In function âconstruct_secondary_tablesâ: build.c:241: error: âSLICâ undeclared (first use in this function) build.c:241: error: (Each undeclared identifier is reported only once build.c:241: error: for each function it appears in.) make[8]: *** [build.o] Error 1 241 is the newly inserted line I just don't know where I should have declared SLIC...
@fagus: did you insert the following line in 'build.c': Code: #include "slic.h" Thats needed to include the file correctly.
I have followed the instructions and created hvmloader.slic. It compiled fine, etc. When I use it as the kernel for the hvm it will boot okay, and with a Server 2008 R2 setup CD, I see the first "Windows is loading files" part, and the progress bar but at the point where it is about to load the graphical setup, I just get a black screen. With the standard hvmloader it boots okay, and loads setup. Any ideas? Debian Squeeze, Xen 4.0.1.
спасибо большое за пост использую CentOS: cat /etc/redhat-release CentOS release 5.7 (Final) вывод xentop: xentop - Xen 3.1.2-274.18.1.el5 сырцы зена скачал с: hххp://vault.centos.org/ мои из 5.7 пакет: hxxp://vault.centos.org/5.7/updates/SRPMS/xen-3.0.3-132.el5_7.2.src.rpm то, что пришлось доставить для компиляции: yum install transfig yum install libidn-devel yum install zlib-devel yum install texi2html yum install SDL-devel yum install curl-devel yum install libX11-devel yum install python-devel yum install tetex-latex yum install tetex-latex yum install ncurses-devel yum install gtk2-devel yum install libaio-devel yum install stubs-32 yum install glibc-devel yum install glibc-devel yum install pciutils-devel yum install e4fsprogs-devel yum install xz-devel yum install bzip2-devel автором предложен архив в котором нет самого бинарника(слика), взял его отдельно на базе предложенной статьи всё получилось успешно, но не понял только как и где взять правильный XSDT RSDT если я не хочу использовать от HP sed -i -e 's/#define ACPI_OEM_ID.*"Xen"/#define ACPI_OEM_ID "HPQOEM"/' acpi2_0.h sed -i -e 's/#define ACPI_OEM_TABLE_ID.*"HVM"/#define ACPI_OEM_TABLE_ID "SLIC-CPC"/' acpi2_0.h извините но с английским очень плохо
This has changed slightly in xen 4.1: The code to insert in build.c is: Code: /* SLIC */ unsigned char *slc; slc = mem_alloc(sizeof(SLIC), 16); if (!slc) return -1; memcpy(slc, SLIC, sizeof(SLIC)); table_ptrs[nr_tables++] = (unsigned long)slc; and it should be placed in the construct_secondary_tables function just above: Code: table_ptrs[nr_tables] = 0; return nr_tables; Actually, I declared the variable slc at the start of the construct_secondary_tables function, but that should not matter. The rest of the instructions should remain the same. Don't forget to add #include "slic.h".
Hiho, here is a working hvmloader with dell slic 2.1 for Debian Squeeze and Xen 4.0.1. bayimg.dot.com/caaJaaaeF datafilehost.dot.com/download-634615a0.html
Hello, everyone! This is my first time posting here, so I thought I'd make it good! I noticed that no one has posted an up-to-date hvmloader yet, so I've decided to post the one I just compiled. I built it on Ubuntu 12.04 using the Xen 4.1.3 source tarball. This file is tested to (mostly) work on Xen Cloud Platform 1.6 (build 61002c) with Xen 4.1.3. I have no idea about any other operating systems, but it should just be a drop-in replacement for any Xen installation that's using Xen 4.1.3. I used a Dell SLIC 2.1 table so you'll need a Dell SLIC certificate, but those are easy to find. Here's the link to the file: bit.cur.lv/hvmloader Current issues: VM shutdown does not always work properly, so a forced shutdown may be required in those instances. The CPU sometimes spontaneously gets reported as "unplugged".
Is anyone maintaining this still? I would be interested in a slic 2.2 bios for xen to use with server 2012; i'm using XCP 1.6 It was done with a Dell bios for VMware here forums.mydigitallife.net/threads/36721-Windows-Server-2012-OEM-SLP-keys/page3