[ General info | Step1 | Step2 | Step3 ]


 

 
Installing High-speed TCP-LP Linux kernel


 



General Info

There are 3 steps in installing HSTCP-LP in Linux. First, you have to install the Linux-2.4.22 kernel. Second, you have to install the Web 100 kernel by applying an appropriate patch. Third, you have to add the HSTCP-LP kernel. Detailed instructions on how to do the three steps are given below.


Top


Step 1: Installing Linux-2.4.22 kernel

The complete installation information could be found here. A shorter version is given below.

  1. Download linux-2.4.22.tar.gz
  2. #cd /usr/src
  3. #gunzip linux-2.4.22.tar.gz
  4. #tar -xvf linux-2.4.22.tar
  5. #cd linux-2.4.22

You should next configure your kernel setup depending on your hardware. Should you have any problems with this step, you may try using our configuration file (good_config) that supports minimum hardware options. However, there are no guarantees that it will work on your machine.

  1. #cp good_config config.save
  2. #make mrproper
  3. #cp config.save .config
  4. To load the configuration file, do #make menuconfig and go to the end of the menu and use the option Load an Alternative Configuration File and then pick the appropriate file (.config) and finally save the configuration when exiting the menu.
  5. #make dep
  6. #make clean
  7. #make bzImage
  8. #make modules
  9. #make modules_install
  10. #make install
  11. #cd /etc
  12. (grub.conf users) If you are using grub.conf file, then open grub.conf file and edit the line default=1 to default=0. In this way, after booting the machine, the default kernel version should be the 2.4.22 version. Also, check that your grub.conf have the following lines:
    title Red Hat Linux (2.4.22)
    root (hd0,0)
    kernel /vmlinuz-2.4.22 ro root=/dev/hda2
    initrd /initrd-2.4.22.img
  13. (lilo.conf users) If you are using lilo.conf, open lilo.conf file and edit by changing the default=linux line into default=linux-2.4.22  Next, add
    image=/boot/vmlinuz-2.4.22
    label=linux-2.4.22
    root=/dev/hda2
  14. Reboot the machine: #shutdown -r now


Top


Step 2: Installing Web 100 kernel

The complete Web 100 kernel installation information could be found here, and the right patch version is alpha 2.3 that could be found here. A shorter installation guide is given below.

  1. Download web100-2.3-200309121025.tgz
  2. #cd /usr/src/linux-2.4.22
  3. #gunzip web100-2.3-200309121025.tgz
  4. #tar -xvf web100-2.3-200309121025.tar
  5. #cp ./web100/web100-2.4.22-2.3-200309121025.patch .
  6. #patch -p3 < web100-2.4.22-2.2-200309121025.patch
  7. #cp .config config.save
  8. #make mrproper
  9. #cp config.save .config
  10. #make menuconfig
  11. To enable web100 features select the following options:
    Code maturity level options --->
    [*] Prompt for development and/or incomplete code/drivers
    Processor type and features --->
    [*] Symmetric multi-processing support (Select for SMPs only)
    Networking options --->
    [*] Web100 networking enhancements (NEW)
    [*] Web100: TCP statistics (NEW)
    [*] Web100: Net100 extensions (NEW)
    [*] Web100: netlink event notification service (NEW)
    (7) Web100: default winscale initial value (NEW)
  12. #make dep
  13. #make clean
  14. #make bzImage
  15. #make modules
  16. #make modules_install
  17. #make install
  18. #cd /etc
  19. (grub.conf users) If you are using grub.conf file, then open grub.conf file and edit the line default=1 to default=0. In this way, after booting the machine, the default kernel version should be the 2.4.22-web100 version. Also, check that your grub.conf have the following lines:
    title Red Hat Linux (2.4.22-web100)
    root (hd0,0)
    kernel /vmlinuz-2.4.22-web100 ro root=/dev/hda2
    initrd /initrd-2.4.22-web100.img
  20. (lilo.conf users) If you are using lilo.conf, open lilo.conf file and edit by changing the default=linux-2.4.22 line into default=linux-2.4.22-web100. Next, add
    image=/boot/vmlinuz-2.4.22-web100
    label=linux-2.4.22-web100
    root=/dev/hda2
  21. Reboot the machine: #shutdown -r now

The Linux-2.4.22-web100 is installed on your machine.

Optionally, you may install a shared library with a set of utilities (the userland - version 1.3), which allows the easy reading and manipulation of Web 100 instruments. Detailed userland installation instructions could be found
here.


Top


Step3: Installing HSTCP-LP kernel

All HSTCP-LP source files could be downloaded here. The HSTCP-LP installation guide is given below.

  1. #cd /usr/src/linux-2.4.22
  2. Edit Makefile and change line
    EXTRAVERSION = -web100
    into
    EXTRAVERSION = -web100-HSTCP-LP
  3. #cp sock.h /usr/src/linux-2.4.22/include/net/.
  4. #cp tcp_ecn.h /usr/src/linux-2.4.22/include/net/.
  5. #cp tcp.h /usr/src/linux-2.4.22/include/net/.
  6. #cp tcp_ipv4.c /usr/src/linux-2.4.22/net/ipv4/.
  7. #cp tcp_input.c /usr/src/linux-2.4.22/net/ipv4/.
  8. #cp tcp_output.c /usr/src/linux-2.4.22/net/ipv4/.
  9. #make dep
  10. #make clean
  11. #make bzImage
  12. #make modules
  13. #make modules_install
  14. #make install
  15. #cd /etc
  16. (grub.conf users) If you are using grub.conf file, then open grub.conf file and edit the line default=1 to default=0. In this way, after booting the machine, the default kernel version should be the 2.4.22-web100-HSTCP-LP version. Also, check that your grub.conf have the following lines:
    title Red Hat Linux (2.4.22-web100-HSTCP-LP)
    root (hd0,0)
    kernel /vmlinuz-2.4.22-web100-HSTCP-LP ro root=/dev/hda2
    initrd /initrd-2.4.22-web100-HSTCP-LP.img
  17. (lilo.conf users) If you are using lilo.conf, open lilo.conf file and edit by changing the default=linux-2.4.22-web100 line into default=linux-2.4.22-web100-HSTCP-LP. Next, add
    image=/boot/vmlinuz-2.4.22-web100-HSTCP-LP
    label=linux-2.4.22-web100-HSTCP-LP
    root=/dev/hda2
  18. Reboot the machine: #shutdown -r now

The Linux-2.4.22-web100-HSTCP-LP is installed on your machine.


Top


December, 2004, Aleksandar Kuzmanovic