From aswNS@hampTue Jul 9 20:05:09 1996 Date: Mon, 22 Apr 1996 16:13:00 -0400 (EDT) From: Albert S Woodhull Reply to: awoodhull@hampshire.edu To: bbsady@ELLIS.UCHICAGO.EDU Subject: Re: Minix Networking Problems On Mon, 22 Apr 1996 bbsady@ELLIS.UCHICAGO.EDU wrote: > I recently installed Minix on my 286, and despite my reading of the > literature, I am at a complete loss for how to go about the loading of > the appropriate drivers, &c. for my network connection. The machine is I hope I interpret your question correctly: I don't sense that you have recompiled to make a network-capable system. That's the first part. I wrote the following not very long ago. I'd appreciate feedback as to whether it is correct and useful. Albert S. Woodhull Hampshire College, Amherst, MA awoodhull@hampshire.edu ---------------------------- Date: Sun, 14 Apr 1996 20:47:18 GMT Reply-To: INFO-MINIX@UDEL.EDU Sender: Minix operating system From: Albert S Woodhull Organization: Hampshire College, Amherst MA Subject: Re: Minix HOWTOs Comments: To: info-minix@udel.edu On 13 Apr 1996 20:27:31 -0700 Jason A. Wells (jawells@crl.com) wrote in comp.os.minix: > Are there any HOWTO type documents for building tcp/ip into > the kernel? Any pointers and tips would be much appreciated. I think you will find all the info you need in the man pages, mostly in usage(8). But I do agree there should be some HOWTO documents for Minix. I hope there will be time to get some together for the 2.0 release. Meanwhile I think your question definitely qualifies as a FAQ, and I will try to throw together a FAQ entry based on that. Here are a few things for starters, you can help me on this by giving me feedback on what isn't clear here, or additional questions that arise. Q: How do I build TCP/IP support into the kernel? A: Actually, the changes to the kernel itself are small. The ethernet driver code is compiled and the kernel is enabled to communicate with the INET server, which runs outside of the kernel with the same priority as the MM and FS servers. To compile a network-capable Minix system you must edit /usr/include/minix/config.h. as described below and then cd to /usr/src/tools and type "make". A new Minix system will be created as /usr/src/tools/image. The new system will include the inet server. The minimum change to config.h is to set ENABLE_NETWORKING to 1. If you want to be able to do remote logins with rlogin or telnet you need to change NR_PTYS to a value greater than zero. If two or more users are likely to be active at once you may need to increase NR_PROCS from its default value of 32. NR_PTYS 8 and NR_PROCS 64 seems to work well for a system that has two or three users logged in at the same time. These changes will increase the size of the kernel, and if you are compiling for a system with limited memory you might want to first try a system with no ptys and only the default 32 processes. Once the new system image is compiled you can move it to the root directory as /minix.net. Then you can test it by specifying image=minix.net at the boot manager prompt. If it works correctly you can either rename it as /minix or save the image boot parameter. If you have limited memory you may want to keep the original system image available to boot when you want to do something that requires a lot of memory, like recompiling a system. There are a few more steps after compiling before you can use the network capabilities. 1. In /dev you probably already have /dev/eth, /dev/ip, /dev/tcp, and /dev/udp defined, but if they are missing you need to create them with MAKEDEV. If you have set NR_PTYS to a number greater than 0 you should also create /dev/ttyp0, /dev/ptyp0, etc., with MAKEDEV. 2. In order for the ethernet driver to be enabled you must add to the boot parameters a line like DPETH0=on or DPETH0=I/O-addr:irq:mem-addr. The first form can be used if the ethernet adapter uses the default settings of 280:3:d0000. If the defaults are used serial line two will be disabled, since it also needs IRQ 3. A setting of 280:5:d0000 is recommended if IRQ 5 is free, which is usually the case on AT-class machines. Of course the ethernet card must be set up for the parameters you tell Minix. 3. Finally, you may want to review the network initialization performed by /etc/rc. The default /etc/rc is suitable for a Minix system running on a large network with sophisticated servers available, and in this context it allows a Minix system to discover its own name and address without any editing of the configuration files. This is very useful for a university laboratory where a large number of Minix systems may be in use, but it is not optimal for a small network with a few small systems, all of which may not be operating all the time. On a system with limited memory it is also useful to reduce the number of network daemons that are started. Albert S. Woodhull Hampshire College, Amherst, MA awoodhull@hampshire.edu =========================================================================