These instructions assume you have already installed Fedora 11, and can successfully run the normal kernel version (2.6.30.9-102.fc11) on your system.
Download and install the appropriate modified RPMs for your hardware. Generally, you need only install the kernel and firmware RPMs. The devel and/or header RPMs may be needed if you have device drivers or other kernel extensions that need to be rebuilt. (For the curious, there are no actual changes in the firmware, devel or header RPMs, but to satisfy RPM dependency tracking, they are supplied here.)
Please be aware that this is early code, which is still undergoing testing and debugging. Expect some updates to this code over the next few weeks.
sudo rpm -ivh kernel-PAE-2.6.30.9-102.usgtest.2.fc11.i686.rpm kernel-firmware-2.6.30.9-102.usgtest.2.fc11.i686.rpm
If your hardware falls out of the categories above, you will have to build the appropriate kernel from source. Here is the source package:
kernel-2.6.30.9-102.usgtest.2.fc11.src.rpmTo build and install the kernel, complete instructions are available here:
http://fedoraproject.org/wiki/Docs/CustomKernelbut in most cases, this brief summary should suffice:
sudo yum install yum-utils rpmdevtools
rpmdev-setuptree
(download kernel-2.6.30.9-102.usgtest.2.fc11.src.rpm)
sudo yum-builddep kernel-2.6.30.9-102.usgtest.2.fc11.src.rpm
(install any needed packages)
rpm -Uvh kernel-2.6.30.9-102.usgtest.2.fc11.src.rpm
cd ~/rpmbuild/SPECS
rpmbuild -bb --with baseonly --with firmware --without debuginfo --target=`uname -m` kernel.spec
cd ~/rpmbuild/RPMS/(arch)
sudo rpm -ivh kernel*usgtest*rpm
(You can be more selective, if desired.)
SOURCES/linux-2.6-ipv6-usgtest.patchMore precisely, you need the linux-2.6-ipv6-usgtest.patch set in its entirety, while for config-generic, you need only apply this patch:
SOURCES/config-generic
SPECS/kernel.spec
*** config-generic.orig Fri Dec 11 09:20:24 2009 --- config-generic Thu Dec 10 14:04:05 2009 *************** *** 797,802 **** --- 797,803 ---- CONFIG_IPV6_MULTIPLE_TABLES=y CONFIG_IPV6_MROUTE=y CONFIG_IPV6_PIMSM_V2=y + CONFIG_IPV6_USGTEST=y CONFIG_RDS=m # CONFIG_RDS_DEBUG is not setAnd for the kernel.spec, you need only apply these patches:
*** kernel.spec.orig Fri Dec 11 09:24:11 2009 --- kernel.spec Fri Dec 11 08:07:13 2009 *************** *** 15,21 **** # that the kernel isn't the stock distribution kernel, for example, # by setting the define to ".local" or ".bz123456" # ! #% define buildid .local # fedora_build defines which build revision of this kernel version we're # building. Rather than incrementing forever, as with the prior versioning --- 15,21 ---- # that the kernel isn't the stock distribution kernel, for example, # by setting the define to ".local" or ".bz123456" # ! %define buildid .usgtest.2 # fedora_build defines which build revision of this kernel version we're # building. Rather than incrementing forever, as with the prior versioning *************** *** 844,849 **** --- 844,852 ---- # rhbz#544144 [bbf31bf18d34caa87dd01f08bf713635593697f2] Patch16472: ipv4-fix-null-ptr-deref-in-ip_fragment.patch + # ipv6 usgtest testing hooks + Patch66666: linux-2.6-ipv6-usgtest.patch + %endif BuildRoot: %{_tmppath}/kernel-%{KVERREL}-root *************** *** 1586,1591 **** --- 1589,1597 ---- # rhbz#544144 ApplyPatch ipv4-fix-null-ptr-deref-in-ip_fragment.patch + # ipv6 usgtest testing hooks + ApplyPatch linux-2.6-ipv6-usgtest.patch + # END OF PATCH APPLICATIONS %endifBe advised that some work will no doubt be required to get these patches properly applied to other kernel versions. The more distant your version is from the source version (2.6.30.9-102), the more problems you can anticipate.
Edit /boot/grub/grub.conf. Change as desired, though you'll probably want to change the timeout to some non-zero value (say, 5) and comment out the hiddenmenu line.
After rebooting, open up a shell, and do the following:
$ uname -aThis should return a line with "usgtest" in the kernel version.
$ cd /proc/sys/net/ipv6/usgtestThis should work :) and the directory should have a number of entries in it:
$ ls
bad_version icmp_code_solicitation multiple_options icmp_code_dad_neighbor icmp_type_frag_length odd_frag_lengths icmp_code_redirect icmphdr_alt prefix_lifetimeYou now can (as root) alter these values as needed for testing. For the meaning of these entries, see the design documentation.