building unmodified_drivers

This is the gist of it:

$ cd /usr/src/
# $ sudo chmod a+rwx .
$ wget ftp://ftp.suse.com/pub/projects/kernel/kotd/SLE11_BRANCH/src/kernel-source-2.6.27.39-0.0.0.25.15a4c6f.src.rpm
$ alien -tg kernel-source-2.6.27.39-0.0.0.25.15a4c6f.src.rpm
$ cd kernel-source-2.6.27.39
$ tar xfj linux-2.6.27.tar.bz2
$ for f in patches.*.tar.bz2; do
tar xfj $f || break;
done
$ for p in $(./guards x86_64 < series.conf); do
patch -d linux-2.6.27 -p1 < $p || break
done
$ cd linux-2.6.27
$ fakeroot make-kpkg debian
$ fakeroot make-kpkg build
$ sudo make install modules_install
$ cd /usr/src
$ hg clone http://xenbits.xen.org/xen-unstable.hg
$ cd xen-unstable.hg/unmodified_drivers/linux-2.6
$ XEN=/usr/src/xen-unstable.hg/xen XL=/usr/src/kernel-source-2.6.27.39/linux-2.6.27 ./mkbuildtree x86_64
$ make -C /usr/src/kernel-source-2.6.27.39/linux-2.6.27 M=$PWD modules
$ sudo make -C /usr/src/kernel-source-2.6.27.39/linux-2.6.27 M=$PWD modules_install

This entry was posted in debian, Free Software, linux, novell, Software, virtualization, xen. Bookmark the permalink.

7 Responses to building unmodified_drivers

  1. On non-Debian hosts, you can replace the following with make all:

    $ fakeroot make-kpkg debian
    $ fakeroot make-kpkg build

  2. Filippo Giunchedi says:

    is the chmod a+rwx /usr/src needed? doesn’t sound like a good idea to me

  3. Cheney. Ni says:

    Hello,

    I am using Xen 3.2.1 and Debian Lenny in Domain0.
    I have created a HVM DomainU which is also Debian Lenny now, but there is no NIC drivers. The unmodified_drivers is what I want?

    When I compile this, I use Debian source “/unmodified_drivers” and export XL=/debian/build/build_i386_xen_686/. After “make -C /lib/modules/2.6.26-2-686/build M=${PWD} modules”, it says:

    CC [M] unmodified_drivers/linux-2.6/balloon/balloon.o
    In file included from unmodified_drivers/linux-2.6/balloon/balloon.c:50:
    include/xen/interface/memory.h:32: error: expected specifier-qualifier-list before ‘GUEST_HANDLE’
    include/xen/interface/memory.h:53: warning: data definition has no type or storage class
    include/xen/interface/memory.h:53: warning: type defaults to ‘int’ in declaration of ‘DEFINE_GUEST_HANDLE_STRUCT’
    include/xen/interface/memory.h:53: warning: parameter names (without types) in function declaration
    include/xen/interface/memory.h:89: error: expected specifier-qualifier-list before ‘GUEST_HANDLE’
    include/xen/interface/memory.h:97: warning: data definition has no type or storage class
    include/xen/interface/memory.h:97: warning: type defaults to ‘int’ in declaration of ‘DEFINE_GUEST_HANDLE_STRUCT’
    include/xen/interface/memory.h:97: warning: parameter names (without types) in function declaration
    ……

    What am I wrong? Thanks for your help!!

    • I don’t have any Lenny machines available right now. I’ve approved your comment in case someone else has the time to look at it, though.

      • Cheney. Ni says:

        Sorry… Some of my posted messages disappeared. The unmodified_drivers is “$(xen-3-3.2.1)/unmodified_drivers/linux-2.6″ and “XL=$(linux-2.6-2.6.26)/debian/build/build_i386_xen_686/”.

        All I want is that a HVM has network, but I don’t know what is the problem… My domU setting is “vif = [ 'type=ioemu' ]“. Is there already the module for HVM’s NIC in the Debian Kernel? Could you give me some hits?

        Thanks very much again!!

Leave a Reply