XEN: Vmxassist
Last update : Friday the 3rd of February 2012
maintained by:
Guillaume Thouvenin
Table of Contents [Back to main menu]
The first step is to provide an assembler and a linker for real mode 80x86 instructions in order to build the BIOS code. They are provided by the dev86 package.
[...skip...] make[3]: Entering directory `/home/guill/build/dev86-0.16.17/elksemu' cc -O -c -o elks.o elks.c elks.c:18:22: sys/vm86.h: No such file or directory elks.c: In function `elks_init': elks.c:37: error: invalid use of undefined type `struct vm86_struct' elks.c:38: error: invalid use of undefined type `struct vm86_struct' elks.c:38: error: `CPU_286' undeclared (first use in this function) elks.c:38: error: (Each undeclared identifier is reported only once elks.c:38: error: for each function it appears in.) elks.c:42: error: invalid use of undefined type `struct vm86_struct' elks.c:42: error: invalid use of undefined type `struct vm86_struct' elks.c:42: error: invalid use of undefined type `struct vm86_struct' elks.c:42: error: invalid use of undefined type `struct vm86_struct' elks.c:42: error: invalid use of undefined type `struct vm86_struct' elks.c:42: error: invalid use of undefined type `struct vm86_struct' elks.c:42: error: invalid use of undefined type `struct vm86_struct' elks.c:42: error: invalid use of undefined type `struct vm86_struct' elks.c:42: error: invalid use of undefined type `struct vm86_struct' elks.c:42: error: invalid use of undefined type `struct vm86_struct' elks.c: In function `elks_take_interrupt': elks.c:64: error: invalid use of undefined type `struct vm86_struct' elks.c: In function `load_elks': elks.c:101: error: invalid use of undefined type `struct vm86_struct' elks.c:102: error: invalid use of undefined type `struct vm86_struct' elks.c:103: error: invalid use of undefined type `struct vm86_struct' elks.c:104: error: invalid use of undefined type `struct vm86_struct' elks.c:105: error: invalid use of undefined type `struct vm86_struct' elks.c:106: error: invalid use of undefined type `struct vm86_struct' elks.c:111: error: invalid use of undefined type `struct vm86_struct' elks.c:114: error: invalid use of undefined type `struct vm86_struct' elks.c: In function `vm86_mine': elks.c:133: warning: cast from pointer to integer of different size elks.c: In function `run_elks': elks.c:154: error: `VM86_SIGNAL' undeclared (first use in this function) elks.c:156: error: `VM86_UNKNOWN' undeclared (first use in this function) elks.c:159: error: `VM86_INTx' undeclared (first use in this function) elks.c:162: error: `VM86_STI' undeclared (first use in this function) elks.c: In function `build_stack': elks.c:197: error: invalid use of undefined type `struct vm86_struct' elks.c:205: error: invalid use of undefined type `struct vm86_struct' elks.c:205: error: invalid use of undefined type `struct vm86_struct' elks.c:206: error: invalid use of undefined type `struct vm86_struct' elks.c:212: error: invalid use of undefined type `struct vm86_struct' elks.c:220: error: invalid use of undefined type `struct vm86_struct' elks.c: At top level: elks.c:26: error: storage size of `elks_cpu' isn't known make[3]: *** [elks.o] Error 1 make[3]: Leaving directory `/home/guill/build/dev86-0.16.17/elksemu' make[2]: *** [elksemu] Error 2 make[2]: Leaving directory `/home/guill/build/dev86-0.16.17' make[1]: *** [all] Error 2 make[1]: Leaving directory `/home/guill/build/dev86-0.16.17' make: *** [all] Error 2Here is a fix provided by Robert de Bath:
" No problem, that just 'elksemu' a program to allow you to run 16 bit executables on 32 bit linux. The attached patch file disables it for 64 bit linux, the rest of dev86 should run fine. The only small issues happen for the C compiler which will do some calculations in 64bit when it should be doing them with only 32bits."
The patch can be downloaded here
Now we can build domain firmeware support tools.
To compile Xen we choose to seperate the dom0 and domU kernels. To achieve this we just use the following command:
make KERNELS="linux-2.6-xen0 linux-2.6-xenU"