I started packaging Xen 4.0. Attached is the package for xenkernel40. Untar it under sysutils. I am puzzle'd why MAKE_ENV in the Makefile has no effect, hence resulting in a build error 'python: not found'. Christoph On 10.04.10 05:22, Dustin Marquess wrote: > A couple of other notes: > > ===== > Since Xen 4.0 is "out" now, we probably want the xen-4.0-testing.hg trunk > instead: > > hg clone http://xenbits.xensource.com/xen-4.0-testing.hg > > Or probably the release from: > http://bits.xensource.com/oss-xen/release/4.0.0/xen-4.0.0.tar.gz > ===== > > ===== > As Adam mentioned, it wants git installed also > ===== > > ===== > It also wants sysutils/acpica-utils installed (the pkgsrc version is > slightly older than the latest, I hacked my pkgsrc copy up to use the > latest). > > One gotcha: sysutils/acpica-utils installs the binary 'acpi-iasl'. Xen > looks for 'iasl'. You can either > change tools/firmware/hvmloader/acpi/Makefile or symlink it. > ===== > > ===== > tools/blktap2 is enabled for NetBSD, however a lot of the files in that > directory rely on strnlen(), which isn't supplied in NetBSD. I tried > linking them against the copy in xen/common/string.o, but that failed: > > ld: vhd-util: hidden symbol `strnlen' in ../../../xen/common/string.o is > referenced by DSO > ld: final link failed: Nonrepresentable section on output > > I'm probably doing something stupid there. > ===== > > ===== > PCI passthrough doesn't seem to work, even with sysutils/pciutils installed: > > gmake[4]: Entering directory > `/root/xen-4.0-testing.hg/tools/ioemu-remote/i386-dm' > ../xen-hooks.mak:56: === pciutils-dev package not found - missing > /usr/include/pci > ../xen-hooks.mak:57: === PCI passthrough capability has been disabled > ../xen-hooks.mak:56: === pciutils-dev package not found - missing > /usr/include/pci > ../xen-hooks.mak:57: === PCI passthrough capability has been disabled > > I don't have VT-i anyways... > ===== > > ===== > It looks for SDL (devel/SDL), but I'm not sure what having that enables? I'm > guessing this is for people running X11 in their dom0. > ===== > > ===== > The xc extension in tools/python blows up: > > building 'xc' extension > gcc -DNDEBUG -O2 -O2 -pipe -w -march=k8 -DHAVE_DB_185_H -I/usr/include > -I/usr/pkg/include -O2 -fomit-frame-pointer -m64 -fno-strict-aliasing > -std=gnu99 -Wall -Wstrict-prototypes -Wno-unused-value > -Wdeclaration-after-statement -D__XEN_TOOLS__ -MMD -MF .buildpy.d -fPIC > -I../../tools/libxc -I../../tools/xenstore -I../../tools/include > -Ixen/lowlevel/xc -I/usr/pkg/include/python2.6 -c xen/lowlevel/xc/xc.c -o > build/temp.netbsd-5.0_STABLE-amd64-2.6/xen/lowlevel/xc/xc.o > -fno-strict-aliasing -Werror > xen/lowlevel/xc/xc.c: In function 'pyxc_vcpu_setaffinity': > 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_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:1001: error: 'struct hvm_info_table' has no member > named 'vcpu_online' > 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: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) > error: command 'gcc' failed with exit status 1 > gmake[3]: *** [buildpy] Error 1 > ===== > > This, alas, is as far as I got tonight. > > -Dustin > > On Fri, Apr 9, 2010 at 3:39 PM, Dustin Marquess > <dmarquess%gmail.com@localhost> wrote: > >> On Mon, Mar 8, 2010 at 2:17 PM, Adam Hamsik <haaaad%gmail.com@localhost> >> wrote: >> >>> Hi, >>> >>> 1) There is a problem during xen kernel link >>> rc/xen-unstable.hg/xen/Rules.mk -C arch/x86 >>> /root/src/xen-unstable.hg/xen/xen >>> gmake[3]: Entering directory `/root/src/xen-unstable.hg/xen/arch/x86' >>> gmake -f /root/src/xen-unstable.hg/xen/Rules.mk -C >>> /root/src/xen-unstable.hg/xen/arch/x86/boot built_in.o >>> gmake[4]: Entering directory `/root/src/xen-unstable.hg/xen/arch/x86/boot' >>> RELOC= gmake -f build32.mk reloc.S >>> gmake[5]: Entering directory `/root/src/xen-unstable.hg/xen/arch/x86/boot' >>> gcc -O1 -fno-omit-frame-pointer -fno-optimize-sibling-calls -m32 >>> -march=i686 -g -fno-strict-aliasing -std=gnu99 -Wall -Wstrict-prototypes >>> -Wno-unused-value -Wdeclaration-after-statement -fno-stack-protector >>> -Werror -fno-builtin -msoft-float -c reloc.c -o reloc.o >>> ld -melf_i386 -N -Ttext -o reloc.lnk reloc.o >>> ld: invalid hex number `-o' >>> gmake[5]: *** [reloc.lnk] Error 1 >>> gmake[5]: Leaving directory `/root/src/xen-unstable.hg/xen/arch/x86/boot' >>> gmake[4]: *** [reloc.S] Error 2 >>> gmake[4]: Leaving directory `/root/src/xen-unstable.hg/xen/arch/x86/boot' >>> gmake[3]: *** [/root/src/xen-unstable.hg/xen/arch/x86/boot/built_in.o] >>> Error 2 >>> gmake[3]: Leaving directory `/root/src/xen-unstable.hg/xen/arch/x86' >>> gmake[2]: *** [/root/src/xen-unstable.hg/xen/xen] Error 2 >>> gmake[2]: Leaving directory `/root/src/xen-unstable.hg/xen' >>> gmake[1]: *** [install] Error 2 >>> gmake[1]: Leaving directory `/root/src/xen-unstable.hg/xen' >>> >> >> This problem is xen/arch/x86/boot/build32.mk calls ld 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) >> >> NetBSD's core 'sed' doesn't seem to like that. Using gsed seems to work. >> >> So there's 3 fixes: >> >> 1) Change sed to gsed and make gsed a requirement (seems icky) >> 2) Hard-code BOOT_TRAMPOLINE to 0x88000 (seems ickier) >> 3) Fix the sed invocation to make it core NetBSD sed friendly. This seems >> like the right solution, but beyond my sed knowledge. Any takers? >> >> -Dustin >> >>> >> >> >
Attachment:
xenkernel40.tar.gz
Description: application/gunzip