For problems or questions, please e-mail lkst-develop@lists.sourceforge.net
For bugs, please submit a bug via the project page:

http://sourceforge.net/projects/lkst/


Prerequisites
=============

1. Linux Kernel State Tracer software:
   lkst-2.2.1.tar.gz and lkstpatchset-2.2.1-for-2.6.8.1.tar.gz 
   can be downloaded from the project page.

2. Linux kernel version 2.6.8.1
   linux-2.6.8.1.tar.bz2 can be downloaded from
     ftp://ftp.kernel.org/pub/linux/kernel/v2.6/

!ATTENTION!
   For kernel modules of Linux 2.6, you need new module-init-tools.
   The latest version of module-init-tools can be downloaded from
     ftp://ftp.kernel.org/pub/linux/utils/kernel/module-init-tools/


Installation
============

1) Prepare archives
------------------------------------------------------------
1. cd $(SOMEWHERE_LKST)

2. Untar the LKST archive
    tar -xzf  lkst-2.2.1.tar.gz
    
3. Untar this patchset into the LKST's directory.
    tar -xzf  lkstpatchset-2.2.1-for-2.6.8.1.tar.gz -C lkst-2.2.1/

4. Replace the original patchset
    mv lkst-2.2.1/patches lkst-2.2.1/patches-orig
    mv lkst-2.2.1/patches-2.6.8.1 lkst-2.2.1/patches

5. cd $(SOMEWHERE_KERNEL)

6. Untar Linux kernel source
    tar -xjf  linux-2.6.8.1.tar.bz2

2) Build and Install Kernel patch for kernel versions 2.6.8.1
-----------------------------------------------------------------
1. Login as root

2. Issue a command to apply a series of patches to the kernel source.
     cd $(SOMEWHERE_LKST)/lkst-2.2.1/
     make patch KPRESRC=$(SOMEWHERE_KERNEL)/linux-2.6.8.1
     or
     ./scripts/enpatch.sh $(SOMEWHERE_KERNEL)/linux-2.6.8.1
     
     After that, answer following questions.

     Apply preassigned page table patch (if not, apply vmsync patch automatically) (Y)es/(N)o? [Y]
     Apply early boot-time tracing patch(optional) (Y)es/(N)o? [Y]
     Apply extra event set patch(optional) (Y)es/(N)o? [Y]
     Apply ignore hooks placed in inline-functions patch(optional) (Y)es/(N)o? [Y]

     If you'd like fullset of LKST, answer "y" for all questions.

     (*) The order of patches and details are described in Appendix A.

3. Build kernel
    a. Kernel Configuration
       cd $(SOMEWHERE_KERNEL)/linux-2.6.8.1
       make menuconfig

    b. (i386 only) Under "Processor type and features"
      i. Select "64GB" for "High Memory Support"
      or
      i. Select "y" for "Assign page tables for non-contiguous mapped area on boot"
     ii. Select "n" for "Use register arguments"
    c. Under "Kernel hacking", select the following:
      i. Select "y" for "Kernel debugging".
     ii. Select "y" for "Kernel Hook Support".
    iii. Select "y" for "Magic SysRq key". (optional)
     iv. Select "m" for "Kernel State Tracing (LKST)".
      v. Configure other kernel config settings as needed.
    d. Save and Exit
    e. make modules bzImage

4. Install kernel modules and the kernel
   make modules_install
   make install

5. If you use lilo, run /sbin/lilo to read modified lilo.conf
   or If you use the Fedora Core or the Red Hat distributions,  you may fix
   grub.conf to give the new kernel a root partition as a device file path
   (ex. /dev/hda1 ) instead of a label format (ex. "LABEL=/") .

6. reboot


3) Tools and Addons
------------------------------------------------------------
You can use lkstutils and lkstaddons for LKST-2.2.1.

==============================================================
COPYRIGHT (C) HITACHI,LTD. 2001-2004
COPYRIGHT (C) FUJITSU,LTD. 2001-2004
==============================================================
