Changes between Version 1 and Version 2 of GENIEducation/SampleAssignments/TcpAssignment/ExerciseLayout/KernelModv2


Ignore:
Timestamp:
12/10/13 15:38:30 (10 years ago)
Author:
sedwards@bbn.com
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • GENIEducation/SampleAssignments/TcpAssignment/ExerciseLayout/KernelModv2

    v1 v2  
    77 In this exercise, you will develop and evaluate a TCP congestion control module for the Linux kernel. Linux provides a pluggable interface for TCP congestion control, which allows named congestion control modules to manipulate its sending rate and reaction to congestion events. You have already used the reno and cubic modules, and in this exercise you will create one named exp. [[BR]]
    88 Linux kernel modules must be compiled against kernel source that matches the kernel into which the module will be loaded. In order to prepare your ProtoGENI host for kernel module development, follow these steps:
     9{{{
     10#!comment
    911 1. Comment out the line:
    1012 {{{
     
    1214 }}}
    1315 in the file ''/etc/yum.conf'', to allow yum to install kernel headers.
    14  2. Install the required packages with this command:
     16}}}
     17 1. Install the required packages with this command:
    1518 {{{
    1619 sudo yum install kernel-devel kernel-headers
    1720 }}}
    18  3. Fix up the kernel version in the installed headers to match the running kernel; this can be tricky, but these steps should handle it.
     21 2. Fix up the kernel version in the installed headers to match the running kernel; this can be tricky, but these steps should handle it.
    1922  (a) Find your kernel sources. They are in ''/usr/src/kernel'', in a directory that depends on the installed version. As of the time this handout was created, that directory is ''2.6.27.41-170.2.117.fc10.i686''. We will call this directory ''$KERNELSRC''.
    2023  (b) Identify your running kernel version by running ''uname -r''. It will be something like ''2.6.27.5-117.emulab1.fc10.i686''. The first three dotted components (''2.6.27'', in this case) are the major, minor, and micro versions, respectively, and the remainder of the version string (''.5-117.emulab.fc10.i686'') is the extraversion. Note the extraversion of your kernel.