Installation of TNOS

There are two releases of TNOS, so choose the proper set of instructions.

MS-DOS Installation

Installation under MS-DOS is very simple, but does require

To install TNOS/Dos:

  1. Pick a 'root' directory for TNOS to exist in (\nos, etc.)
  2. Create the 'root' directory with 'md'
  3. Copy the file into the 'root' directory
  4. Unzip the support files with 'pkunzip -d'
  5. Unzip the custom compiled executable file with 'pkunzip -d'
  6. Run 'tclsh' to create a base 'autoexec.nos' file for your needs
  7. Test it out, by typing 'tnos'

See these instructions on compiling your own copy of TNOS...

Unix Installation

Installation under Unix is very simple, but does require

The remainder of these instructions assume a Linux install. Your mileage may vary...

To install TNOS/Linux:

  1. Pick a 'root' directory for TNOS to exist in (/nos, /usr/local/nos, etc.)
  2. Create the 'root' directory with 'mkdir'
  3. Copy the Tnos-x.xx.tgz file into the 'root' directory
  4. Unzip the distribution file with 'gunzip Tnos-x.xx.tgz'
  5. Untar the distribution file with 'tar xvpf Tnos-x.xx.tgz'
  6. Run 'mksetup.tcl' to create a base 'autoexec.nos' file for your needs
  7. Test it out, by typing './tnos'

Before connecting TNOS/Linux to a TNC:

You should look in the /etc/rc.d directory and see if you have an rc.serial file. If you do, examine it, as it MAY need to have some changes made to it before the serial ports will be ready for use.

To connect TNOS/Linux to the Linux kernel:

  1. Add an attach line to the 'autoexec.nos' file for an interface to talk to the kernel, like:
           attach asy ttypf - slip linux 1024 1024 38400

    This adds an interface named 'linux' to TNOS, which it 'thinks' is a SLIP connection at 38400, but is actually a 'pseudo-terminal' link into the Linux kernel

  2. Now add the kernel side. The easiest way is to add this as a part of the Linux boot process. Since there are at least two different init programs in use on Linux, this can be done by either:

    Either way, you need something like the following example to connect the TNOS process to the Linux kernel, allowing a non-ampr and an ampr address for both sides of the link. Of course, you MUST supply your own addresses ;-)

    # Setup for TNOS/Linux gateway
    #  is the TNOS ampr IP address (
    # is the TNOS internet IP address (
    # is the linux box's AMPR IP address (
    # is the linux box's internet IP address (
    echo ""         # blank line
    echo "Initiating SLIP connection to TNOS/Linux..."
    /usr/net/bin/slattach -s 38400 -p slip /dev/ptypf &
    sleep 1         # allow time for slattach to catch up
    /usr/net/bin/ifconfig sl0 broadcast pointopoint \
          mtu 576
    /usr/net/bin/route add sl0
    /usr/net/bin/route add sl0
    /usr/net/bin/route add -net netmask gw

    NOTE: while other value probably CAN be used for MTU in the ifconfig line here and the 'attach' line in the autoexec.nos file, these are KNOWN to work.

  3. Then, execute the rc.tnos script from your favorite shell, and restart TNOS. To test, you should be able to ping TNOS from the kernel, and the kernel from TNOS. If you have difficulties at this point, check your interface netmasks and routing statements

Setting TNOS/Linux to come up automatically in it's own virtual console:

This example will use the 7th virtual console (tty7), that is selected with the <alt><f7> key combination. To use another console, you will need to change this example.

  1. Check to make sure that the tty7 console device exists, with a:
                  ls -la /dev/tty7

    You should see something like the following:

             crw-rw-rw-   1 root     system     4,   7 May 13 20:43 /dev/tty7

    If you do, skip the next step....

  2. Create the tty7 device with 'mknod /dev/tty7 c 4 7', then verify as described in the previous step.
  3. Verify that the 'startnos' file in your TNOS 'root' directory is set to use the proper 'root' directory. The 'cd' line may need to be modified.
  4. Add an entry to your /etc/inittab file. Since there are two different possible formats for this file, use the example below that resembles the existing lines in your inittab file:

    Also, note that you will need to change the pathlist for the startnos file, if you do not have '/nos' as your TNOS 'root' directory. If you have the first style of entry, look at the other entries at the '234' field. Some use '2345' or other combinations here. Look at the 'getty' line for tty2, and use the same value as in that entry, to be safe.

  5. Restart your init process (usually with 'init Q'), then <alt><f7> to get to it

Installing the source tree for TNOS/Linux also requires:

Compiling your own TNOS

Building the source tree for TNOS in either DOS or Linux is nearly identical.

  1. Read the 'README' file in the source code distribution
  2. Executute 'premake'
  3. Edit the file for any changes desired
  4. Execute 'make doeverything' Can't make it any easier! ;-)