Tony's RTLinux 3.2-pre1 Installation Notes

RTLinux 3.2-pre1 on RH7.3 using the 2.4.19 kernel installation notes for Wobbegong.
Wobbegong has same motherboard chipset (including graphic, ethernet) as aoic.

Usually I recommend against suing pre-release software, but the H85 project purchase
a compaq which required a kernel > 2.4.18. At this thime 3.2-pre1 was available.
H85 had some trouble installing it on their machines, so I took a stap with wobbegong.

0. My installation based on
   "Open RTLinux V3.1 Installation notes from Gerhard Schlager "
   But I separate the steps: Install the correct kernel, reboot, check linux; then Install
   RTLinux to the new kernel.  This file are just my notes on what I did.

   The wobbegong has:
      700Mhz Intel celeron
      256 MB RAM
      Intel CA810E chipset (integrated video, sound).
      Intel PCI EtherExpress Pro100 82557 -> use eepro100 driver.

          a1 - swap
          a2 - / for RH7.3 2.4.4-rtl
          a3 - / for smokey_clone.
          a4 - / for RH7.3 2.4.4-rtl

      I backup and restored the wobbegong 2.4.4-rtl system on /dev/hda4.
      Will install 2.4.19 & rtl3.2-pre1 on /dev/hda4.

1. Changes to standard redhat 7.3 distrubtion.

   1.1 Install the kgcc compiler.

      Put RH disk 2 in the CD-ROM drive.
      # mount /mnt/cdrom
      # cd /mnt/cdrom/RedHat/RPMS
      # rpm -i compat-glibc-6.2-2.1.3.2.i386.rpm
      # rpm -i compat-egcs-6.2-1.1.2.16.i386.rpm

      This gives you the kgcc ( egcs-2.91.66).

   1.2 Perform package updates from http://apt.freshrpms.net using synaptic.

2. Get 2.4.19 kernel, Open RTLinux 3.1.

   Note: I save the downloaded files in /home/ao/stuff/rtl.v3.2-pre1/

   2.1. Get 2.4.19 kernel source:

   > ftp ftp.kernel.org
   user: ftp
   password: me@
   ftp> cd  pub/linux/kernel/v2.4/
   ftp> get linux-2.4.19.tar.bz2
   ftp> quit

   2.1. Get Open RTLinux 3.2 from ftp://ftp.rtlinux.at/pub/rtlinux.

   >ftp ftp.rtlinux.at
   user: ftp
   password: me@
   ftp> cd pub/rtlinux
   ftp> get rtlinux-3.2-pre1.tar.bz2
   ftp> quit


3. Installed the standard kernel to be used with RTLinux. I prefer to first
   compile & install the standard kernel before appling the RTL patches.

   3.1 Install kernel source:

   > su root
   # cd /usr/src
   # bunzip2 -c /home/ao/stuff/rtl.v3.2-pre1/linux-2.4.19.tar.bz2 | tar xvf -

   Make sure /usr/src/linux soft linux new kernel directory

      # cd /usr/src
      # rm linux
      # ln -s linux-2.4.19 linux

   3.2 Check that /usr/include/linux is a link to /usr/src/linux/include/linux
      (Need to fix on RH7.3).
      # cd /usr/include
      # rm -R -f linux
      # ln -s /usr/src/linux/include/linux

   3.3. Change makefile for kernel so it used kgcc compiler

   - edit /usr/src/linux/Makefile. Change the line
        CC    = $(CROSS_COMPILE)gcc
     to
        CC    = $(CROSS_COMPILE)kgcc

   3.4 configure & make kernel:

      # make oldconfig      <- make a .config file based on what is currently running.

      # make menuconfig

         1. From past RTL installation, I set this:

            Processor type and features
              Processor type and features -> your CPU type
              MTRR (Memory type range register) -> ENABLE
              Symmetric mulit-processing support -> ENABLE
            General setup -> Power Management support -> DISABLE
            File system -> NFS v3 -> ENABLE

         2. This document kickstart.pdf also tells you to do this:

            Code Maturity Level Options
               [*] Prompt for development and/or Incomplete code/drivers

            Loadable Module Support
               [ ] Set Version Information on all modules symbols

            Processor Type and feature
               Select EXACTLY your CPU or a generic low-end CPU (check "cat /proc/cpuinfo")

            File system
               [*] Reiserfs support
               [*] /dev file system support (EXPERIMENTAL)

            I did what kickstart.pdf said, except the Reiserfs support.

         3. Other email I found with suggestions:
            email1.txt  - Suggest checking that CONFIG_X86_IO_APIC is enabled.
            email2.txt  - Suggest using SMP rather that Uniprocessor.
            email3.txt  - Give a reference to the kickstart.pdf doc.

      Recompile kernel, modules & install

      # make dep
      # make clean
      # make install
      # make modules
      # make modules_install

      # reboot

4. Patch the kernel with the RTLinux Patch:

   4.1 unpack the downloaded files to /usr/src

   > su root
   # cd /usr/src
   # bunzip2 -c /home/ao/stuff/rtl.v3.2-pre1/rtlinux-3.2-pre1.tar.bz2 | tar xvf -

   4.2 Need to patch the standard kernel to use with RTLinux. First do a dry-run and
   inspect the log file. If everthing look good do the patch for real

   # cd /usr/src/linux
   # patch -p1 --dry-run < ../rtlinux-3.2-pre1/patches/kernel_patch-2.4.19-rtl3.2-pre1 > log.patch
   # patch -p1 < ../rtlinux-3.2-pre1/patches/kernel_patch-2.4.19-rtl3.2-pre1 > log.patch

   4.3 Prepare to recompile the kernel. Save your .config before doing make mrproper.
       The make oldconfig create a new .config based on the running kernel. Your can
       compare this file again my_config.

   cp .config my_config
   make mrproper
   make oldconfig
   diff .config my_config

   4.7 Recompile kernel, modules & install

   # make dep
   # make clean
   # make install
   # make modules
   # make modules_install

   # reboot

5. Install/Make RT Linux.

   5.1. Install RTlinux, first make a symbolic links:

   # cd /usr/src
   # ln -s rtlinux-3.2-pre1 rtlinux
   # cd rtlinux
   # ln -s ../linux linux

   5.2 Make RTLinux

   # cd /usr/src/rtlinux
   # make menuconfig
       
   # make dep
   # make
   # make devices


   5.3 Configure so that RTLinux modules are loaded at boot time.
       Add these line to /etc/rc.d/rc.local install rtl modules at boot time.

      #-----------------------------------------
      echo "Installing RTLinux Modules ... "
      sleep 1
      insmod /usr/src/rtlinux/modules/rtl.o
      insmod /usr/src/rtlinux/modules/rtl_time.o
      insmod /usr/src/rtlinux/modules/rtl_sched.o
      insmod /usr/src/rtlinux/modules/rtl_posixio.o
      insmod /usr/src/rtlinux/modules/rtl_fifo.o
      insmod /usr/src/rtlinux/modules/mbuff.o


--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
IMPORTANT: I tried this installation on wobbegong on 2.14.2003.
  H85RT could get 3.2pre1 to work, so I tried on wobbegong.
  As soon as I load rtl.o the system crashes.