[Pkg-xen-devel] unmodified_drivers DKMS package

Andrew Lyon andrew.lyon at gmail.com
Wed Apr 14 19:28:17 UTC 2010


Some thoughts I've had about this;

There isn't a huge difference between the unmodified drivers in xen-3
and xen-4 suse src.rpm's or xensource trees, what changes there are
look like they would be backwards compatible, so we should use the
xen4 code.

I believe the drivers should work on xen systems running both pv_ops
and classic dom0, is that correct?

Compiling the drivers as modules isn't a great solution, I've tried it
and I found that the vbd takes sufficient time to initialize that the
kernel will fail to mount the root filesystem, root_wait does not help
because the first root filesystem is the initrd, I had to add a 3
second sleep to the initrd script, but that could still fail if the
xen host is under load, it would be far better to compile them into
the kernel and use root_wait.

Vanilla kernel.org includes some of the headers etc required to
compile the drivers, would upstream accept the additional code
necessary to build them without a external xen or xenified kernel
source tree? Much of it is probably already in the pv_ops dom0
trees...

The vbd driver creates old style /dev/hdX devices, would uostream
accept that or would it have to be ported to create libata/scsi style
/dev/sdX devices?

Andy

On 4/14/10, Pasi Kärkkäinen <pasik at iki.fi> wrote:
> On Wed, Apr 14, 2010 at 05:39:21AM -0700, C.J. Adams-Collier wrote:
>> On Wed, 2010-04-14 at 13:32 +0300, Pasi Kärkkäinen wrote:
>> > On Mon, Apr 12, 2010 at 08:58:53AM +0100, Ian Campbell wrote:
>> > > On Mon, 2010-04-12 at 10:00 +0300, Pasi Kärkkäinen wrote:
>> > > > On Sat, Apr 10, 2010 at 07:55:07AM +0100, Ian Campbell wrote:
>> > > > > On Fri, 2010-04-09 at 13:19 -0700, C.J. Adams-Collier wrote:
>> > > > > > Hey folks,
>> > > > > >
>> > > > > > I'd like to get a .deb of the unmodified_drivers put together.
>> > > > > > I just
>> > > > > > filed ITP, and I would love to have your help with it.
>> > > > > >
>> > > > > > http://wp.colliertech.org/cj/?p=653
>> > > > > >
>> > > > > > I've never built a kernel package before, nor have I used DKMS,
>> > > > > > so it's
>> > > > > > going to be a bumpy ride for me.
>> > > > > >
>> > > > > > Do any of you have experience with these tools?  Have you built
>> > > > > > the
>> > > > > > unmodified_drivers modules recently?  Would I be able to get
>> > > > > > this
>> > > > > > package into the xen-3 source package?
>> > > > > >
>> > > > > > http://packages.debian.org/source/sid/xen-3
>> > > > > >
>> > > > > > Looking forward to your responses,
>> > > > >
>> > > > > I already replied to the ITP but I guess it is worth repeating
>> > > > > myself in
>> > > > > this thread:
>> > > > >
>> > > > > > This would be very cool but: As far as I know the existing
>> > > > > > unmodified
>> > > > > > drivers (sometimes called PVonHVM drivers) do not work with the
>> > > > > > paravirt_ops kernel which will be in Squeeze.
>> > > > > >
>> > > > > > However, there is someone upstream who is working on making the
>> > > > > > PVonHVM functionality available directly in the upstream
>> > > > > > kernel.org
>> > > > > > tree so that, eventually, a separate set of additional drivers
>> > > > > > will
>> > > > > > not be required.
>> > > > >
>> > > > > I'd definitely confirm that you really are able to compile the
>> > > > > unmodified drivers by hand against the 2.6.32 kernel in Squeeze
>> > > > > before
>> > > > > digging into packaging anything up.
>> > > > >
>> > > >
>> > > > Novell has unmodified_drivers working for their 2.6.32 (SLES11 SP1)
>> > > > kernel.
>> > > > Their stuff is not pvops based.
>> > >
>> > > Those drivers would still need extracting from that 2.6.32 tree and
>> > > made
>> > > to work as an out of tree driver, either as a standalone driver pack
>> > > or
>> > > by updating the unmodified_drivers tree in xen-unstable.hg.
>> > >
>> > > Perhaps they could be ported across and incorporated into the Squeeze
>> > > kernel directly. This would be at the discretion of the debian-kernel
>> > > maintainers and the general rule is that the driver must be already
>> > > accepted upstream which these drivers are not.
>> > >
>> > > In any case I think my point, that someone needs to make this thing
>> > > work
>> > > at all before worrying about how to package it, still stands.
>> > >
>> > > Ian.
>> > >
>> >
>> > Andrew Lyon actually figured out how to build them.. would still need
>> > cleaning up
>> > to make the build process easier.
>> >
>> > -- Pasi
>> >
>>
>> Excellent news.  I found an email thread discussing this:
>>
>> http://lists.xensource.com/archives/html/xen-devel/2010-04/msg00502.html
>>
>> Hey there Andy,
>>
>> I'd like to fix the blog post to account for the problems you ran into.
>> I'd be willing to give you an account on the blog if you feel like doing
>> it yourself, but if you don't have the time, I can fix it up to address
>> the issues you've run into.
>>
>> http://wp.colliertech.org/cj/?p=653
>>
>> I'd also like to create a debian package of the drivers (the topic of
>> this thread).  I've filed intent to package, but haven't had a chance to
>> try building with the stock kernel yet.
>>
>> How close to the Debian source is the kernel you've performed this build
>> against, I wonder?  I hear rumors that the debian kernel has the SuSE
>> patches applied...
>>
>> http://download.opensuse.org/source/distribution/11.2/repo/oss/suse/src/xen-3.4.1_19718_04-2.1.src.rpm
>>
>> Can some of you on the pkg-xen-devel list give some hints?  I'll try to
>> compile the drivers using the source from sid as I have time.
>>
>
> Lenny's 2.6.26 -xen kernel is based on early version of Novell/SLES/OpenSuse
> xenlinux patches.
>
> Squeeze 2.6.32 -xen kernel is NOT based on Novell patches, it's based on
> pvops dom0 kernel.
>
> -- Pasi
>
>



More information about the Pkg-xen-devel mailing list