Add new comment

Permalink

Failing to find an answer to the previous post question, I decided to build the kernel-rt on openSUSE 10.3 from scratch, and for documentation sake here goes the fine instructions:

  1. First you have to grab the latest kernel-source.src.rpm, either from the openSUSE build service (factory) if you want the bleeding edge latest or from the official update source repository, for example, the one I've just built takes this:

    http://download.opensuse.org/update/10.3/rpm/src/kernel-source-2.6.22.9-0.4.src.rpm

  2. Install the source package:
    # rpm -ivh kernel-source-2.6.22.9-0.4.src.rpm
  3. Unpack the supplied kernel source:
    # cd /usr/src
    # tar -jxf packages/SOURCES/linux-2.6.22.tar.bz2

    Rename the new kernel source tree directory to fit openSUSE standards.

    # mv linux-2.6.22 linux-2.6.22.9-0.4
  4. Unpack all the supplied patches. These are all the official kernel.org and the openSUSE ones including the most precious Ingo Molnar's realtime-preempt (-rt) ones too, all in the same package.
    # cd /usr/src/packages/SOURCES
    # for x in patches.*.tar.bz2; do tar -jxf $x; done
    
  5. Now comes that part where one has to find out which patch to apply and in what order. Just apply it all in one step with the following magic trick:
    # cd /usr/src/packages/SOURCES
    # for x in $(./guards $(./arch-symbols) RT  series.conf); do \
          patch -d /usr/src/linux-2.6.22.9-0.4 -p1  $x \
      done
    

    yes, take special note of the "RT" particle above, without it the kernel source tree won't be patched with Ingo's stuff.

  6. One word about kernel configuration: the openSUSE folks have one already packed, just copy it to the desired location:
    # cd /usr/src/packages/SOURCES
    # tar -jxf config.tar.bz2
    # cp config/i386/rt /usr/src/linux-2.6.22.9-0.4/.config
    

    that just makes a factory kernel-rt configuration available for the build that follows. Replace i386 by x86_64 if you're into a 64bit kernel.

  7. By this time you already have a proper kernel-rt source tree, fully patched as openSUSE knows best and ready for building with the usual manners.
    # cd /usr/src/linux-2.6.22.9-0.4
    # make oldconfig

    just in case you want to tweak some options,

    # make menuconfig
    

    now ready for the real work:

    # make -j3 all
    # make modules_install
    # make install
    

You know the rest of the drill: configure the bootloader, if not done already by make install, reboot into the new kernel and, voilá you now also need to build any external modules, namely the nvidia, the whole purpose this very post was setup ;)

Cheers.
--
rncbc aka Rui Nuno Capela

The content of this field is kept private and will not be shown publicly.

Markdown

  • Parses markdown and converts it to HTML.
  • Allowed HTML tags: <a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type='1 A I'> <li> <dl> <dt> <dd> <h2 id='jump-*'> <h3 id> <h4 id> <h5 id> <h6 id> <img src alt height width> <strike>
  • Lines and paragraphs break automatically.

Filtered HTML

  • Allowed HTML tags: <a href hreflang> <em> <strong> <cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <b> <i> <pre> <img src alt height width> <strike>
  • Lines and paragraphs break automatically.
  • Web page addresses and email addresses turn into links automatically.

Plain text

  • No HTML tags allowed.
  • Lines and paragraphs break automatically.
  • Web page addresses and email addresses turn into links automatically.
File attachments
Unlimited number of files can be uploaded to this field.
2 MB limit.
Allowed types: jpg jpeg gif png txt doc docx xls xlsx pdf ppt pps odt ods odp zip gz bz2 xz patch diff wav ogg flac ogv mp4 qtz.