On Mon, Aug 24, 2009 at 03:04:00PM +0100, Stefano Stabellini wrote:
> On Fri, 21 Aug 2009, Pasi Kärkkäinen wrote:
> > On Fri, Aug 21, 2009 at 11:12:00PM +0300, Pasi Kärkkäinen wrote:
> > > On Fri, Aug 21, 2009 at 11:13:23AM +0100, Keir Fraser wrote:
> > > > On 21/08/2009 10:54, "Keir Fraser" <keir.fraser@xxxxxxxxxxxxx> wrote:
> > > >
> > > > >> Good point. pvgrub should support these aswell.
> > > > >>
> > > > >> Keir: Would you like to add those libs to stubdom?
> > > > >>
> > > > >> (Note the lzma.h is coming from that "xz" package..)
> > > > >
> > > > > No. :-) But feel free to make a patch! You'll just need to modify
> > > > > libxc/Makefile too to force those libs on instead of off, as well as
> > > > > download and build the libs of course.
> > > >
> > > > Actually I just checked in c/s 20105 to get rid of the minios-specific
> > > > hack
> > > > in that Makefile. So all you need to do is patch to download and build
> > > > the
> > > > libs. If you make a patch, I will arrange for the lib tarballs to be
> > > > hosted
> > > > on xenbits and adjust the patch URLs appropriately.
> > > >
> > >
> > > I can now see why you didn't want to do that.. :) I managed to get the
> > > libs to
> > > compile, but now I'm having other problems..
> > >
> > > "make stubdom" gets to the point where it compiles ioemu-stubdom, but it
> > > fails
> > > to link because xen-unstable.hg/stubdom/mini-os-x86_32-ioemu/mini-os.o
> > > has
> > > undefined references in xc_try_bzip2_decode and xc_try_lzma_decode
> > > functions..
> > >
> > > I guess only pvgrub would need to have this stuff in? I've been trying to
> > > figure out how the makefile magic works, but haven't really understood it
> > > yet.
> > >
> > > Any tips how to make ioemu-stubdom compile/link without including
> > > bzip2/lzma stuff into it?
> > >
> >
> > Actually I guess I could add the missing libs to extras/mini-os/Makefile to
> > APP_LDLIBS to get them included into ioemu-stubdom?
> >
> > Is that the right way to do it?
> >
>
> bzlib and lzma are libxc dependencies now, so firstly you have to add
> the two libraries to the stubdom build system, take a look at
> pciutils in stubdom/Makefile, that is a good example of how a new
> library is added.
This is done, and works. libbz2.a and liblzma.a end up in
stubdom/cross-root-i686/i686-xen-elf/lib/ directory on my 32bit host.
> Then you also need to add them both at least to the libxc target, take a
> look at zlib (and cross-zlib), that should be close to what you need.
Done.
> Finally you need to tweak the libxc Makefile for the stubdom case so
> that the two libraries are correctly added to zlib-options.
>
So you mean xen-unstable/tools/libxc/Makefile here? This part?
ifeq ($(CONFIG_MiniOS),y)
zlib-options =
The problem I'm seeing now is "ioemu" target from xen-unstable/stubdom/Makefile
fails to
link:
ld -nostdlib
-L/root/tem/xen-unstable.hg/stubdom/cross-root-i686/i686-xen-elf/lib -m
elf_i386 -T arch/x86/minios-x86_32.lds
/root/tem/xen-unstable.hg/stubdom/mini-os-x86_32-ioemu/mini-os.o -o
/root/tem/xen-unstable.hg/stubdom/mini-os-x86_32-ioemu/mini-os
ld: warning: section `.bss' type changed to PROGBITS
/root/tem/xen-unstable.hg/stubdom/mini-os-x86_32-ioemu/mini-os.o: In function
`xc_try_bzip2_decode':
/root/tem/xen-unstable.hg/stubdom/libxc-x86_32/xc_dom_bzimageloader.c:42:
undefined reference to `BZ2_bzDecompressInit'
/root/tem/xen-unstable.hg/stubdom/libxc-x86_32/xc_dom_bzimageloader.c:105:
undefined reference to `BZ2_bzDecompressEnd'
/root/tem/xen-unstable.hg/stubdom/libxc-x86_32/xc_dom_bzimageloader.c:69:
undefined reference to `BZ2_bzDecompress'
/root/tem/xen-unstable.hg/stubdom/libxc-x86_32/xc_dom_bzimageloader.c:105:
undefined reference to `BZ2_bzDecompressEnd'
/root/tem/xen-unstable.hg/stubdom/mini-os-x86_32-ioemu/mini-os.o: In function
`xc_try_lzma_decode':
/root/tem/xen-unstable.hg/stubdom/libxc-x86_32/xc_dom_bzimageloader.c:158:
undefined reference to `lzma_alone_decoder'
/root/tem/xen-unstable.hg/stubdom/libxc-x86_32/xc_dom_bzimageloader.c:253:
undefined reference to `lzma_end'
/root/tem/xen-unstable.hg/stubdom/libxc-x86_32/xc_dom_bzimageloader.c:185:
undefined reference to `lzma_code'
/root/tem/xen-unstable.hg/stubdom/libxc-x86_32/xc_dom_bzimageloader.c:253:
undefined reference to `lzma_end'
make[1]: ***
[/root/tem/xen-unstable.hg/stubdom/mini-os-x86_32-ioemu/mini-os] Error 1
make[1]: Leaving directory `/root/tem/xen-unstable.hg/extras/mini-os'
make: *** [ioemu-stubdom] Error 2
So basicly I should add libbz2.a and liblzma.a to the list of files to link,
but I'm a bit lost where this is happening. Should I edit
xen-unstable/extras/mini-os/Makefile to add those libs or somewhere else?
I tried adding those libs to xen-unstable/stubdom/Makefile to "ioemu"
TARGET_LDFLAGS, but
that didn't seem to help.
All tips welcome :)
-- Pasi
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|