Mailing List Archive

Confusion about Kernel in Installation process
There are some things about the Xen installation process that are not
clear to me. I have successfully run "make world" on the xen-source and
notice it has built a bunch of kernels for me. However, in the Xen
User's Manual almost nothing is said about the kernel building process
nor what the disctinction is between these various kernels it builds.

My question is: Why should the user not just patch the kernel with
whatever required patches there are and then compile the kernel himself?
The make script seems to be nice but unfortunately I have no idea what
it is actually doing. For example, are there specific options in the
Linux kernel which need to be disabled or enabled for the Xen kernels?
Why not just instruct the user to patch the kernel with the appropriate
patches and to dis(en)able whatever options are necessary?

I would be much happier if the whole process was a little less automated
yet more clear to the user (who if they are to the point of installing
something like Xen, presumably also already have experience building a
custom kernel).

Anyhow, I already have the source for the customized kernel my machine
is running in /usr/src/linux. I noticed that the kernels that Xen built
did not include some required options for my machine (such as XFS
filesystem support) so now I am totally confused.

_______________________________________________
Xen-users mailing list
Xen-users@lists.xensource.com
http://lists.xensource.com/xen-users
Re: Confusion about Kernel in Installation process [ In reply to ]
> There are some things about the Xen installation process that are not
> clear to me. I have successfully run "make world" on the xen-source and
> notice it has built a bunch of kernels for me. However, in the Xen
> User's Manual almost nothing is said about the kernel building process
> nor what the disctinction is between these various kernels it builds.

The build process produces three images used to boot Xen domains:

* xen.gz - Xen itself. You need to boot this in your grub.conf / menu.lst
* vmlinuz-2.6.11-xen0 - a "domain 0" (host) enabled kernel. You need to pass
this to Xen in your grub.conf / menu.lst
* vmlinuz-2.6.11-xenU - a guest-only kernel. You can boot guest domains from
this instead of using the -xen0 kernel. The only difference is it's slightly
smaller because it includes only "virtual" drivers.

> My question is: Why should the user not just patch the kernel with
> whatever required patches there are and then compile the kernel himself?
> The make script seems to be nice but unfortunately I have no idea what
> it is actually doing. For example, are there specific options in the
> Linux kernel which need to be disabled or enabled for the Xen kernels?
> Why not just instruct the user to patch the kernel with the appropriate
> patches and to dis(en)able whatever options are necessary?

You can cd linux-2.6.11-xen0 and do "make ARCH=xen menuconfig" to configure.
You may want to copy your existing .config into that directory first.

Alternatively, stick your config under "dist/install/boot/config-2.6.11-xen0"
and it should get applied automatically.

Cheers,
Mark

> I would be much happier if the whole process was a little less automated
> yet more clear to the user (who if they are to the point of installing
> something like Xen, presumably also already have experience building a
> custom kernel).
>
> Anyhow, I already have the source for the customized kernel my machine
> is running in /usr/src/linux. I noticed that the kernels that Xen built
> did not include some required options for my machine (such as XFS
> filesystem support) so now I am totally confused.
>
> _______________________________________________
> Xen-users mailing list
> Xen-users@lists.xensource.com
> http://lists.xensource.com/xen-users

_______________________________________________
Xen-users mailing list
Xen-users@lists.xensource.com
http://lists.xensource.com/xen-users
Re: Confusion about Kernel in Installation process [ In reply to ]
So wrote Mark Williamson on Monday, 16 May 2005:
>
>
> The build process produces three images used to boot Xen domains:
>
> * xen.gz - Xen itself. You need to boot this in your grub.conf / menu.lst
> * vmlinuz-2.6.11-xen0 - a "domain 0" (host) enabled kernel. You need to pass
> this to Xen in your grub.conf / menu.lst
> * vmlinuz-2.6.11-xenU - a guest-only kernel. You can boot guest domains from
> this instead of using the -xen0 kernel. The only difference is it's slightly
> smaller because it includes only "virtual" drivers.
>

# find ./ -name vmlinuz-2.6.11-xenU* comes up empty. Although the
domain 0 kernel was built I cannot find anything that looks like a Linux
kernel image under the linux-2.6.11-xen-sparse tree. Could it be that my
build failed?



> > My question is: Why should the user not just patch the kernel with
> > whatever required patches there are and then compile the kernel himself?
> > The make script seems to be nice but unfortunately I have no idea what
> > it is actually doing. For example, are there specific options in the
> > Linux kernel which need to be disabled or enabled for the Xen kernels?
> > Why not just instruct the user to patch the kernel with the appropriate
> > patches and to dis(en)able whatever options are necessary?
>
> You can cd linux-2.6.11-xen0 and do "make ARCH=xen menuconfig" to configure.
> You may want to copy your existing .config into that directory first.
>
> Alternatively, stick your config under "dist/install/boot/config-2.6.11-xen0"
> and it should get applied automatically.
>


Here are the default values for Xen in the kernel config for domain 0:

[ ] Privileged Guest (domain 0) (NEW)
[ ] Physical device access (NEW)
[*] Grant table substrate for block drivers (NEW)
[*] Block-device frontend driver (NEW)
[*] Network-device frontend driver (NEW)
[ ] Pipelined transmitter (DANGEROUS) (NEW)
[ ] Block device tap driver (NEW)
[ ] Fake shadow mode (NEW)
[*] Scrub memory before freeing it to Xen (NEW)
Processor Type (X86) --->


For the kernel for domain 0 I would want to select "Privileged Guest"
and "Physical device access" (automatically selected when "Privileged
Guest" is selected)? For the kernels for virtual domains should these
two options not be selected?



_______________________________________________
Xen-users mailing list
Xen-users@lists.xensource.com
http://lists.xensource.com/xen-users
Re: Confusion about Kernel in Installation process [ In reply to ]
> # find ./ -name vmlinuz-2.6.11-xenU* comes up empty. Although the
> domain 0 kernel was built I cannot find anything that looks like a Linux
> kernel image under the linux-2.6.11-xen-sparse tree. Could it be that my
> build failed?

Strange... After a make world it should be in dist/install/boot/. What *is*
in that directory?

There shouldn't be any object files in the sparse tree. The
linux-2.6.11-xen[0U] trees (which are created during make dist) contain the
vmlinux files. If you make dist / world then the vmlinuz files will end up
in dist/install/boot/.

> For the kernel for domain 0 I would want to select "Privileged Guest"
> and "Physical device access" (automatically selected when "Privileged
> Guest" is selected)?

Yes, you need that so the kernel can host the drivers for your hardware
devices.

> For the kernels for virtual domains should these
> two options not be selected?

They don't *need* to be selected. If they are selected, however, the only
harm is a slightly larger kernel. There are no compatibility / security
issues here.

Cheers,
Mark

_______________________________________________
Xen-users mailing list
Xen-users@lists.xensource.com
http://lists.xensource.com/xen-users
Re: Confusion about Kernel in Installation process [ In reply to ]
On 5/16/05, Daniel <prosolutions@gmx.net> wrote:
> So wrote Mark Williamson on Monday, 16 May 2005:
> >
> >
> > The build process produces three images used to boot Xen domains:
> >
> > * xen.gz - Xen itself. You need to boot this in your grub.conf / menu.lst
> > * vmlinuz-2.6.11-xen0 - a "domain 0" (host) enabled kernel. You need to pass
> > this to Xen in your grub.conf / menu.lst
> > * vmlinuz-2.6.11-xenU - a guest-only kernel. You can boot guest domains from
> > this instead of using the -xen0 kernel. The only difference is it's slightly
> > smaller because it includes only "virtual" drivers.
> >
>
> # find ./ -name vmlinuz-2.6.11-xenU* comes up empty. Although the
> domain 0 kernel was built I cannot find anything that looks like a Linux
> kernel image under the linux-2.6.11-xen-sparse tree. Could it be that my
> build failed?
>
>
> > > My question is: Why should the user not just patch the kernel with
> > > whatever required patches there are and then compile the kernel himself?
> > > The make script seems to be nice but unfortunately I have no idea what
> > > it is actually doing. For example, are there specific options in the
> > > Linux kernel which need to be disabled or enabled for the Xen kernels?
> > > Why not just instruct the user to patch the kernel with the appropriate
> > > patches and to dis(en)able whatever options are necessary?
> >
> > You can cd linux-2.6.11-xen0 and do "make ARCH=xen menuconfig" to configure.
> > You may want to copy your existing .config into that directory first.
> >
> > Alternatively, stick your config under "dist/install/boot/config-2.6.11-xen0"
> > and it should get applied automatically.
> >
>
> Here are the default values for Xen in the kernel config for domain 0:
>
> [ ] Privileged Guest (domain 0) (NEW)
> [ ] Physical device access (NEW)
> [*] Grant table substrate for block drivers (NEW)
> [*] Block-device frontend driver (NEW)
> [*] Network-device frontend driver (NEW)
> [ ] Pipelined transmitter (DANGEROUS) (NEW)
> [ ] Block device tap driver (NEW)
> [ ] Fake shadow mode (NEW)
> [*] Scrub memory before freeing it to Xen (NEW)
> Processor Type (X86) --->
>
> For the kernel for domain 0 I would want to select "Privileged Guest"
> and "Physical device access" (automatically selected when "Privileged
> Guest" is selected)? For the kernels for virtual domains should these
> two options not be selected?

Try the command below, instead:

# find . -name "vmlinu*"

As for the domU kernel, do not forget to enable modules of iptables
if you are going to use it, because they are disabled by default.

--
Bye,
Fernando Maior
LPIC/1 31908

_______________________________________________
Xen-users mailing list
Xen-users@lists.xensource.com
http://lists.xensource.com/xen-users
Re: Confusion about Kernel in Installation process [ In reply to ]
So wrote Mark Williamson on Monday, 16 May 2005:
> Date: Mon, 16 May 2005 19:35:42 +0100
> From: Mark Williamson <mark.williamson@cl.cam.ac.uk>
> To: xen-users@lists.xensource.com, prosolutions@gmx.net
> Subject: Re: [Xen-users] Confusion about Kernel in Installation process
> User-Agent: KMail/1.8
> Organization: University of Cambridge
>
> > # find ./ -name vmlinuz-2.6.11-xenU* comes up empty. Although the
> > domain 0 kernel was built I cannot find anything that looks like a Linux
> > kernel image under the linux-2.6.11-xen-sparse tree. Could it be that my
> > build failed?
>
> Strange... After a make world it should be in dist/install/boot/. What *is*

Oops. I thought it would be under ...arch/xen/boot/ Yes I see it in
dist/install/boot/




Thanks for all your help!

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