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
|