* building kvm-userspace with separate kernel object directory?
@ 2008-01-07 21:12 Hollis Blanchard
2008-01-07 21:29 ` Hollis Blanchard
2008-01-07 21:44 ` Jerone Young
0 siblings, 2 replies; 7+ messages in thread
From: Hollis Blanchard @ 2008-01-07 21:12 UTC (permalink / raw)
To: kvm-devel
I always build my kernels with the O= option, since it allows me to
build multiple architectures from the same sources.
However, it looks like the kvm-userspace configure script can't handle
this. It says --kerneldir should be the kernel *build* directory, but
when I do that I get
libkvm.c:21:23: warning: linux/kvm.h: No such file or directory
because the build directory does not contain an include/linux symlink.
When I specify the kernel *source* directory for --kerneldir, I get
/home/hollisb/source/kvmppc.hg/include/linux/kvm.h:12:21: warning: asm/kvm.h: No such file or directory
because the source directory doesn't contain an include/asm symlink.
How can this work?
--
Hollis Blanchard
IBM Linux Technology Center
-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace
^ permalink raw reply [flat|nested] 7+ messages in thread* Re: building kvm-userspace with separate kernel object directory? 2008-01-07 21:12 building kvm-userspace with separate kernel object directory? Hollis Blanchard @ 2008-01-07 21:29 ` Hollis Blanchard 2008-01-07 21:50 ` Jerone Young 2008-01-08 13:50 ` Avi Kivity 2008-01-07 21:44 ` Jerone Young 1 sibling, 2 replies; 7+ messages in thread From: Hollis Blanchard @ 2008-01-07 21:29 UTC (permalink / raw) To: kvm-devel Create an "asm" symlink from libkvm into the kernel source directory. This allows one to use kernel trees built with the O= option. Signed-off-by: Hollis Blanchard <hollisb-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org> --- This is all I can come up with... it should work by accident for user/ and qemu/ directories too, since they use "-I ../libkvm". diff --git a/configure b/configure --- a/configure +++ b/configure @@ -130,6 +130,8 @@ fi --arch="$arch" \ ${cross_prefix:+"--cross-prefix=$cross_prefix"}) +(cd libkvm; ln -sf "$kerneldir/include/asm-$arch" asm) + #configure qemu (cd qemu; ./configure --target-list=$target_exec \ --disable-kqemu \ diff --git a/libkvm/Makefile b/libkvm/Makefile --- a/libkvm/Makefile +++ b/libkvm/Makefile @@ -10,7 +10,7 @@ CFLAGS += $(autodepend-flags) -g -fomit- CFLAGS += $(autodepend-flags) -g -fomit-frame-pointer -Wall CFLAGS += $(call cc-option, -fno-stack-protector, "") CFLAGS += $(call cc-option, -fno-stack-protector-all, "") -CFLAGS += -I $(KERNELDIR)/include +CFLAGS += -I $(KERNELDIR)/include -I . LDFLAGS += $(CFLAGS) @@ -35,4 +35,4 @@ install: -include .*.d clean: - $(RM) *.o *.a .*.d + $(RM) *.o *.a .*.d asm -- Hollis Blanchard IBM Linux Technology Center ------------------------------------------------------------------------- Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: building kvm-userspace with separate kernel object directory? 2008-01-07 21:29 ` Hollis Blanchard @ 2008-01-07 21:50 ` Jerone Young 2008-01-07 22:07 ` Hollis Blanchard 2008-01-08 13:50 ` Avi Kivity 1 sibling, 1 reply; 7+ messages in thread From: Jerone Young @ 2008-01-07 21:50 UTC (permalink / raw) To: Hollis Blanchard; +Cc: kvm-devel Whoops should have replied to this one. So this does not solve the issue. As it point it includes <KERNELDIR>/includes .. just you have to compile the kernel directory so that "include/asm" symlink in the kernel directory is made. This creates a symlink to the symlink and that symlnk which is already in include path -I $(KERNELDIR)/include What would probably be better is to add a check to see if <KERNEL_DIR>/include/asm is created. If it's not give the user an error to compile there kernel source. On Mon, 2008-01-07 at 15:29 -0600, Hollis Blanchard wrote: > Create an "asm" symlink from libkvm into the kernel source directory. > This allows one to use kernel trees built with the O= option. > > Signed-off-by: Hollis Blanchard <hollisb-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org> > > --- > This is all I can come up with... it should work by accident for user/ > and qemu/ directories too, since they use "-I ../libkvm". > > diff --git a/configure b/configure > --- a/configure > +++ b/configure > @@ -130,6 +130,8 @@ fi > --arch="$arch" \ > ${cross_prefix:+"--cross-prefix=$cross_prefix"}) > > +(cd libkvm; ln -sf "$kerneldir/include/asm-$arch" asm) > + > #configure qemu > (cd qemu; ./configure --target-list=$target_exec \ > --disable-kqemu \ > diff --git a/libkvm/Makefile b/libkvm/Makefile > --- a/libkvm/Makefile > +++ b/libkvm/Makefile > @@ -10,7 +10,7 @@ CFLAGS += $(autodepend-flags) -g -fomit- > CFLAGS += $(autodepend-flags) -g -fomit-frame-pointer -Wall > CFLAGS += $(call cc-option, -fno-stack-protector, "") > CFLAGS += $(call cc-option, -fno-stack-protector-all, "") > -CFLAGS += -I $(KERNELDIR)/include > +CFLAGS += -I $(KERNELDIR)/include -I . > > LDFLAGS += $(CFLAGS) > > @@ -35,4 +35,4 @@ install: > -include .*.d > > clean: > - $(RM) *.o *.a .*.d > + $(RM) *.o *.a .*.d asm > ------------------------------------------------------------------------- Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: building kvm-userspace with separate kernel object directory? 2008-01-07 21:50 ` Jerone Young @ 2008-01-07 22:07 ` Hollis Blanchard 2008-01-07 22:52 ` Jerone Young 0 siblings, 1 reply; 7+ messages in thread From: Hollis Blanchard @ 2008-01-07 22:07 UTC (permalink / raw) To: jyoung5-r/Jw6+rmf7HQT0dZR+AlfA; +Cc: kvm-devel I'm having a hard time parsing this. Basically this patch is duplicating what Kbuild does: it is creating the appropriate asm symlink. The original problem was that kvm-userspace didn't have an asm symlink, so the patch does fix it. -- Hollis Blanchard IBM Linux Technology Center On Mon, 2008-01-07 at 15:50 -0600, Jerone Young wrote: > Whoops should have replied to this one. > > So this does not solve the issue. As it point it includes > <KERNELDIR>/includes .. just you have to compile the kernel directory so > that "include/asm" symlink in the kernel directory is made. I have already done this. The asm symlink is located at linux/objpowerpcsequoia/include/asm . > This creates a symlink to the symlink and that symlnk which is already > in include path -I $(KERNELDIR)/include It does not create a symlink to a symlink: the link is asm -> linux/include/asm-foo . > What would probably be better is to add a check to see if > <KERNEL_DIR>/include/asm is created. If it's not give the user an error > to compile there kernel source. The issue is not that I have not compiled the kernel tree. I HAVE compiled it, but I used the O= option when doing so. > On Mon, 2008-01-07 at 15:29 -0600, Hollis Blanchard wrote: > > Create an "asm" symlink from libkvm into the kernel source directory. > > This allows one to use kernel trees built with the O= option. > > > > Signed-off-by: Hollis Blanchard <hollisb-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org> > > > > --- > > This is all I can come up with... it should work by accident for user/ > > and qemu/ directories too, since they use "-I ../libkvm". > > > > diff --git a/configure b/configure > > --- a/configure > > +++ b/configure > > @@ -130,6 +130,8 @@ fi > > --arch="$arch" \ > > ${cross_prefix:+"--cross-prefix=$cross_prefix"}) > > > > +(cd libkvm; ln -sf "$kerneldir/include/asm-$arch" asm) > > + > > #configure qemu > > (cd qemu; ./configure --target-list=$target_exec \ > > --disable-kqemu \ > > diff --git a/libkvm/Makefile b/libkvm/Makefile > > --- a/libkvm/Makefile > > +++ b/libkvm/Makefile > > @@ -10,7 +10,7 @@ CFLAGS += $(autodepend-flags) -g -fomit- > > CFLAGS += $(autodepend-flags) -g -fomit-frame-pointer -Wall > > CFLAGS += $(call cc-option, -fno-stack-protector, "") > > CFLAGS += $(call cc-option, -fno-stack-protector-all, "") > > -CFLAGS += -I $(KERNELDIR)/include > > +CFLAGS += -I $(KERNELDIR)/include -I . > > > > LDFLAGS += $(CFLAGS) > > > > @@ -35,4 +35,4 @@ install: > > -include .*.d > > > > clean: > > - $(RM) *.o *.a .*.d > > + $(RM) *.o *.a .*.d asm > > ------------------------------------------------------------------------- Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: building kvm-userspace with separate kernel object directory? 2008-01-07 22:07 ` Hollis Blanchard @ 2008-01-07 22:52 ` Jerone Young 0 siblings, 0 replies; 7+ messages in thread From: Jerone Young @ 2008-01-07 22:52 UTC (permalink / raw) To: Hollis Blanchard; +Cc: kvm-devel Sorry for the cryptic language ;-o No your right. I wasn't thinking about that. On Mon, 2008-01-07 at 16:07 -0600, Hollis Blanchard wrote: > I'm having a hard time parsing this. > > Basically this patch is duplicating what Kbuild does: it is creating the > appropriate asm symlink. The original problem was that kvm-userspace > didn't have an asm symlink, so the patch does fix it. > ------------------------------------------------------------------------- Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: building kvm-userspace with separate kernel object directory? 2008-01-07 21:29 ` Hollis Blanchard 2008-01-07 21:50 ` Jerone Young @ 2008-01-08 13:50 ` Avi Kivity 1 sibling, 0 replies; 7+ messages in thread From: Avi Kivity @ 2008-01-08 13:50 UTC (permalink / raw) To: Hollis Blanchard; +Cc: kvm-devel Hollis Blanchard wrote: > Create an "asm" symlink from libkvm into the kernel source directory. > This allows one to use kernel trees built with the O= option. > > Applied, thanks. -- error compiling committee.c: too many arguments to function ------------------------------------------------------------------------- Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: building kvm-userspace with separate kernel object directory? 2008-01-07 21:12 building kvm-userspace with separate kernel object directory? Hollis Blanchard 2008-01-07 21:29 ` Hollis Blanchard @ 2008-01-07 21:44 ` Jerone Young 1 sibling, 0 replies; 7+ messages in thread From: Jerone Young @ 2008-01-07 21:44 UTC (permalink / raw) To: Hollis Blanchard; +Cc: kvm-devel oh your problem is you must first build your kernel that you are pointing too. Or you can cheat and point "include/asm" where you need to point it. That solves the issue. It's all that userspace including kernel headers :-) On Mon, 2008-01-07 at 15:12 -0600, Hollis Blanchard wrote: > I always build my kernels with the O= option, since it allows me to > build multiple architectures from the same sources. > > However, it looks like the kvm-userspace configure script can't handle > this. It says --kerneldir should be the kernel *build* directory, but > when I do that I get > libkvm.c:21:23: warning: linux/kvm.h: No such file or directory > because the build directory does not contain an include/linux symlink. > > When I specify the kernel *source* directory for --kerneldir, I get > /home/hollisb/source/kvmppc.hg/include/linux/kvm.h:12:21: warning: asm/kvm.h: No such file or directory > because the source directory doesn't contain an include/asm symlink. > > How can this work? > ------------------------------------------------------------------------- Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2008-01-08 13:50 UTC | newest] Thread overview: 7+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2008-01-07 21:12 building kvm-userspace with separate kernel object directory? Hollis Blanchard 2008-01-07 21:29 ` Hollis Blanchard 2008-01-07 21:50 ` Jerone Young 2008-01-07 22:07 ` Hollis Blanchard 2008-01-07 22:52 ` Jerone Young 2008-01-08 13:50 ` Avi Kivity 2008-01-07 21:44 ` Jerone Young
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox