Current-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Call for testing: Xen 4.0



 

 

I'd did the following with the XEN 4.0.0 release image.

 

1) On AMD64, Current (Sticky Tag: netbsd-5)

 

NetBSD-5.1_RC2-x86_64 (as of May 20 2010)

 

AMD64, GENERIC (NFS root), XEN3_DOM0 (default)

 

2) Packages built by hand (iasl) and packages from pkgsrc current.

 

(see attached) (packages_on_system.txt)

 

3)

 Directories created and environment variables set:

 

PREFIX="/usr/xen40"

PYTHON="python2.6"

 

4) Using instructions from:

http://mail-index.netbsd.org/port-xen/2010/01/18/msg005638.html

 

Applied both patches to :

1) http://www.netbsd.org/~cegger/xen40_netbsd.diff

2) http://www.netbsd.org/~cegger/xen40_netbsd_workaround.diff

 

To

 

http://bits.xensource.com/oss-xen/release/4.0.0/xen-4.0.0.tar.gz

 

Both applied clean.

 

5) gmake xen

 

This went perfectly. (no errors)

 

6) gmake dist-tools

 

6A) gsed is needed

( I used a dirty hack of aliasing sed to gsed, solved the problem with

 

-Ttext $(RELOC) -o

 

RELOC is set in xen/arch/x86/boot/Makefile to $(BOOT_TRAMPOLINE), which is

also set in that file:

 

BOOT_TRAMPOLINE := $(shell sed -n

's,^\#define[[:space:]]\+BOOT_TRAMPOLINE[[:space:]]\+,,p'

$(BASEDIR)/include/asm-x86/config.h)

 

 

6B) second but, strnlen is needed by a considerable number of the utilities:

 

gcc  -O2 -fomit-frame-pointer -m64 -fno-strict-aliasing -std=gnu99 -Wall -Wstrict-prototypes -Wno-unused-value -Wdeclaration-after-statement  -D__XEN_TOOLS__ -MMD -MF .lvm-util.o.d  -Werror -Wno-unused -I../include -D_GNU_SOURCE -fPIC -Wp,-MD,.lvm-util.o.d -c -o lvm-util.o lvm-util.c

cc1: warnings being treated as errors

lvm-util.c: In function 'lvm_copy_name':

lvm-util.c:54: warning: implicit declaration of function 'strnlen'

 

Solved it by putting a strnlen.c / strnlen.o file in the TOP directory.

 

(see attached strnlen.c)

 

Compiled with "-fPIC"

 

And for each Makefile that encounters a need for strnlen:

$(CC) add

 

$(TOP)/strnlen.o

 

And in each file that needs a declaration for strnlen:

 

 

size_t strnlen(const char *, size_t);

 

that was done in about 10 places to get mostly the files in xen-4.0.0/tools/blktap2/lvm to compile.

 

 

6C) Horrible X11 linking mess for building

In xen-4.0.0/tools/ioemu-qemu-xen

I changed

Configure

 

<     #echo "SDL_LIBS=`$sdl_config --libs` -lX11" >> $config_mak

<      echo "SDL_LIBS=-L/usr/X11R7/lib -Wl,-rpath,/usr/X11R7/lib -lSDL -lpthread -lX11" >> $config_mak

---

>     echo "SDL_LIBS=`$sdl_config --libs` -lX11" >> $config_mak

1445,1446c1444

<     #echo "SDL_CFLAGS=`$sdl_config --cflags` `aalib-config --cflags`" >> $config_mak

<      echo "SDL_CFLAGS=-I/usr/pkg/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -D_THREAD_SAFE -I/usr/X11R7/include" >> $config_mak

 

There was a frustrating dependency and the default filesystem upset xen so I ended up creating a bit of a mess of links between /usr/include and /usr/lib and /usr/pkg/include/SDL (lib as well) and /usr/X11R7/include (lib as well)

 

I finally got it to compile.  I couldnt figure out how to do this part the correct way.

 

6D) FATAL:

-msse2: not found

cc1: warnings being treated as errors

xen/lowlevel/xc/xc.c: In function 'pyxc_vcpu_setaffinity':

xen/lowlevel/xc/xc.c:253: warning: passing argument 4 of 'xc_vcpu_setaffinity' makes integer from pointer without a cast

xen/lowlevel/xc/xc.c:253: error: too many arguments to function 'xc_vcpu_setaffinity'

xen/lowlevel/xc/xc.c: In function 'pyxc_vcpu_getinfo':

xen/lowlevel/xc/xc.c:402: error: too many arguments to function 'xc_vcpu_getaffinity'

xen/lowlevel/xc/xc.c: In function 'pyxc_getBitSize':

xen/lowlevel/xc/xc.c:442: warning: implicit declaration of function 'xc_get_bit_size'

xen/lowlevel/xc/xc.c: In function 'pyxc_hvm_build':

xen/lowlevel/xc/xc.c:948: error: 'HVM_MAX_VCPUS' undeclared (first use in this function)

xen/lowlevel/xc/xc.c:948: error: (Each undeclared identifier is reported only once

xen/lowlevel/xc/xc.c:948: error: for each function it appears in.)

xen/lowlevel/xc/xc.c:986: warning: implicit declaration of function 'xc_hvm_build_target_mem'

xen/lowlevel/xc/xc.c:1001: error: 'struct hvm_info_table' has no member named 'vcpu_online'

xen/lowlevel/xc/xc.c:948: warning: unused variable 'vcpu_avail'

xen/lowlevel/xc/xc.c: In function 'pyxc_physinfo':

xen/lowlevel/xc/xc.c:1195: error: 'xc_physinfo_t' has no member named 'max_node_id'

xen/lowlevel/xc/xc.c:1233: error: 'xc_physinfo_t' has no member named 'max_node_id'

xen/lowlevel/xc/xc.c: In function 'pyxc_xeninfo':

xen/lowlevel/xc/xc.c:1262: error: 'xen_commandline_t' undeclared (first use in this function)

xen/lowlevel/xc/xc.c:1262: error: expected ';' before 'xen_commandline'

xen/lowlevel/xc/xc.c:1263: warning: ISO C90 forbids mixed declarations and code

xen/lowlevel/xc/xc.c:1284: error: 'XENVER_commandline' undeclared (first use in this function)

xen/lowlevel/xc/xc.c:1284: error: 'xen_commandline' undeclared (first use in this function)

xen/lowlevel/xc/xc.c: In function 'pyxc_domain_set_target_mem':

xen/lowlevel/xc/xc.c:1483: warning: implicit declaration of function 'xc_domain_memory_set_pod_target'

xen/lowlevel/xc/xc.c: In function 'pyxc_domain_set_tsc_info':

xen/lowlevel/xc/xc.c:1596: warning: implicit declaration of function 'xc_domain_set_tsc_info'

xen/lowlevel/xc/xc.c: In function 'pyxc_domain_disable_migrate':

xen/lowlevel/xc/xc.c:1610: warning: implicit declaration of function 'xc_domain_disable_migrate'

xen/lowlevel/xc/xc.c: In function 'pyxc_tmem_control':

xen/lowlevel/xc/xc.c:1693: warning: implicit declaration of function 'xc_tmem_control'

xen/lowlevel/xc/xc.c: In function 'pyxc_tmem_shared_auth':

xen/lowlevel/xc/xc.c:1732: warning: implicit declaration of function 'xc_tmem_auth'

xen/lowlevel/xc/xc.c: In function 'pyxc_dom_set_memshr':

xen/lowlevel/xc/xc.c:1747: warning: implicit declaration of function 'xc_memshr_control'

error: command 'gcc' failed with exit status 1

gmake[3]: *** [buildpy] Error 1

gmake[2]: *** [subdir-install-python] Error 2

gmake[1]: *** [subdirs-install] Error 2

gmake: *** [install-tools] Error 2

 

 

FATAL:

 

Xen4.0.0 crashes when loading the netbsd XEN3_DOM0 kernel. It doesn't even give a (XEN) output or stop and panic. It simply reboots the machine while loading netbsd from mboot.c32.

 

 

 

I am really hungry to try more to get this running (particularly running dom0 disklessly via NFS, which I have working for the JASPER_FOREST Intel platform and XEN33/netbsd-XEN3_DOM0, but I am on GREEN_CITY Intel platform with a WESTMERE and NIANTIC, and I am struggling to get any XEN to work at all. I have diskless NFS netbsd amd64 running now, and am also trying to get the onboard e1000/if_wm to work and Niantic as well.

 

03:00.0 Ethernet controller [0200]: Intel Corporation 82599EB 10 Gigabit Network Connection [8086:10fb] (rev 01)

        Subsystem: Intel Corporation Ethernet Server Adapter X520-2 [8086:0003]

 

01:00.0 Ethernet controller [0200]: Intel Corporation 82575EB Gigabit Network Connection [8086:10a7] (rev 02)

        Subsystem: Intel Corporation Device [8086:34e0]

 

If anyone can help me, I can turn around fixes and the like.

 

I also tried:

 

From

http://mail-index.netbsd.org/port-xen/2010/04/10/msg005917.html

 

http://mail-index.netbsd.org/port-xen/2010/04/10/.attachments/binj46nw0SFuw.bin

 

(aka xenkernel40.tar.gz )

 

Which is a pkgsrc version of this and it fails to build as well.

 

I also tried all of this same stuff with top of the tree Xen, and the failures were the same.

packages on system:

hand build:

acpica-unix-20100428

acpica-unix-20100428.tar.gz

http://www.acpica.org/download/acpica-unix-20100428.tar.gz

To create an IASL from Intel. 

Binary in /usr/pkg/bin


Used pkgsrc: 

GConf-2.28.0        Configuration database system used by GNOME
ORBit2-2.14.17      High-performance CORBA ORB with C language support
SDL-1.2.14nb1       Simple DirectMedia Layer, a cross-platform multimedia 
library
aalib-1.4.0.5nb2    ASCII Art library
arts-1.5.10         Analog Real-Time Synthesizer
asciidoc-8.5.3nb1   ASCII to formatted document converter
autoconf-2.65nb1    Generates automatic source code configuration scripts
automake-1.11.1     GNU Standards-compliant Makefile generator
bash-4.1            The GNU Bourne Again Shell
bison-2.4.2         GNU yacc(1) replacement
bmake-20100423      Portable (autoconf) version of NetBSD 'make' utility
bootstrap-mk-files-20090807nb2 *.mk files for the bootstrap bmake utility
consolekit-0.3.0nb4 Framework for defining and tracking users, login sessions, 
and seats
curl-7.20.0         Client that groks URLs
dbus-1.2.4.6        Message bus system
dbus-glib-0.84      GLib bindings for the D-BUS message bus system
dev86-0.16.17nb2    Linux 8086 development environment
digest-20080510     Message digest wrapper utility
docbook-xml-4.5     XML DTD designed for computer documentation
docbook-xsl-1.74.0nb1 Docbook XSL modular stylesheet
esound-0.2.41       The Enlightened sound daemon
f2c-20090411nb4     Fortran to C compiler including a script to emulate f77
fftw-3.2.2nb1       Collection of fast C routines to compute DFTs
flac-1.2.1nb1       Free lossless audio codec
flex-2.5.35nb1      Fast clone of lex(1), the lexical scanner generator
gdbm-1.8.3nb1       The GNU database manager
getopt-1.1.4        Program to help shell scripts parse command-line parameters
glib2-2.22.5nb1     Some useful routines for C programming (glib2)
gmake-3.81          GNU version of 'make' utility
gsed-4.2.1          GNU implementation of sed, the POSIX stream editor
gtar-base-1.23      The GNU tape archiver with remote magnetic tape support
hal-0.5.11nb27      FreeDesktop hardware abstraction layer
hal-info-20091130   FreeDesktop hardware abstraction layer (info subpackage)
intltool-0.40.6     Toolbox for internationalisation
jpeg-8b             IJG's jpeg compression utilities
lcms-1.18.0.1nb2    Little Color Management System -- a color management library
libIDL-0.8.14       CORBA Interface Definition Language parser
libaudiofile-0.2.7  Sound library for SGI audio file
libf2c-20090201nb3  f2c Fortran support library
libffi-3.0.9        Foreign function interface
libgcrypt-1.4.5     GNU cryptographic library
libgpg-error-1.7    Definitions of common error values for all GnuPG components
libidn-1.18         Internationalized Domain Names command line tool
libltdl-2.2.6b      Generic shared library support (libltdl abstraction library)
libmad-0.15.1bnb1   High-quality MPEG audio decoder
libogg-1.2.0        Ogg project codecs library
liboil-0.3.17       Library of simple, CPU-optimized functions
libsamplerate-0.1.7 Sample rate converter library
libsndfile-1.0.21   Library for reading and writing audio files
libtool-base-2.2.6bnb4 Generic shared library support script (the script itself)
libvolume_id-0.81.1 Library to provide file system type information
libvorbis-1.3.1     Library for the Ogg Vorbis audio encoding format
libxml2-2.7.7       XML parser library from the GNOME project
libxslt-1.1.26      XSLT parser library from the GNOME project
m4-1.4.14           GNU version of UNIX m4 macro language processor
mercurial-1.5.3     Fast, lightweight source control management system
mng-1.0.10nb2       Multiple-image Network Graphics (MNG) reference library
nas-1.9.1nb2        Network Audio System
ncurses-5.7nb3      CRT screen handling and optimization package
ocaml-3.11.2        The latest implementation of the Caml dialect of ML
ocaml-findlib-1.1.2pl1nb2 Library finder for OCaml
osabi-NetBSD-5.1_RC2 Operating System version dummy-package
p5-Error-0.17016    Perl extension module for try/throw/catch exception handling
p5-XML-Parser-2.36nb1 Perl extension interface to James Clark's XML parser, 
expat
patch-2.5.4nb2      Patch files using diff output
pciids-20091229     Repository of PCI IDs (pci.ids database)
pciutils-3.1.3nb1   PCI bus manipulation utility similar to NetBSD pcictl(8)
pcre-8.02           Perl Compatible Regular Expressions library
perl-5.10.1nb1      Practical Extraction and Report Language
pkg-config-0.23nb1  System for managing library compile/link flags
pkg_install-20100421 Package management and administration tools for pkgsrc
png-1.2.43          Library for manipulating PNG images
policykit-0.9nb7    Framework for managing admin policies and privileges
pulseaudio-0.9.21nb2 Sound server for POSIX and Win32 systems
py26-curses-0nb4    Curses module for Python
py26-readline-0nb4  Line editing support for Python
py26-xml-0.8.4nb3   Collection of libraries to process XML with Python
python26-2.6.5      Interpreted, interactive, object-oriented programming 
language
qt3-libs-3.3.8nb12  C++ X GUI toolkit
qt3-tools-3.3.8nb5  QT GUI (WYSIWYG) builder and other tools
readline-6.1        GNU library that can recall and edit previous input
scmgit-1.7.0.5      GIT version control suite meta-package
scmgit-base-1.7.0.5 GIT Tree History Storage Tool (base package)
scmgit-docs-1.7.0.5 GIT Tree History Storage Tool (documentation)
speex-1.2rc1nb1     Open-source, patent-free voice codec
tcl-8.4.18          Ousterhout's Tool Command Language, a scripting language
tiff-3.9.2nb2       Library and tools for reading and writing TIFF data files
tk-8.4.18nb1        Graphical toolkit for TCL
unzip-6.0           List, test and extract compressed files in a ZIP archive
usbids-20081118     Repository of USB IDs (usb.ids database)
wget-1.12           Retrieve files from the 'net via HTTP and FTP
x11-links-0.49      Shadow tree of links to native X11 headers and libraries
xenkernel33-3.3.2   Xen 3.3.2 Kernel
xentools33-3.3.2nb3 Userland Tools for Xen 3.3.x
xmlcatmgr-2.2nb1    XML and SGML catalog manager
xmlto-0.0.21nb1     Tool to help transform XML documents into other formats
xpkgwedge-1.16      Allows X11 pkgs to be built and used outside of ${X11BASE}












































Attachment: strnlen.c
Description: Binary data



Home | Main Index | Thread Index | Old Index