[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

How to Install RT-FUTEX & RT-NPTL @ RedHat 9.0



How to Install RT-FUTEX & RT-NPTL @ RedHat 9.0

* Install Redhat 9.0
  a. Select OS type : Server
  b. Add Components:
      1) Development Tools
      2) Editors
     
* RT-Futex Related Software Packages Download
  a. rtfutex-2_5_67-6.patch:
     http://developer.osdl.org/dev/robustmutexes/
  b. rtfutex-test-6.tar.gz :
     http://developer.osdl.org/dev/robustmutexes/
  c. linux-2.5.67.tar.bz2  :
     http://www.kernel.org/pub/linux/kernel/v2.5/
  d. module-init-tools-0.9.12.tar.bz2 (If kernel modules needed)
    http://his.luky.org/ftp/mirrors/linux/kernel/people/rusty/modules/  
  e. Robert Love's Scheduler fix patch at: 
    http://lkml.org/archive/2003/6/19/157/

* Module-init-tools Building(If kernel modules needed)
  $ tar xjvf module-init-tools-0.9.12.tar.bz2
  $ cd module-init-tools-0.9.12
  $ ./configure
  $ make 
  $ make install

* RT-Futex Kernel Building
  $ mkdir rtfutex-0.6; cd rtfutex-0.6
  $ export KDIR=$(pwd)
  $ tar xjvf linux-2.5.67.tar.bz2 -C $KDIR
  $ cp rtfutex-2_5_67-6.patch $KDIR ; cd $KDIR/linux-2.5.67;
  $ patch -p0 < ../rtfutex-2_5_67-6.patch
  $ make menuconfig
     1) Select Preemptible Kernel
  $ make bzImage
  # Add the new built kernel image to the bootloader and reboot with
    it.

* Kernel Testing (Optional)
  # Boot the system with the new built kernel image
  $ tar xzvf rtfutex-test-6.tar.gz -C $KDIR
  $ cd $KDIR/rtfutex-test-6
  $ export KDIR=$(KDIR)/linux-2.5.67
  $ ./bin/aaaa  # if you wiped ./configure 
  $ ./configure --with-headers=$KDIR/include
  $ make
  $ make -C src run-tests > result
  $ grep AUTO-RUN result

* RT-NPTL Related Software Packages Download
  a. rtnptl-0.5.patch      :
     http://developer.osdl.org/dev/robustmutexes/
  b. rtnptl-test-0.5.tar.gz:
     http://developer.osdl.org/dev/robustmutexes/
  c. nptl-0.36.tar.bz2     : 
     http://people.redhat.com/drepper/nptl/
  d. glibc for nptl-0.36   :
     $ export CVSROOT=:pserver:sources.redhat.com/cvs
     $ cvs -z 9 co -d src -D "2003-04-15T15:50:00-0700" libc 

* RTNPTL Building
  $ mkdir rtnptl-0.5; cd rtnptl-0.5
  $ export DIR=$(pwd)
  # mv glibc for nptl-0.36 source dir as $DIR/src
  $ tar xjvf nptl-0.36.tar.bz2 -C $DIR/src
  $ cp rtnptl-0.5.patch $DIR
  $ cd $DIR/src/nptl
  $ patch -p1 < $DIR/rtnptl-0.5.patch

  # Build and install 'glibc w/ nptl-0.36 + rtnptl-0.5' to jailroot
  $ cd $DIR
  $ mkdir root
  $ export ROOT=$DIR/root
  $ mkdir build; cd build
  $ ../src/configure --prefix=$ROOT --disable-profile
                     --enable-add-ons=nptl \
                     --with-tls --with-headers=$KDIR/include 
  $ make -j2
  $ mkdir -p $ROOT/etc 
  $ touch $ROOT/etc/ld.so.conf
  $ make install    # **NOTE**: before running "make install",
                      double-check that a prefix has been given to 
                      "./configure". 
                      Otherwise,
                      you are risky of screwing up the original system 
                      (esp. glibc), for ever.
  $ cd $ROOT/include
  $ rm -rf linux asm asm-generic
  $ for d in $KDIR/include/{linux,asm,asm-generic}; 
    do ln -s $d .; 
    done
  # Include this Makefile.inc from your makefile to build
  # using the freshly compiled glibc and NPTL+RT patches.
  $ cat > $DIR/Makefile.inc  <<EOF
GLIBCROOT := $DIR
GLIBCDIR := $DIR/build
GLIBC_CFLAGS := -nostdinc \\
		-I/usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include \\
		-I\$(GLIBCROOT)/root/include{,/asm,/linux}
GLIBC_LDFLAGS := \$(GLIBCDIR)/nptl/libpthread.so.0 \\
        \$(GLIBCDIR)/libc.so.6 \\
-Wl,-rpath,\$(GLIBCDIR):\$(GLIBCDIR)/nptl:\$(GLIBCDIR)/elf,-dynamic-li
nker,\$(GLIBCDIR)/elf/ld-linux.so.2
CFLAGS += \$(GLIBC_CFLAGS)
LDFLAGS += \$(GLIBC_LDFLAGS)
export CFLAGS LDFLAGS
EOF 

* RTNPTL Tests Building (Optional)
  $ tar xzvf rtnptl-test-0.5.tar.gz -C $DIR
  $ cd $DIR/rtnptl-test-0.5 ; 
  $ cp ../Makefile.inc .
  $ make
  $ ./run.sh  


Good Luck !
Boris Hu
(Hu Jiangtao)
Intel China Software Lab
--------------------------------------
This email message contains solely 
my own personal views, and not 
necessarily those of my employer.
--------------------------------------




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]