diff options
Diffstat (limited to 'pfinet/README')
-rw-r--r-- | pfinet/README | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/pfinet/README b/pfinet/README new file mode 100644 index 00000000..e96601f0 --- /dev/null +++ b/pfinet/README @@ -0,0 +1,55 @@ +The Hurd's pfinet server is based on networking code taken from +the Linux kernel sources, initially version 2.2.12 of Linux. +The subset of the Linux kernel sources used for pfinet is kept +in the linux-src subdirectory. + +This file describes the procedures for tracking new Linux kernel versions +and updating the Linux networking code in the Hurd CVS repository. + +The verbatim Linux kernel sources are kept on a vendor branch in CVS. To +simplify the process of importing and merging new versions, I have mostly +imported whole subdirectories of the linux source tree rather than just the +precise subset of files we are actually using. However, for the arch/*/lib +and include/asm-* subdirectories I have taken just the checksum files (the +only thing we use from the machine-dependent Linux code); and I have +removed the extraneous whole subdirectories within the include/linux and +include/net directories. It is my intention to leave the remaining +extraneous files in the CVS repository, but to include in the distributions +only the files we are actually using (they will be listed in the Makefile). +They could also be left on the vendor branch and removed from the trunk, but +I think that would have more disadvantages than advantages. + +The initial import was done with the following commands. It is crucial to +use `-I !' in the `cvs import' command because of the directory +linux-src/net/core/ ("core" is in CVS's default list of names to ignore). + +mkdir import-tmp +cd import-tmp +bunzip2 < linux-2.2.12.tar.bz2 | tar xf - linux/{'arch/*/lib/*checksum*','include/asm-*/checksum.h',include/{linux,net},net/{core,ipv4,ethernet}} +cd linux +rm -rf include/{net,linux}/*/ +cvs -d `cat ../../CVS/Root` import -I ! -ko -m "Import of Linux 2.2.12 subset (ipv4 stack and related)" hurd/pfinet/linux-src Linux Linux_2_2_12 + +It should work to repeat the same procedure with later versions to upgrade +the `Linux' vendor branch. Please import only verbatim official Linux +kernel sources, and stick to the tag name schema. If you don't already +know how to merge the new vendor release into the trunk and finish the +upgrade, then you probably should not be doing this anyway. + +On the main branch, only a few files within the linux-src tree are +modified, and those only lightly (the changes are described in ChangeLog). +Linux header files that are heavily modified or wholly replaced for use in +pfinet go into the glue-include/ subdirectory instead of modifying +linux-src files in place. Whole C source files can just be replaced with +new files in the top-level pfinet source directory. When modifications to +a file in linux-src are justified, the modifications should always be +conditionalized by #ifdef _HURD_. + + + -- Roland McGrath <roland@gnu.org> 2000-02-03 + +--- + +See <http://www.bddebian.com/~wiki/hurd/translator/pfinet/ipv6/> about IPv6 +support and <http://lists.gnu.org/archive/html/bug-hurd/2007-10/msg00014.html> +for some further details. |