Changes between Version 1 and Version 2 of GENIEducation/SampleAssignments/TcpAssignment/ExerciseLayout/KernelModv2
- Timestamp:
- 12/10/13 15:38:30 (10 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
GENIEducation/SampleAssignments/TcpAssignment/ExerciseLayout/KernelModv2
v1 v2 7 7 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]] 8 8 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 9 11 1. Comment out the line: 10 12 {{{ … … 12 14 }}} 13 15 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: 15 18 {{{ 16 19 sudo yum install kernel-devel kernel-headers 17 20 }}} 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. 19 22 (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''. 20 23 (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.