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

Fwd:Re: [Xen-users] Howto compiling Xen 3.2 on Debian/Ubuntu



Thanks to all of you it works!
Now some questions...what about xen-tools and xen hypervisor?
Are the debian one ok / compatible or they have to be compiled from source?

Thanks.




Jeremie Le Hen ha scritto:
> Kalle,
>
> On Thu, Jan 24, 2008 at 08:35:36PM +0200, Kalle wrote:
>
>>> I finally carried out "make world" with Xen 3.2 after much struggle.
>>> The problems occured in the kernel part of the world.
>>>
>>  I newer got 'make world' run succesfully.
>>  Problem was that it can't download the kernel using mercurial.
>>  Lenny and Etch both saffered this issue.
>>
>
> I've narrowed down the problem to buildconfig/select-repository.
> In buildconfig/src.hg-clone you have (code intentionally clipped down):
>
> % LINUX_SRC_PATH ?= .:..         # From mk.linux-2.6-xen
> % LINUX_SRCDIR ?= linux-$(LINUX_VER)-xen.hg
> % XEN_LINUX_HGREPO ?= $$(sh buildconfigs/select-repository $(LINUX_SRCDIR) 
> $(LINUX_SRC_PATH))
> %
> % $(LINUX_SRCDIR)/.valid-src: $(__XEN_LINUX_UPDATE)
> %         set -e ; \
> %         if [ ! -e $(LINUX_SRCDIR)/.hg ] ; then \
> %             __repo=$(XEN_LINUX_HGREPO) ; \
> %             if [ -d $${__repo} ] ; then \
> %                 echo "Linking $${__repo} to $(LINUX_SRCDIR)." ; \
> %                 ln -s $${__repo} $(LINUX_SRCDIR) ; \
> %             else \
> %                 echo "Cloning $${__repo} to $(LINUX_SRCDIR)." ; \
> %                 $(HG) clone $${__repo#file://} $(LINUX_SRCDIR) ; \
> %             fi ; \
> %             [...]
>
> "set -e" means the while piece of script would fail if a single command
> fails (without being catched).  OTOH buildconfig/select-repository
> searches for ${LINUX_SRCDIR} in the colon-separated directory list
> ${LINUX_SRC_PATH}.  If it doesn't find ${LINUX_SRCDIR}, it fails with
> "exit 1", so the script fails.
>
> BTW, there is an obvious lack of synchronisation between the makefiles
> and select-repository because the latter skips unconditionally "." while
> ${LINUX_SRC_PATH} unconditionally contains "." :-).
>
> It happens that cloning Xensource's kernel source tree with Mercurial
> besides Xen 3.2 directory leads the build infrastructure in a valid
> path.
>
>
>>> First, contrary to xen-3.1.0-src.tgz, xen-3.2.0.tar.gz doesn't come
>>> along with the linux-2.6-xen-sparse/ and patches/ directories which
>>> allow to build a xen-infied kernel from a vanilla kernel source.
>>> Therefore it is impossible to use "make world XEN_LINUX_SOURCE=tarball".
>>>
>>>
>>  That's shame, because I really would have those patches.
>>  Other way would be that someone has documents about the ne "architecture".
>>
>
> >From what I've understood reading the buildconfig/ directory content,
> you have two ways to fetch the kernel source.
> - The default, named "hg-clone", uses Mercurial.
> - The other one, "tarball", fetches the vanilla Linux kernel source but
>   I think this one is non-functional because of lack of the
>   aforementioned stuff.
>
> You can switch to one or the other using XEN_LINUX_SOURCE make variable.
> For instance:
> % make dist XEN_LINUX_SOURCE=tarball
>
>
>>> It is necessary, at least from my own understanding, to "make
>>> prep-kernels" in order to create the kernel build directory.  Indeed if
>>> you put your .config file directory into the kernel tree, the kernel's
>>> build system will complain about its cleanliness and will ask you to run
>>> "make mrproper".  The reason is that the kernel is not built directly in
>>> the source tree -- as most of people used to do -- but instead uses a
>>> separate directory to store produced object files, thus the assumption
>>> about the cleanliness.
>>>
>>> So I devised with the following process to build Xen 3.2.
>>> % mkdir build
>>> % wget http://bits.xensource.com/oss-xen/release/3.2.0/xen-3.2.0.tar.gz
>>> % tar xzf xen-3.2.0.tar.gz
>>> % # Download the xenifid kernel tree manually, but NOT in xen-3.2.0/
>>> % # because the buildconfig/select-repository script would skip it.
>>> % # ! xen-3.2.0/ and linux-2.6.18-xen.hg/ must be at the same level !
>>> % hg clone http://xenbits.xensource.com/linux-2.6.18-xen.hg
>>> % cd xen-3.2.0
>>> % make prep-kernels
>>> % cp /boot/config-2.6.18-my build-linux-2.6.18-xen_x86_32/.config
>>> % make dist
>>>
>>  This is almoust same way I go.
>>
>>  - Instead of 'make prep-kernels' I used 'make linux-2.6-xen-config
>>  CONFIGMODE=menuconfig'
>>   -> Make little changes to kernel for my needs.
>>
>>  - And instead of 'make dist' I used 'make linux-2.6-xen-build'
>>
>>  - After that i did 'make install' but if I remember correctly i needed todo
>>  Grub's menu.lst, initrd and copy vmlinuz and modules to right places by
>>  myself.
>>
>
> Yes you are right.  Actually "make dist" does not install Xen.  It just
> builds everything and create the layout in dist/.  I let the user
> install the stuff following his requirements.
>
>
>>  I still would like to know that is there any patches available.
>>  Or is the only way to go mercurial?
>>
>
> Currently, it seems they are not provided any more with Xen 3.2.  I
> don't know if this is a lack time or a
>
>
>>  How does this new "system" works?
>>
>
> See above.  I think a thorough explanation should be in the wiki.
>
>
>>  I supposed that 'linux-2.6.18-xen.hg' ships with already patched?
>>  Cos i don't see any patching happening when do 'make anything'
>>
>
> Yes.
>
>
> Regards,
>





_______________________________________________
Xen-users mailing list
Xen-users@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-users


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.