Guys. Let me share the information I got a day ago from Pry Mar (attachement). He did marvellous work on xen 4.6.1+ on ubuntu 16.04. Pls check his work, there are lot of issues there, and finally I have a working HVM STUBDOMAIN thx to him! 2016-03-30 16:58 keltezéssel, Dario Faggioli írta: > Cc-ing some tools, Qemu, and Stubdom/MiniOS people, and dropping xen- > users (Bcc-ed)... > > On Fri, 2016-03-25 at 18:53 +0100, Éliás Tamás wrote: >> Hi. >> >> Previously I was using debian 8 to compile my xen 4.6 with hvm >> stubdomain support. We recently switched to ubuntu servers, thus I >> needed to change my compilation environment not to have lib >> dependency >> issues. >> >> My problem is: I get the staging 4.6 xen >> (http://xenbits.xen.org/gitweb/?p=xen.git;a=snapshot;h=8e89d43867922a >> baa67e894938c655a6fa82affe;sf=tgz), >> installed all required prereqs for my compilaton environment, but >> during >> compilation I get errors (I do not get them using debian 8). I'm sure >> that all prereq is met, becasuse ./configure runs correctly, I'm >> using >> --enable-systemd --enable-stubdom ) >> >> Most of the problems could be solved by dirty hacks for myself, but I >> belive they require some attention of qemu/xen developers to make >> compilation work under ubuntu 16.04 out of the box: >> >> The first issue >> >> /usr/src/xen-staging-4.6/tools/qemu-xen-traditional-dir/vnc.c:2180: >> undefined reference to `gnutls_kx_set_priority' >> >> could be solved by applying these patches over the auto downloaded >> qemu >> sources: >> >> https://gitlab.com/johnth/aur-xen/raw/f9d0b40e240add9a136483a450c6a1b >> 39a685808/qemu-xen-traditional-gnutls-compilation.patch >> >> https://gitlab.com/johnth/aur-xen/raw/f9d0b40e240add9a136483a450c6a1b >> 39a685808/qemu-xen-traditional-gnutls-functions.patch >> >> after that I got >> >> vl.c:2784:5: error: ‘g_mem_set_vtable’ is deprecated >> [-Werror=deprecated-declarations] >> g_mem_set_vtable(&mem_trace); >> >> >> I had to apply >> >> https://lists.gnu.org/archive/html/qemu-devel/2015-09/msg01262.html >> >> which seemes that only partially been applied (has rejects), but >> after >> modifying the sources by hand, it seemes working. >> >> Just after this, Mini-OS failed to compile: >> >> Makefile:17: /config/MiniOS.mk: No such file or directory >> >> But, the MiniOS.mk DOES exists. >> >> I had to manually add >> >> XEN_ROOT=mysourcedir >> >> to mini-os/Config.mk to continue. and now I'm stuck here: >> >> gcc -mno-red-zone -O1 -fno-omit-frame-pointer -m64 -mno-red-zone >> -fno-reorder-blocks -fno-asynchronous-unwind-tables -m64 -g >> -fno-strict-aliasing -std=gnu99 -Wall -Wstrict-prototypes >> -Wdeclaration-after-statement -Wno-unused-but-set-variable >> -Wno-unused-local-typedefs -fno-stack-protector -fno-exceptions >> -DCONFIG_BLKFRONT -DCONFIG_TPMFRONT -DCONFIG_NETFRONT >> -DCONFIG_KBDFRONT >> -DCONFIG_FBFRONT -DCONFIG_CONSFRONT -DCONFIG_XENBUS -fno-builtin >> -Wall >> -Werror -Wredundant-decls -Wno-format -Wno-redundant-decls -Wformat >> -fno-stack-protector -fgnu89-inline -Wstrict-prototypes -Wnested- >> externs >> -Wpointer-arith -Winline -g -D__INSIDE_MINIOS__ -m64 -mno-red-zone >> -fno-reorder-blocks -fno-asynchronous-unwind-tables -isystem >> /usr/src/xen-staging-4.6/extras/mini-os/include -D__MINIOS__ >> -DHAVE_LIBC >> -isystem /usr/src/xen-staging-4.6/extras/mini-os/include/posix >> -isystem >> /usr/src/xen-staging-4.6/tools/xenstore/include -isystem >> /usr/src/xen-staging-4.6/extras/mini-os/include/x86 -isystem >> /usr/src/xen-staging-4.6/extras/mini-os/include/x86/x86_64 -U >> __linux__ >> -U __FreeBSD__ -U __sun__ -nostdinc -isystem >> /usr/src/xen-staging-4.6/extras/mini-os/include/posix -isystem >> /usr/src/xen-staging-4.6/stubdom/cross-root-x86_64/x86_64-xen- >> elf/include -isystem >> /usr/lib/gcc/x86_64-linux-gnu/5/include -isystem >> /usr/src/xen-staging-4.6/stubdom/lwip-x86_64/src/include -isystem >> /usr/src/xen-staging-4.6/stubdom/lwip-x86_64/src/include/ipv4 >> -I/usr/src/xen-staging-4.6/stubdom/include >> -I/usr/src/xen-staging-4.6/xen/include -isystem >> /usr/src/xen-staging-4.6/extras/mini-os/include -D__MINIOS__ >> -DHAVE_LIBC >> -isystem /usr/src/xen-staging-4.6/extras/mini-os/include/posix >> -isystem >> /usr/src/xen-staging-4.6/tools/xenstore/include >> -D__XEN_INTERFACE_VERSION__=0x00030205 -isystem >> /usr/src/xen-staging-4.6/extras/mini-os/include/x86 -isystem >> /usr/src/xen-staging-4.6/extras/mini-os/include/x86/x86_64 -c >> console/xenbus.c -o >> /usr/src/xen-staging-4.6/stubdom/mini-os-x86_64-grub/console/xenbus.o >> ld -r -d -nostdlib >> -L/usr/src/xen-staging-4.6/stubdom/cross-root-x86_64/x86_64-xen- >> elf/lib >> -m elf_x86_64 -\( /usr/src/xen-staging-4.6/stubdom/grub- >> x86_64/main.a >> app.lds -\) -L/usr/src/xen-staging-4.6/stubdom/libs-x86_64/toollog >> -whole-archive -lxentoollog -no-whole-archive >> -L/usr/src/xen-staging-4.6/stubdom/libs-x86_64/evtchn -whole-archive >> -lxenevtchn -no-whole-archive >> -L/usr/src/xen-staging-4.6/stubdom/libs-x86_64/gnttab -whole-archive >> -lxengnttab -no-whole-archive >> -L/usr/src/xen-staging-4.6/stubdom/libs-x86_64/call -whole-archive >> -lxencall -no-whole-archive >> -L/usr/src/xen-staging-4.6/stubdom/libs-x86_64/foreignmemory >> -whole-archive -lxenforeignmemory -no-whole-archive >> -L/usr/src/xen-staging-4.6/stubdom/libxc-x86_64 -whole-archive >> -lxenguest -lxenctrl -no-whole-archive -lpci -lz -lm --undefined main >> -o >> /usr/src/xen-staging-4.6/stubdom/mini-os-x86_64-grub/mini-os_app.o >> ld: warning: app.lds contains output sections; did you forget -T? >> ld: cannot find -lxentoollog >> ld: cannot find -lxenevtchn >> ld: cannot find -lxengnttab >> ld: cannot find -lxencall >> ld: cannot find -lxenforeignmemory >> Makefile:186: recipe for target >> '/usr/src/xen-staging-4.6/stubdom/mini-os-x86_64-grub/mini-os_app.o' >> failed >> make[2]: *** >> [/usr/src/xen-staging-4.6/stubdom/mini-os-x86_64-grub/mini-os_app.o] >> Error 1 >> make[2]: Leaving directory '/usr/src/xen-staging-4.6/extras/mini-os- >> remote' >> Makefile:455: recipe for target 'pv-grub' failed >> make[1]: *** [pv-grub] Error 2 >> make[1]: Leaving directory '/usr/src/xen-staging-4.6/stubdom' >> Makefile:106: recipe for target 'install-stubdom' failed >> make: *** [install-stubdom] Error 2 >> >> Can someone advise? >> >> So I belive, that these important patches / fixes are missing from >> xen >> version of qemu (at least prevents compiling it without hacks on >> newer >> systems) and also the mini-os port needs some polishing. Maybe ubuntu >> has newer build tools which ones causing some incompatibilities, I do >> not know. >> >> Is it possible fixing any of these problems? >> >> >> _______________________________________________ >> Xen-devel mailing list >> Xen-devel@lists.xen.org >> http://lists.xen.org/xen-devel >> >> >> _______________________________________________ >> Xen-users mailing list >> Xen-users@lists.xen.org >> http://lists.xen.org/xen-users -- Éliás Tamás Thomas Elias ETIT[nwpro] KFT, Ügyvezető-Hálózatbiztonsági specialista ETIT[nwpro] Ltd, General Manager-Network security specialist Tel. HU: +36/30-497-1626 Tel. DE: +49/160-651-8723 OpenPGP pubkey: http://etit.hu/doc/et-pub.asc Okleveles mérnök-informatikus (MSC) Master of Science in Information Technology (MSC) Kapcsolat: http://etit.hu/index.php/hu/kapcsolat Jogi nyilatkozat: http://etit.hu/disclaimer-email-hu.txt Contact: http://etit.hu/index.php/en/contact Disclaimer: http://etit.hu/disclaimer-email-en.txt