[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH]: Implement bzip2 and LZMA loaders / xen-unstable stubdom pvgrub support
On Tue, Aug 25, 2009 at 06:23:19PM +0300, Pasi Kärkkäinen wrote: > 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 :) > Attached are my current work-in-progress patches. It still doesn't link properly.. Stefano: Would you like to take a look? The patches are against current xen-unstable. I'm getting weird linking error about stdin/stdout/stderr missing.. libc (newlib) is definitely linked in, so I'm not sure what's happening.. ld -nostdlib -L/root/xen-unstable.hg/stubdom/cross-root-i686/i686-xen-elf/lib -m elf_i386 -T arch/x86/minios-x86_32.lds /root/xen-unstable.hg/stubdom/mini-os-x86_32-ioemu/mini-os.o -o /root/xen-unstable.hg/stubdom/mini-os-x86_32-ioemu/mini-os xen-unstable.hg/stubdom/mini-os-x86_32-ioemu/mini-os.o: In function `bzopen_or_bzdopen': xen-unstable.hg/stubdom/bzip2-x86_32/bzlib.c:1411: undefined reference to `__ctype_b_loc' xen-unstable.hg/stubdom/bzip2-x86_32/bzlib.c:1447: undefined reference to `stdin' xen-unstable.hg/stubdom/bzip2-x86_32/bzlib.c:1447: undefined reference to `stdout' ... In the earlier step mini-os.o was definitely linked against -lc .. "strings /path/mini-os.o | grep -i stdin" doesn't give anything though.. I wonder why the stuff doesn't get included there. -- Pasi Attachment:
stubdom-Makefile-bzip2-lzma-support-v1.patch Attachment:
extras-minios-Makefile-bzip2-lzma-support-v1.patch _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |